|
@@ -0,0 +1,103 @@
|
|
|
|
+name: release
|
|
|
|
+
|
|
|
|
+on:
|
|
|
|
+ push:
|
|
|
|
+ tags:
|
|
|
|
+ - v*.*.*
|
|
|
|
+ - v*.*-Beta*
|
|
|
|
+ - v*.*-ExeBeta*
|
|
|
|
+ workflow_dispatch:
|
|
|
|
+
|
|
|
|
+jobs:
|
|
|
|
+ goreleaser:
|
|
|
|
+ runs-on: ubuntu-latest
|
|
|
|
+ steps:
|
|
|
|
+ - name: Checkout
|
|
|
|
+ uses: actions/checkout@v2
|
|
|
|
+ with:
|
|
|
|
+ fetch-depth: 0
|
|
|
|
+
|
|
|
|
+ - name: Setup npm
|
|
|
|
+ uses: bahmutov/npm-install@v1
|
|
|
|
+ with:
|
|
|
|
+ working-directory: frontend
|
|
|
|
+
|
|
|
|
+ - name: frontend install depandence
|
|
|
|
+ run: npm ci
|
|
|
|
+ working-directory: frontend
|
|
|
|
+
|
|
|
|
+ - name: frontend build
|
|
|
|
+ run: npm run build
|
|
|
|
+ working-directory: frontend
|
|
|
|
+
|
|
|
|
+ - name: Set up Go
|
|
|
|
+ uses: actions/setup-go@v2
|
|
|
|
+ with:
|
|
|
|
+ go-version: 1.17
|
|
|
|
+
|
|
|
|
+ - name: Run GoReleaser
|
|
|
|
+ uses: goreleaser/goreleaser-action@v2
|
|
|
|
+ with:
|
|
|
|
+ # either 'goreleaser' (default) or 'goreleaser-pro'
|
|
|
|
+ distribution: goreleaser
|
|
|
|
+ version: latest
|
|
|
|
+ args: release -f .goreleaser-ChineseSubFinder.yml --rm-dist
|
|
|
|
+ env:
|
|
|
|
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
+ BASEKEY: ${{ secrets.BASEKEY }}
|
|
|
|
+ AESKEY16: ${{ secrets.AESKEY16 }}
|
|
|
|
+ AESIV16: ${{ secrets.AESIV16 }}
|
|
|
|
+
|
|
|
|
+ buildx:
|
|
|
|
+ runs-on: ubuntu-latest
|
|
|
|
+ needs: goreleaser
|
|
|
|
+ steps:
|
|
|
|
+ - name: Checkout
|
|
|
|
+ uses: actions/checkout@v2
|
|
|
|
+
|
|
|
|
+ - name: Set Version
|
|
|
|
+ id: set-version
|
|
|
|
+ run: |
|
|
|
|
+ echo "::set-output name=version::${GITHUB_REF:10}"
|
|
|
|
+ echo "ReleaseTag=${GITHUB_REF:10}"
|
|
|
|
+
|
|
|
|
+ - name: Set up QEMU
|
|
|
|
+ uses: docker/setup-qemu-action@v2
|
|
|
|
+
|
|
|
|
+ - name: Set up Docker Buildx
|
|
|
|
+ uses: docker/setup-buildx-action@v2
|
|
|
|
+
|
|
|
|
+ - name: Login to DockerHub
|
|
|
|
+ uses: docker/login-action@v2
|
|
|
|
+ with:
|
|
|
|
+ username: ${{ secrets.DOCKER_USERNAME }}
|
|
|
|
+ password: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
+
|
|
|
|
+ # 当 tag 不包括 Beta 字样时
|
|
|
|
+ - name: Build Latest Image
|
|
|
|
+ if: "!contains(steps.set-version.outputs.version, 'Beta')"
|
|
|
|
+ uses: docker/build-push-action@v3
|
|
|
|
+ with:
|
|
|
|
+ context: docker
|
|
|
|
+ file: docker/Dockerfile
|
|
|
|
+ platforms: linux/amd64,linux/arm64,linux/arm/v7
|
|
|
|
+ push: true
|
|
|
|
+ tags: |
|
|
|
|
+ ${{ secrets.DOCKER_USERNAME }}/chinesesubfinder:${{ steps.set-version.outputs.version }}
|
|
|
|
+ ${{ secrets.DOCKER_USERNAME }}/chinesesubfinder:latest
|
|
|
|
+ build-args: |
|
|
|
|
+ VERSION=${{ steps.set-version.outputs.version }}
|
|
|
|
+
|
|
|
|
+ # 当 tag 包括 Beta 字样时
|
|
|
|
+ - name: Build Beta Image
|
|
|
|
+ if: contains(steps.set-version.outputs.version, 'Beta')
|
|
|
|
+ uses: docker/build-push-action@v3
|
|
|
|
+ with:
|
|
|
|
+ context: docker
|
|
|
|
+ file: docker/Dockerfile
|
|
|
|
+ platforms: linux/amd64,linux/arm64,linux/arm/v7
|
|
|
|
+ push: true
|
|
|
|
+ tags: |
|
|
|
|
+ ${{ secrets.DOCKER_USERNAME }}/chinesesubfinder:${{ steps.set-version.outputs.version }}
|
|
|
|
+ build-args: |
|
|
|
|
+ VERSION=${{ steps.set-version.outputs.version }}
|