name: CI — Build, Test, Push on: push: branches: [main] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - run: npm ci - run: npm test build-and-push: runs-on: ubuntu-latest needs: test if: github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v4 - name: Set image tag id: tag run: echo "SHA=${GITHUB_SHA::8}" >> $GITHUB_OUTPUT - name: Log in to Gitea registry run: echo "${{ secrets.GITEA_TOKEN }}" | docker login registry.leeworks.dev -u leeworks-agents --password-stdin - name: Build image run: | docker build -t registry.leeworks.dev/vin-decoder/api:${{ steps.tag.outputs.SHA }} \ -t registry.leeworks.dev/vin-decoder/api:latest . - name: Push image run: | docker push registry.leeworks.dev/vin-decoder/api:${{ steps.tag.outputs.SHA }} docker push registry.leeworks.dev/vin-decoder/api:latest