name: ci on: push: branches: [main] jobs: test: runs-on: linux steps: - uses: actions/checkout@v4 - run: | podman run --rm \ -v "$PWD:/app:ro" \ -w /app \ python:3.13-alpine \ sh -c "pip install --no-cache-dir -r requirements.txt ruff pytest && \ ruff check src/ tests/ && \ PYTHONPATH=src pytest tests/ -v" secrets: runs-on: linux steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - run: | podman run --rm \ -v "$PWD:/scan:ro" \ ghcr.io/gitleaks/gitleaks:latest \ detect --source /scan -v build: needs: [test, secrets] runs-on: linux steps: - uses: actions/checkout@v4 - run: echo "$HARBOR_PASS" | podman login -u "$HARBOR_USER" --password-stdin harbor.mymx.me env: HARBOR_USER: ${{ secrets.HARBOR_USER }} HARBOR_PASS: ${{ secrets.HARBOR_PASS }} - run: podman build -t harbor.mymx.me/s5p/s5p:latest -f Containerfile . - run: podman push harbor.mymx.me/s5p/s5p:latest