diff --git a/.github/workflows/release-linux.yml b/.github/workflows/release-linux.yml index 950cd44..5a607c4 100644 --- a/.github/workflows/release-linux.yml +++ b/.github/workflows/release-linux.yml @@ -27,11 +27,11 @@ jobs: uses: actions/setup-go@v5 with: go-version: "1.23.x" - - name: Build Go for amd64 + - name: Build Backend for amd64 run: | go mod download - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w -X gpt-load/internal/version.Version=${{ github.ref_name }}" -o gpt-load - - name: Build Go for arm64 + go build -ldflags "-s -w -X gpt-load/internal/version.Version=${{ github.ref_name }}" -o gpt-load + - name: Build Backend for arm64 run: | CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags "-s -w -X gpt-load/internal/version.Version=${{ github.ref_name }}" -o gpt-load-arm64 - name: Release diff --git a/.github/workflows/release-macos.yml b/.github/workflows/release-macos.yml new file mode 100644 index 0000000..569eaec --- /dev/null +++ b/.github/workflows/release-macos.yml @@ -0,0 +1,43 @@ +name: Release Linux Build +permissions: + contents: write + +on: + push: + tags: + - "*" +jobs: + release: + runs-on: macos-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20.x" + cache: "npm" + cache-dependency-path: "web/package-lock.json" + - name: Build Frontend + run: VITE_VERSION=${{ github.ref_name }} npm install && npm run build + working-directory: ./web + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: "1.23.x" + - name: Build Backend + run: | + go mod download + go build -ldflags "-s -w -X gpt-load/internal/version.Version=${{ github.ref_name }}" -o gpt-load-macos + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + gpt-load-macos + draft: true + generate_release_notes: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml new file mode 100644 index 0000000..113e499 --- /dev/null +++ b/.github/workflows/release-windows.yml @@ -0,0 +1,46 @@ +name: Release Linux Build +permissions: + contents: write + +on: + push: + tags: + - "*" +jobs: + release: + runs-on: windows-latest + defaults: + run: + shell: bash + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20.x" + cache: "npm" + cache-dependency-path: "web/package-lock.json" + - name: Build Frontend + run: VITE_VERSION=${{ github.ref_name }} npm install && npm run build + working-directory: ./web + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: "1.23.x" + - name: Build Backend + run: | + go mod download + go build -ldflags "-s -w -X gpt-load/internal/version.Version=${{ github.ref_name }}" -o gpt-load.exe + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + gpt-load.exe + draft: true + generate_release_notes: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}