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