name: Publish release packages on: push: tags: ['v*', 'MediaStationGo-v*'] permissions: contents: write jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-go@v5 with: go-version: '1.25' cache: true - uses: actions/setup-node@v4 with: node-version: '20' cache: npm cache-dependency-path: web/package-lock.json - name: Build release packages run: ./scripts/package-release.sh env: VERSION: ${{ github.ref_name }} - name: Generate checksums run: | cd dist-release sha256sum * > SHA256SUMS.txt - name: Publish GitHub Release uses: softprops/action-gh-release@v2 with: files: | dist-release/*.tar.gz dist-release/*.zip dist-release/SHA256SUMS.txt generate_release_notes: true # GitHub immutable releases reject deleting/replacing existing assets. # Keep reruns idempotent by skipping same-name assets instead of # deleting them first. overwrite_files: false