Spaces:
Paused
Paused
| name: PR - Docker build test | |
| on: | |
| pull_request: | |
| branches: | |
| - master | |
| paths: | |
| - '.github/workflows/docker-test.yml' | |
| - 'lib/**' | |
| - 'Dockerfile' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| types: [opened, reopened, synchronize, edited] | |
| # Please, always create a pull request instead of push to master. | |
| concurrency: | |
| group: docker-test-${{ github.ref_name }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: Docker build & tests | |
| permissions: | |
| pull-requests: write | |
| attestations: write | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Set up Docker Buildx # needed by `cache-from` | |
| uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0 | |
| - name: Extract Docker metadata | |
| id: meta | |
| uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0 | |
| with: | |
| images: rsshub | |
| flavor: latest=true | |
| - name: Build Docker image | |
| uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2 | |
| with: | |
| context: . | |
| build-args: PUPPETEER_SKIP_DOWNLOAD=0 # also test bundling Chromium | |
| load: true | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| platforms: linux/amd64 # explicit | |
| cache-from: | | |
| type=registry,ref=${{ vars.DOCKER_USERNAME }}/rsshub:chromium-bundled | |
| type=gha,scope=docker-release-linux-amd64 | |
| outputs: type=docker,compression=zstd,force-compression=true # load: true means docker output type | |
| - name: Pull Request Labeler | |
| if: ${{ failure() }} | |
| uses: actions-cool/issues-helper@71b62d7da76e59ff7b193904feb6e77d4dbb2777 # v3.7.6 | |
| with: | |
| actions: 'add-labels' | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| issue-number: ${{ github.event.pull_request.number }} | |
| labels: 'auto: DO NOT merge' | |
| - name: Test Docker image | |
| run: bash scripts/docker/test-docker.sh | |
| - name: Export Docker image | |
| run: docker save rsshub:latest | zstdmt -o rsshub.tar.zst | |
| - name: Upload Docker image | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 | |
| with: | |
| name: docker-image | |
| path: rsshub.tar.zst | |
| retention-days: 1 | |