[pull] master from diygod:master #69
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: '[docker] CI for build tests' | |
# https://github.community/t/215358 | |
name: PR - Docker build test | |
on: | |
pull_request: | |
branches: | |
- master | |
paths: | |
- '.github/workflows/docker-test.yml' | |
- 'lib/**' | |
- '!**/maintainer.js' | |
- '!**/radar.js' | |
- '!**/radar-rules.js' | |
- '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@v2 | |
- name: Extract Docker metadata | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: rsshub | |
flavor: latest=true | |
- name: Build Docker image | |
uses: docker/build-push-action@v4 | |
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: 'Route Test: Failed' | |
- name: Test Docker image | |
run: bash scripts/docker/test-docker.sh | |
- name: Export Docker image | |
run: docker save rsshub:latest | gzip -1cf > rsshub.tar.gz | |
- name: Upload Docker image | |
uses: actions/upload-artifact@v3 | |
with: | |
name: docker-image | |
path: rsshub.tar.gz | |
retention-days: 1 |