name: Release Workflow on: push: tags: - '*' permissions: contents: write jobs: release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Nix uses: nixbuild/nix-quick-install-action@v30 - name: Restore and save Nix store + go modules uses: nix-community/cache-nix-action@v6 with: primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }} restore-prefixes-first-match: nix-${{ runner.os }}- gc-max-store-size-linux: 1G purge: true purge-prefixes: nix-${{ runner.os }}- purge-created: 0 purge-primary-key: never paths: | ~/.cache/go-build ~/go/pkg/mod - name: Build run: nix develop --command ts-build - name: Create release uses: softprops/action-gh-release@v2 with: files: |- build/**