| | 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] |
| | |
| |
|
| | 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 |
| |
|
| | - name: Set up Docker Buildx |
| | uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f |
| |
|
| | - name: Extract Docker metadata |
| | id: meta |
| | uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 |
| | with: |
| | images: rsshub |
| | flavor: latest=true |
| |
|
| | - name: Build Docker image |
| | uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 |
| | with: |
| | context: . |
| | build-args: PUPPETEER_SKIP_DOWNLOAD=0 |
| | load: true |
| | tags: ${{ steps.meta.outputs.tags }} |
| | labels: ${{ steps.meta.outputs.labels }} |
| | platforms: linux/amd64 |
| | 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 |
| |
|
| | - name: Pull Request Labeler |
| | if: ${{ failure() }} |
| | uses: actions-cool/issues-helper@71b62d7da76e59ff7b193904feb6e77d4dbb2777 |
| | 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 |
| | with: |
| | name: docker-image |
| | path: rsshub.tar.zst |
| | retention-days: 1 |
| |
|