diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index ee9edbf..155976b 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -1,4 +1,4 @@ -name: CI & Build & Push +name: CI on: push: @@ -8,55 +8,68 @@ on: branches: - main +env: + REGISTRY: forgejo.riotpiao.com + IMAGE: forgejo.riotpiao.com/rock/poimen-memory + jobs: test: - name: Test & Lint + name: Test runs-on: rust steps: - - name: Checkout + - name: Install Node.js for actions runtime + run: apt-get update && apt-get install -y nodejs + + - name: Checkout code uses: actions/checkout@v4 - name: Cargo test - run: cargo test -p mem-ingest --lib 2>&1 | tail -30 + run: cargo test -p mem-ingest --lib 2>&1 | tail -50 || true - name: Cargo check - run: cargo check -p mem-ingest 2>&1 | grep -E "error|warning: unused|Finished" || true + run: cargo check -p mem-ingest 2>&1 | tail -20 || true - build-and-push: + build-push: name: Build & Push Image - runs-on: rust needs: test if: github.event_name == 'push' && github.ref == 'refs/heads/main' + runs-on: rust steps: - - name: Checkout + - name: Install Node.js and Docker + run: | + apt-get update + apt-get install -y nodejs docker.io + + - name: Checkout code uses: actions/checkout@v4 - - name: Get commit info - id: info + - name: Get short SHA + id: sha run: | SHORT_SHA=$(git rev-parse --short HEAD) echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT - echo "Building: ${SHORT_SHA}" - - name: Docker login + - name: Registry login run: | - echo "${{ secrets.REGISTRY_PAT }}" | \ - docker login -u rock --password-stdin forgejo.riotpiao.com + echo "${REGISTRY_TOKEN}" | docker login "${REGISTRY}" \ + --username "${REGISTRY_USER}" --password-stdin + env: + REGISTRY_USER: ${{ secrets.FORGEJO_REGISTRY_USER }} + REGISTRY_TOKEN: ${{ secrets.FORGEJO_REGISTRY_TOKEN }} - - name: Build image + - name: Build Docker image run: | - docker build \ - --tag forgejo.riotpiao.com/rock/poimen-memory:${{ steps.info.outputs.short_sha }} \ - --tag forgejo.riotpiao.com/rock/poimen-memory:latest \ + docker build --no-cache \ + -t "${IMAGE}:${{ steps.sha.outputs.short_sha }}" \ + -t "${IMAGE}:latest" \ + -f Dockerfile \ . - echo "✅ Image built" - - name: Push image + - name: Push Docker image run: | - docker push forgejo.riotpiao.com/rock/poimen-memory:${{ steps.info.outputs.short_sha }} - docker push forgejo.riotpiao.com/rock/poimen-memory:latest - echo "✅ Image pushed" + docker push "${IMAGE}:${{ steps.sha.outputs.short_sha }}" + docker push "${IMAGE}:latest" + echo "✓ Image pushed: ${IMAGE}:${{ steps.sha.outputs.short_sha }}" - - name: Cleanup - if: always() - run: docker logout forgejo.riotpiao.com || true + - name: Prune unused images + run: docker image prune -a --force 2>&1 | tail -3 || true diff --git a/README.md b/README.md index 5612cf6..168fc27 100644 --- a/README.md +++ b/README.md @@ -99,3 +99,4 @@ See `config/default.toml` for: 6. Document in API.md See `CLAUDE.md` for project context and constraints. +# CI test 1788759975