diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index ee9edbf..5d654cf 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -8,19 +8,26 @@ on: branches: - main +env: + REGISTRY: forgejo.riotpiao.com + REGISTRY_USER: rock + jobs: test: name: Test & Lint 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: name: Build & Push Image @@ -28,35 +35,43 @@ jobs: needs: test if: github.event_name == 'push' && github.ref == 'refs/heads/main' 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: Get commit info - id: info + - name: Get commit SHA + id: sha run: | SHORT_SHA=$(git rev-parse --short HEAD) - echo "short_sha=${SHORT_SHA}" >> $GITHUB_OUTPUT - echo "Building: ${SHORT_SHA}" + echo "short_sha=$SHORT_SHA" >> $GITHUB_OUTPUT + echo "Building image tag: ${{ env.REGISTRY }}/rock/poimen-memory:$SHORT_SHA" + + - name: Install Docker CLI + run: apt-get update && apt-get install -y docker.io - name: Docker login + env: + REGISTRY_PAT: ${{ secrets.REGISTRY_PAT }} run: | - echo "${{ secrets.REGISTRY_PAT }}" | \ - docker login -u rock --password-stdin forgejo.riotpiao.com + echo "$REGISTRY_PAT" | docker login -u ${{ env.REGISTRY_USER }} --password-stdin ${{ env.REGISTRY }} - - 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 \ + --tag ${{ env.REGISTRY }}/rock/poimen-memory:${{ steps.sha.outputs.short_sha }} \ + --tag ${{ env.REGISTRY }}/rock/poimen-memory:latest \ + -f Dockerfile \ . - echo "✅ Image built" + echo "✅ Docker 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 ${{ env.REGISTRY }}/rock/poimen-memory:${{ steps.sha.outputs.short_sha }} + docker push ${{ env.REGISTRY }}/rock/poimen-memory:latest + echo "✅ Image pushed to registry" - - name: Cleanup + - name: Logout from registry if: always() - run: docker logout forgejo.riotpiao.com || true + run: docker logout ${{ env.REGISTRY }} || true