name: Release on: pull_request: push: branches: - main concurrency: ${{ github.workflow }}-${{ github.ref }} jobs: nix-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: cachix/install-nix-action@v31 with: github_access_token: ${{ secrets.GITHUB_TOKEN }} - run: nix flake check release: name: Release runs-on: ubuntu-latest needs: nix-check if: github.event_name == 'push' && github.ref == 'refs/heads/main' permissions: contents: write pull-requests: write steps: - name: Checkout Repo uses: actions/checkout@v5 with: fetch-depth: 0 - name: Install Nix uses: cachix/install-nix-action@v31 with: github_access_token: ${{ secrets.GITHUB_TOKEN }} - name: Install Dependencies run: nix develop .#full --command pnpm install --frozen-lockfile - name: Create Release Pull Request or Publish id: changesets uses: changesets/action@v1 with: version: nix develop .#full --command pnpm run version publish: nix develop .#full --command pnpm run release commit: 'feat(release): version UTRP' title: 'feat(release): version UTRP' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SENTRY_ORG: longhorn-developers SENTRY_PROJECT: ut-registration-plus SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - name: Get UTRP Version and Tag if: steps.changesets.outputs.hasChangesets == 'false' id: version run: | VERSION=$(nix develop --command node -p "require('./package.json').version") echo "version=$VERSION" >> $GITHUB_OUTPUT echo "tag=v$VERSION" >> $GITHUB_OUTPUT - name: Create GitHub Release with Assets if: steps.changesets.outputs.hasChangesets == 'false' uses: softprops/action-gh-release@v2 with: tag_name: ${{ steps.version.outputs.tag }} name: Release ${{ steps.version.outputs.tag }} files: | package/ut-registration-plus-${{ steps.version.outputs.version }}.zip generate_release_notes: true draft: false prerelease: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}