diff --git a/.github/workflows/image-build.yml b/.github/workflows/image-build.yml index 1577c92..c5ffb4e 100644 --- a/.github/workflows/image-build.yml +++ b/.github/workflows/image-build.yml @@ -1,28 +1,43 @@ -name: Build and Push Docker Image +name: Docker Build on ZeroTier on: push: branches: - - master + - master # 当 master 分支有推送时触发 schedule: - - cron: '0 0 * * *' # 每天的 0 点执行 + - cron: '0 */6 * * *' # 每6小时检查一次 + workflow_dispatch: # 允许手动触发 jobs: - build: - runs-on: ubuntu-20.04 - + check-and-build: + runs-on: ubuntu-latest steps: - - name: Checkout repository - uses: actions/checkout@v2 + - name: Checkout code + uses: actions/checkout@v4 + + - name: Get latest Tailscale tag + id: get_tag + run: | + LATEST_TAG=$(curl -s https://api.github.com/repos/zerotier/ZeroTierOne/tags | jq -r '.[0].name') + echo "LATEST_TAG=${LATEST_TAG}" >> $GITHUB_ENV + echo "latest_tag=${LATEST_TAG}" >> $GITHUB_OUTPUT - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - - name: Log in to Docker Hub - uses: docker/login-action@v2 + - name: Login to Docker Hub + uses: docker/login-action@v3 with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} - - name: Build and push Docker image - run: ./build.sh + - name: Build and push tagged version + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: | + ${{ secrets.DOCKERHUB_USERNAME }}/zerotier-planet-test:latest + ${{ secrets.DOCKERHUB_USERNAME }}/zerotier-planet-test:${{ steps.get_tag.outputs.latest_tag }} + build-args: | + DERP_VERSION=${{ steps.get_tag.outputs.latest_tag }} \ No newline at end of file