diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index c648873e..dcb9dd4d 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -1,115 +1,87 @@ -name: build-image -on: - push: - branches: ['v2-dev'] - paths: - - "build.trigger" - -# schedule: -# - # 国际时间 19:17 执行,北京时间3:17 ↙↙↙ 改成你想要每天自动执行的时间 -# - cron: '17 19 * * *' -permissions: - contents: read - packages: write - -jobs: - build-certd-image: - runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - lfs: true - - - name: get_certd_version - id: get_certd_version - uses: actions/github-script@v6 - with: - result-encoding: string - script: | - const fs = require('fs'); - const path = require('path'); - const pnpmWorkspace = "./pnpm-workspace.yaml"; - fs.unlinkSync(pnpmWorkspace) - const jsonFilePath = "./packages/ui/certd-server/package.json"; - const jsonContent = fs.readFileSync(jsonFilePath, 'utf-8'); - const pkg = JSON.parse(jsonContent) - console.log("certd_version:",pkg.version); - return pkg.version -# - name: Use Node.js -# uses: actions/setup-node@v4 -# with: -# node-version: 18 -# cache: 'npm' -# working-directory: ./packages/ui/certd-client - - run: | - npm install -g pnpm - pnpm install - npm run build - working-directory: ./packages/ui/certd-client - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to aliyun container Registry - uses: docker/login-action@v3 - with: - registry: registry.cn-shenzhen.aliyuncs.com - username: ${{ secrets.aliyun_cs_username }} - password: ${{ secrets.aliyun_cs_password }} - - - name: Login to GitHub Packages - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.dockerhub_username }} - password: ${{ secrets.dockerhub_password }} - - - name: Build default platforms - uses: docker/build-push-action@v6 - with: - platforms: linux/amd64,linux/arm64 - push: true - context: ./packages/ui/ - tags: | - registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest - registry.cn-shenzhen.aliyuncs.com/handsfree/certd:${{steps.get_certd_version.outputs.result}} - greper/certd:latest - greper/certd:${{steps.get_certd_version.outputs.result}} - ghcr.io/${{ github.repository }}:latest - ghcr.io/${{ github.repository }}:${{steps.get_certd_version.outputs.result}} - - name: Build armv7 - uses: docker/build-push-action@v6 - with: - platforms: linux/arm/v7 - push: true - context: ./packages/ui/ - tags: | - registry.cn-shenzhen.aliyuncs.com/handsfree/certd:armv7 - registry.cn-shenzhen.aliyuncs.com/handsfree/certd:${{steps.get_certd_version.outputs.result}}-armv7 - greper/certd:armv7 - greper/certd:${{steps.get_certd_version.outputs.result}}-armv7 - ghcr.io/${{ github.repository }}:armv7 - ghcr.io/${{ github.repository }}:${{steps.get_certd_version.outputs.result}}-armv7 - -# - name: Build agent -# uses: docker/build-push-action@v6 -# with: -# platforms: linux/amd64,linux/arm64 -# push: true -# context: ./packages/ui/agent/ -# tags: | -# registry.cn-shenzhen.aliyuncs.com/handsfree/certd-agent:latest -# registry.cn-shenzhen.aliyuncs.com/handsfree/certd-agent:${{steps.get_certd_version.outputs.result}} -# greper/certd-agent:latest -# greper/certd-agent:${{steps.get_certd_version.outputs.result}} +name: build-image +on: + push: + branches: ['v2-dev'] + paths: + - "build.trigger" + +permissions: + contents: read + packages: write + +jobs: + build-certd-image: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + lfs: true + + - name: get_certd_version + id: get_certd_version + uses: actions/github-script@v6 + with: + result-encoding: string + script: | + const fs = require('fs'); + const path = require('path'); + const pnpmWorkspace = "./pnpm-workspace.yaml"; + fs.unlinkSync(pnpmWorkspace); + const jsonFilePath = "./packages/ui/certd-server/package.json"; + const jsonContent = fs.readFileSync(jsonFilePath, 'utf-8'); + const pkg = JSON.parse(jsonContent); + console.log("certd_version:", pkg.version); + return pkg.version; + + - name: Build Frontend + run: | + npm install -g pnpm + pnpm install + npm run build + working-directory: ./packages/ui/certd-client + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + # 只保留 Docker Hub 和 GitHub Packages 登录 + - name: Login to GitHub Packages + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.dockerhub_username }} + password: ${{ secrets.dockerhub_password }} + + - name: Build & Push (amd64/arm64) + uses: docker/build-push-action@v6 + with: + platforms: linux/amd64,linux/arm64 + push: true + context: ./packages/ui/ + tags: | + Ayakasuki/certd:latest + Ayakasuki/certd:${{ steps.get_certd_version.outputs.result }} + ghcr.io/${{ github.repository }}:latest + ghcr.io/${{ github.repository }}:${{ steps.get_certd_version.outputs.result }} + + - name: Build & Push (armv7) + uses: docker/build-push-action@v6 + with: + platforms: linux/arm/v7 + push: true + context: ./packages/ui/ + tags: | + Ayakasuki/certd:armv7 + Ayakasuki/certd:${{ steps.get_certd_version.outputs.result }}-armv7 + ghcr.io/${{ github.repository }}:armv7 + ghcr.io/${{ github.repository }}:${{ steps.get_certd_version.outputs.result }}-armv7 \ No newline at end of file diff --git a/.github/workflows/sync-to-gitee-dev.yml b/.github/workflows/sync-to-gitee-dev.yml deleted file mode 100644 index d893ac01..00000000 --- a/.github/workflows/sync-to-gitee-dev.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: sync-to-gitee-dev -on: - push: - branches: ['v2-dev'] -# schedule: -# - # 国际时间 19:17 执行,北京时间3:17 ↙↙↙ 改成你想要每天自动执行的时间 -# - cron: '17 19 * * *' -permissions: - contents: read - -jobs: - sync: - runs-on: ubuntu-latest - steps: - - name: Checkout work repo # 1. 检出当前仓库(certd-sync-work) - uses: actions/checkout@v4 - with: - fetch-depth: 0 - lfs: true - - name: Set git user # 2. 给git命令设置用户名和邮箱,↙↙↙ 改成你的name和email - run: | - git config --global user.name "xiaojunnuo" - git config --global user.email "xiaojunnuo@qq.com" - - - name: Set git token # 3. 给git命令设置token,用于push到目标仓库 - uses: de-vri-es/setup-git-credentials@v2 - with: # token 格式为: username:password - credentials: https://${{secrets.PUSH_TOKEN_GITEE}}@gitee.com - - - name: push to gitee # 4. 执行同步 - run: | - git remote add upstream https://gitee.com/certd/certd - git push --set-upstream upstream v2-dev - diff --git a/.github/workflows/sync-to-gitee.yml b/.github/workflows/sync-to-gitee.yml deleted file mode 100644 index f1eca2ab..00000000 --- a/.github/workflows/sync-to-gitee.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: sync-to-gitee -on: - push: - branches: ['v2'] -# schedule: -# - # 国际时间 19:17 执行,北京时间3:17 ↙↙↙ 改成你想要每天自动执行的时间 -# - cron: '17 19 * * *' -permissions: - contents: read - -jobs: - sync: - runs-on: ubuntu-latest - steps: - - name: Checkout work repo # 1. 检出当前仓库(certd-sync-work) - uses: actions/checkout@v4 - with: - fetch-depth: 0 - lfs: true - - name: Set git user # 2. 给git命令设置用户名和邮箱,↙↙↙ 改成你的name和email - run: | - git config --global user.name "xiaojunnuo" - git config --global user.email "xiaojunnuo@qq.com" - - - name: Set git token # 3. 给git命令设置token,用于push到目标仓库 - uses: de-vri-es/setup-git-credentials@v2 - with: # token 格式为: username:password - credentials: https://${{secrets.PUSH_TOKEN_GITEE}}@gitee.com - - - name: push to gitee # 4. 执行同步 - run: | - git remote add upstream https://gitee.com/certd/certd - git push --set-upstream upstream v2 -