[pull] master from diygod:master #2981
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | |
permissions: | |
contents: read | |
pull-requests: write | |
concurrency: | |
group: docker-test-${{ github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
name: Docker build & tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx # needed by `cache-from` | |
uses: docker/setup-buildx-action@v3 | |
- name: Extract Docker metadata | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: rsshub | |
flavor: latest=true | |
- name: Build Docker image | |
uses: docker/build-push-action@v5 | |
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=${{ secrets.DOCKER_USERNAME }}/rsshub:chromium-bundled | |
type=gha,scope=docker-release | |
- name: Pull Request Labeler | |
if: ${{ failure() }} | |
uses: actions-cool/issues-helper@v3 | |
with: | |
actions: 'add-labels' | |
token: ${{ secrets.GITHUB_TOKEN }} | |
issue-number: ${{ github.event.pull_request.number }} | |
labels: 'Auto: Route Test Failed' | |
- 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@v4 | |
with: | |
name: docker-image | |
path: rsshub.tar.zst | |
retention-days: 1 |