name: build-weekly on: schedule: - cron: '0 8 * * 0' # 每周日 UTC 8:00 (北京时间 16:00) workflow_dispatch: # 支持手动触发 permissions: contents: read packages: write jobs: build: runs-on: ubuntu-latest env: GITEA_REGISTRY: gitea-http.gitea.svc.cluster.local:3000 steps: - name: Checkout run: | git init . git remote add origin "${GITHUB_SERVER_URL%/}/${GITHUB_REPOSITORY}.git" git -c http.extraheader="Authorization: token ${{ secrets.CHECKOUT_TOKEN }}" \ fetch --depth=1 origin "${GITHUB_SHA}" git checkout --force FETCH_HEAD - name: Set up QEMU (for multi-arch build) run: docker run --privileged --rm tonistiigi/binfmt --install all - name: Set up Docker Buildx run: | docker buildx create --use --driver docker-container --name builder 2>/dev/null || true docker buildx inspect --bootstrap - name: Login to internal Gitea Container Registry run: | echo "${{ secrets.CHECKOUT_TOKEN }}" | \ docker login "${GITEA_REGISTRY}" -u luochen570 --password-stdin - name: Build and push (multi-arch, via internal registry) run: | TAG_WEEKLY="weekly-$(date +%Y%m%d)" docker buildx build \ --platform linux/amd64,linux/arm64 \ --push \ -t "${GITEA_REGISTRY}/luochen570/luochen570-cli:latest" \ -t "${GITEA_REGISTRY}/luochen570/luochen570-cli:${TAG_WEEKLY}" \ .