Zum Inhalt springen

CI/CD-Vorlagen

Kopiere eine der folgenden Vorlagen in dein Projekt, um in unter einer Minute eine funktionierende semrel-Release-Pipeline zu erhalten. Jedes Snippet läuft bei Pushes auf deinen Standard-Branch und führt semrel release mit sinnvollen Standardwerten aus.

Verwendet die offizielle Composite Action — kein Node.js-Wrapper, lädt und baut einfach die Go-Binary für den Runner.

.github/workflows/release.yml
name: Release
on:
push:
branches: [main]
concurrency:
group: release
cancel-in-progress: false
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: SemRels/semrel@v0
id: semrel
with:
dry-run: 'false'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Use outputs
if: steps.semrel.outputs.released == 'true'
run: echo "Released ${{ steps.semrel.outputs.version }}"

Alle Vorlagen lesen dieselbe Konfigurationsdatei und berücksichtigen unabhängig von der CI-Plattform folgende Umgebungsvariablen:

VariableBeschreibung
SEMREL_TOKENToken, das von Provider-/Publisher-Plugins verwendet wird (Tags/Releases erstellen, Kommentare)
SEMREL_DRY_RUNAuf true setzen, um ein Release ohne Nebeneffekte zu simulieren
SEMREL_CONFIGÜberschreibt den Pfad zu .semrel.yaml

Siehe CI-Outputs für die Weiterverarbeitung der berechneten Version, des Tags und des Changelogs in nachgelagerten Schritten — sowohl für GitHub Actions als auch für GitLab CI.