store: Paper Dynasty Discord: Multi-Channel CI/CD Pipeline with docker-tags Composite Action
This commit is contained in:
parent
0378eea97a
commit
9a73e0a8fc
@ -0,0 +1,67 @@
|
|||||||
|
---
|
||||||
|
id: 8a1ffc11-7ad8-44d1-9cf3-47e886891ff1
|
||||||
|
type: workflow
|
||||||
|
title: "Paper Dynasty Discord: Multi-Channel CI/CD Pipeline with docker-tags Composite Action"
|
||||||
|
tags: [paper-dynasty-discord, ci-cd, docker, workflow, gitea-actions, composite-action]
|
||||||
|
importance: 0.8
|
||||||
|
confidence: 0.8
|
||||||
|
created: "2026-03-05T03:31:28.444195+00:00"
|
||||||
|
updated: "2026-03-05T03:31:28.444195+00:00"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Paper Dynasty Discord: Multi-Channel CI/CD Pipeline with docker-tags Composite Action
|
||||||
|
|
||||||
|
## Context
|
||||||
|
|
||||||
|
Updated the `paper-dynasty-discord` CI/CD workflow on the `feature/scouting` branch to use the new `docker-tags` composite action from the shared `cal/gitea-actions` repo.
|
||||||
|
|
||||||
|
## Before
|
||||||
|
|
||||||
|
Two separate conditional build steps — one for dev builds and one for production — with duplicated docker/build-push-action calls and hardcoded tag logic per step.
|
||||||
|
|
||||||
|
## After: Single-Pipeline Pattern
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# 1. Resolve tags via composite action
|
||||||
|
- name: Resolve Docker tags
|
||||||
|
id: tags
|
||||||
|
uses: cal/gitea-actions/docker-tags@main
|
||||||
|
with:
|
||||||
|
image: manticorum67/paper-dynasty-discordapp
|
||||||
|
version: ${{ steps.calver.outputs.version }}
|
||||||
|
sha_short: ${{ steps.sha.outputs.sha_short }}
|
||||||
|
|
||||||
|
# 2. Single build-push step using resolved tags
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
tags: ${{ steps.tags.outputs.tags }}
|
||||||
|
...
|
||||||
|
|
||||||
|
# 3. Gate release creation on stable channel only
|
||||||
|
- name: Create release
|
||||||
|
if: steps.tags.outputs.channel == 'stable'
|
||||||
|
...
|
||||||
|
|
||||||
|
# 4. Discord success notify — skip on dev
|
||||||
|
- name: Notify Discord
|
||||||
|
if: steps.tags.outputs.channel != 'dev'
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Trigger Branches
|
||||||
|
|
||||||
|
- `main` — stable channel (latest tag, calver tag, calver-sha tag)
|
||||||
|
- `next-release` — rc channel
|
||||||
|
- any other — dev channel
|
||||||
|
|
||||||
|
## Docker Image
|
||||||
|
|
||||||
|
`manticorum67/paper-dynasty-discordapp`
|
||||||
|
|
||||||
|
## Key Design Points
|
||||||
|
|
||||||
|
- `channel` output from docker-tags drives conditional logic downstream
|
||||||
|
- Build summary dynamically lists all tags from `steps.tags.outputs.tags`
|
||||||
|
- Only one build step regardless of branch — eliminates duplication
|
||||||
|
- Discord notify skipped entirely on dev channel to reduce noise
|
||||||
Loading…
Reference in New Issue
Block a user