name: Build nightly release permissions: contents: write on: release: types: [ published ] jobs: build-release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Check git version matches flake version shell: bash run: | if ! [ $(echo '${{ github.ref }}' | cut -d'v' -f 2) = $(grep '# CI:CD-VERSION$' flake.nix | cut -d'"' -f 2) ]; then echo "Version mismatch between Git and flake" exit 1 fi - name: Check version in code matches flake version shell: bash run: | if ! [ $(grep '// CI:CD-VERSION$' server/root-handler/handler.go | cut -d'"' -f 2) = $(grep '# CI:CD-VERSION$' flake.nix | cut -d'"' -f 2) ]; then echo "Version mismatch between code and flake" exit 1 fi - uses: cachix/install-nix-action@v27 with: github_access_token: ${{ secrets.GITHUB_TOKEN }} - name: Check Flake run: nix flake check - name: Set up Go uses: actions/setup-go@v5 with: go-version: stable - name: Run GoReleaser uses: goreleaser/goreleaser-action@v6 with: distribution: goreleaser version: "~> v2" args: release --clean env: GITHUB_TOKEN: ${{ secrets.GH_CONFIGLSP_TOKEN }}