name: Release on: push: tags: - "v*" jobs: release: name: Build & publish runs-on: Linux-Runner timeout-minutes: 10 steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: '1.22' - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Cross-compile shell: bash run: | mkdir -p dist CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o "dist/judge-linux-amd64" ./cmd/cli CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o "dist/judge-windows-amd64.exe" ./cmd/cli - name: Build VS Code extension shell: bash run: | npm install -g @vscode/vsce cd editor/vscode-jdg vsce package -o "../../dist/jdg-language-${{ github.ref_name }}.vsix" - name: Create release uses: https://gitea.com/actions/gitea-release-action@main with: files: |- dist/judge-linux-amd64 dist/judge-windows-amd64.exe dist/jdg-language-${{ github.ref_name }}.vsix api_key: ${{ secrets.RELEASE_TOKEN }} title: ${{ github.ref_name }}