name: Publish release on: push: tags: - 'v*.*.*' permissions: contents: write jobs: release: name: Release pushed tag runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 22.x - name: Clean install dependencies and build run: | npm ci npm run build - name: Create output zip run: cd build; zip -r ../fancy-gatus-${{ github.ref_name }}.zip * - name: Build changelog id: release uses: mikepenz/release-changelog-builder-action@v5 with: configuration: '.github/changelog-configuration.json' failOnError: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Publish release uses: softprops/action-gh-release@v2 with: name: Fancy Gatus ${{ github.ref_name }} body: ${{ steps.release.outputs.changelog }} files: fancy-gatus-${{ github.ref_name }}.zip fail_on_unmatched_files: true