Files
luochen570-cli/.gitea/workflows/build-weekly.yml

48 lines
1.5 KiB
YAML

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}" \
.