diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bb947cd..ccf0a35 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,10 +13,11 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Checkout tolchain dependency + # tolchain은 GitHub에 위치 — vars.TOLCHAIN_GITHUB_REPO 에 "owner/tolchain" 형태로 설정 + - name: Checkout tolchain from GitHub uses: actions/checkout@v4 with: - repository: ${{ github.repository_owner }}/tolchain + repository: ${{ vars.TOLCHAIN_GITHUB_REPO }} path: ../tolchain - uses: actions/setup-go@v5 @@ -42,47 +43,43 @@ jobs: name: coverage path: coverage.out - # ── 2. Docker 빌드 & GHCR 푸시 (main 머지 시만) ─────────────────────────── + # ── 2. Docker 빌드 & Gitea 레지스트리 푸시 (main 머지 시만) ─────────────── docker: needs: test if: github.event_name == 'push' && github.ref == 'refs/heads/main' runs-on: ubuntu-latest - permissions: - contents: read - packages: write steps: - # Dockerfile이 context 루트에 tolchain/ + a301_server/ 를 기대하므로 - # 각각 하위 디렉토리로 체크아웃 - name: Checkout a301_server uses: actions/checkout@v4 with: path: a301_server - - name: Checkout tolchain dependency + # tolchain 없이는 Dockerfile이 빌드되지 않으므로 같은 레벨에 체크아웃 + - name: Checkout tolchain from GitHub uses: actions/checkout@v4 with: - repository: ${{ github.repository_owner }}/tolchain + repository: ${{ vars.TOLCHAIN_GITHUB_REPO }} path: tolchain - uses: docker/setup-buildx-action@v3 - uses: docker/login-action@v3 with: - registry: ghcr.io + registry: git.tolelom.xyz username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + password: ${{ secrets.GITEA_TOKEN }} - uses: docker/build-push-action@v5 with: context: . file: ./a301_server/Dockerfile push: true - tags: ghcr.io/${{ github.repository_owner }}/a301-server:latest + tags: git.tolelom.xyz/${{ github.repository_owner }}/a301-server:latest platforms: linux/arm64 cache-from: type=gha cache-to: type=gha,mode=max - # ── 3. 서버 배포 (Docker 푸시 완료 후) ──────────────────────────────────── + # ── 3. 서버 배포 ────────────────────────────────────────────────────────── deploy: needs: docker runs-on: ubuntu-latest