diff --git a/.github/workflows/private-docker.yml b/.github/workflows/docker-image.yml
similarity index 100%
rename from .github/workflows/private-docker.yml
rename to .github/workflows/docker-image.yml
diff --git a/.github/workflows/linux-release.yml b/.github/workflows/linux-release.yml
new file mode 100644
index 00000000..5dbd95d5
--- /dev/null
+++ b/.github/workflows/linux-release.yml
@@ -0,0 +1,54 @@
+name: Linux Release
+permissions:
+ contents: write
+
+on:
+ push:
+ tags:
+ - "*"
+ - "!*-alpha*"
+jobs:
+ release:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 16
+ - name: Build Frontend
+ env:
+ CI: ""
+ run: |
+ cd web
+ npm install
+ REACT_APP_VERSION=$(git describe --tags) npm run build
+ cd ..
+ - name: Set up Go
+ uses: actions/setup-go@v3
+ with:
+ go-version: ">=1.18.0"
+ - name: Build Backend (amd64)
+ run: |
+ go mod download
+ go build -ldflags "-s -w -X 'one-api/common.Version=$(git describe --tags)' -extldflags '-static'" -o one-api
+
+ - name: Build Backend (arm64)
+ run: |
+ sudo apt-get update
+ sudo apt-get install gcc-aarch64-linux-gnu
+ CC=aarch64-linux-gnu-gcc CGO_ENABLED=1 GOOS=linux GOARCH=arm64 go build -ldflags "-s -w -X 'one-api/common.Version=$(git describe --tags)' -extldflags '-static'" -o one-api-arm64
+
+ - name: Release
+ uses: softprops/action-gh-release@v1
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: |
+ one-api
+ one-api-arm64
+ draft: true
+ generate_release_notes: true
+ env:
+ GITHUB_TOKEN: ${{ secrets.GT_Token }}
diff --git a/.github/workflows/macos-release.yml b/.github/workflows/macos-release.yml
new file mode 100644
index 00000000..722df0a0
--- /dev/null
+++ b/.github/workflows/macos-release.yml
@@ -0,0 +1,45 @@
+name: macOS Release
+permissions:
+ contents: write
+
+on:
+ push:
+ tags:
+ - "*"
+ - "!*-alpha*"
+jobs:
+ release:
+ runs-on: macos-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 16
+ - name: Build Frontend
+ env:
+ CI: ""
+ run: |
+ cd web
+ npm install
+ REACT_APP_VERSION=$(git describe --tags) npm run build
+ cd ..
+ - name: Set up Go
+ uses: actions/setup-go@v3
+ with:
+ go-version: ">=1.18.0"
+ - name: Build Backend
+ run: |
+ go mod download
+ go build -ldflags "-X 'one-api/common.Version=$(git describe --tags)'" -o one-api-macos
+ - name: Release
+ uses: softprops/action-gh-release@v1
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: one-api-macos
+ draft: true
+ generate_release_notes: true
+ env:
+ GITHUB_TOKEN: ${{ secrets.GT_Token }}
diff --git a/.github/workflows/windows-release.yml b/.github/workflows/windows-release.yml
new file mode 100644
index 00000000..82b5aa1c
--- /dev/null
+++ b/.github/workflows/windows-release.yml
@@ -0,0 +1,48 @@
+name: Windows Release
+permissions:
+ contents: write
+
+on:
+ push:
+ tags:
+ - "*"
+ - "!*-alpha*"
+jobs:
+ release:
+ runs-on: windows-latest
+ defaults:
+ run:
+ shell: bash
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 16
+ - name: Build Frontend
+ env:
+ CI: ""
+ run: |
+ cd web
+ npm install
+ REACT_APP_VERSION=$(git describe --tags) npm run build
+ cd ..
+ - name: Set up Go
+ uses: actions/setup-go@v3
+ with:
+ go-version: ">=1.18.0"
+ - name: Build Backend
+ run: |
+ go mod download
+ go build -ldflags "-s -w -X 'one-api/common.Version=$(git describe --tags)'" -o one-api.exe
+ - name: Release
+ uses: softprops/action-gh-release@v1
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: one-api.exe
+ draft: true
+ generate_release_notes: true
+ env:
+ GITHUB_TOKEN: ${{ secrets.GT_Token }}
diff --git a/README.en.md b/README.en.md
index 1108e615..51eca781 100644
--- a/README.en.md
+++ b/README.en.md
@@ -16,11 +16,19 @@ _This project is a derivative of [one-api](https://github.com/songquanpeng/one-a
+
+
+
+
+
+