-
Notifications
You must be signed in to change notification settings - Fork 0
38 lines (34 loc) · 1.35 KB
/
Copy pathrelease.yml
File metadata and controls
38 lines (34 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
name: Release
# Tag-driven releases: a release PR bumps src/version.h + devsoak.readme
# through normal review/CI, then pushing the matching v<version> tag runs
# this. verify-version confirms the pushed tag actually matches those two
# files; release then delegates the build -> GitHub release -> Aminet-
# upload-behind-required-review pipeline to sidick/amiga-workflows'
# aminet-release.yml. The $VER-embedded-in-binary check lives in the
# Makefile's own `dist` target.
on:
push:
tags: ['v*']
jobs:
verify-version:
name: Verify tag matches src/version.h / devsoak.readme
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: ./scripts/verify-version.sh "${{ github.ref_name }}"
release:
name: Build, release, and (on approval) publish to Aminet
needs: verify-version
# A reusable workflow's own `permissions:` can only narrow, never
# widen, what the calling job already has - aminet-release.yml's
# `gh release create` step needs contents: write, so it has to be
# granted here too, not just relied on inside that workflow.
permissions:
contents: write
uses: sidick/amiga-workflows/.github/workflows/aminet-release.yml@v1
with:
tag: ${{ github.ref_name }}
project-name: devsoak
lha-path: dist/devsoak.lha
readme-path: dist/devsoak.readme
category: dev/misc