| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- name: Release (Linux, macOS, Windows)
- permissions:
- contents: write
- on:
- workflow_dispatch:
- inputs:
- name:
- description: 'reason'
- required: false
- push:
- tags:
- - '*'
- - '!*-alpha*'
- jobs:
- linux:
- name: Linux Release
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - uses: oven-sh/setup-bun@v2
- with:
- bun-version: latest
- - name: Build Frontend
- env:
- CI: ""
- run: |
- cd web
- bun install
- DISABLE_ESLINT_PLUGIN='true' VITE_REACT_APP_VERSION=$(git describe --tags) bun run build
- cd ..
- - name: Set up Go
- uses: actions/setup-go@v3
- with:
- go-version: '>=1.25.1'
- - name: Build Backend (amd64)
- run: |
- go mod download
- VERSION=$(git describe --tags)
- go build -ldflags "-s -w -X 'new-api/common.Version=$VERSION' -extldflags '-static'" -o new-api-$VERSION
- - name: Build Backend (arm64)
- run: |
- sudo apt-get update
- DEBIAN_FRONTEND=noninteractive sudo apt-get install -y gcc-aarch64-linux-gnu
- VERSION=$(git describe --tags)
- CC=aarch64-linux-gnu-gcc CGO_ENABLED=1 GOOS=linux GOARCH=arm64 go build -ldflags "-s -w -X 'new-api/common.Version=$VERSION' -extldflags '-static'" -o new-api-arm64-$VERSION
- - name: Release
- uses: softprops/action-gh-release@v2
- if: startsWith(github.ref, 'refs/tags/')
- with:
- files: |
- new-api-*
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- macos:
- name: macOS Release
- runs-on: macos-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - uses: oven-sh/setup-bun@v2
- with:
- bun-version: latest
- - name: Build Frontend
- env:
- CI: ""
- NODE_OPTIONS: "--max-old-space-size=4096"
- run: |
- cd web
- bun install
- DISABLE_ESLINT_PLUGIN='true' VITE_REACT_APP_VERSION=$(git describe --tags) bun run build
- cd ..
- - name: Set up Go
- uses: actions/setup-go@v3
- with:
- go-version: '>=1.25.1'
- - name: Build Backend
- run: |
- go mod download
- VERSION=$(git describe --tags)
- go build -ldflags "-X 'new-api/common.Version=$VERSION'" -o new-api-macos-$VERSION
- - name: Release
- uses: softprops/action-gh-release@v2
- if: startsWith(github.ref, 'refs/tags/')
- with:
- files: new-api-macos-*
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- windows:
- name: Windows Release
- runs-on: windows-latest
- defaults:
- run:
- shell: bash
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - uses: oven-sh/setup-bun@v2
- with:
- bun-version: latest
- - name: Build Frontend
- env:
- CI: ""
- run: |
- cd web
- bun install
- DISABLE_ESLINT_PLUGIN='true' VITE_REACT_APP_VERSION=$(git describe --tags) bun run build
- cd ..
- - name: Set up Go
- uses: actions/setup-go@v3
- with:
- go-version: '>=1.25.1'
- - name: Build Backend
- run: |
- go mod download
- VERSION=$(git describe --tags)
- go build -ldflags "-s -w -X 'new-api/common.Version=$VERSION'" -o new-api-$VERSION.exe
- - name: Release
- uses: softprops/action-gh-release@v2
- if: startsWith(github.ref, 'refs/tags/')
- with:
- files: new-api-*.exe
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|