Use shorter image names, add Docker Hub, lower frequency of runs, run more in parallel

This commit is contained in:
hackercat
2021-01-17 18:27:42 +00:00
parent 521aee08fd
commit e824f25259
3 changed files with 101 additions and 84 deletions
+24 -7
View File
@@ -2,7 +2,7 @@ name: Daily build
on: on:
schedule: schedule:
- cron: 0 */6 * * * - cron: 0 0 * * *
push: push:
pull_request: pull_request:
workflow_dispatch: workflow_dispatch:
@@ -13,18 +13,21 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
max-parallel: 4 max-parallel: 12
matrix: matrix:
DISTRIB_ID: [ubuntu] DISTRIB_ID: [ubuntu]
DISTRIB_RELEASE: [latest, 20.04, 18.04, 16.04] DISTRIB_RELEASE: [latest, 20.04, 18.04, 16.04]
IMAGE_TYPE: [nodejs, runner] IMAGE_TYPE: [act, runner]
NODE_VERSION: ['12'] NODE_VERSION: ['12']
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v1
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
if: ${{ github.event_name != 'pull_request' && github.event_name != 'push' }} if: ${{ github.event_name != 'pull_request' && github.event_name != 'push' }}
uses: docker/login-action@v1 uses: docker/login-action@v1
@@ -32,11 +35,20 @@ jobs:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GHCR_TOKEN }} password: ${{ secrets.GHCR_TOKEN }}
- name: Login to Docker Hub
if: ${{ github.event_name != 'pull_request' && github.event_name != 'push' }}
uses: docker/login-action@v1
with:
username: catthehacker
password: ${{ secrets.DCKR_TOKEN }}
- name: Check which version is currently `ubuntu-latest` - name: Check which version is currently `ubuntu-latest`
id: ubuntu_latest id: ubuntu_latest
if: ${{ matrix.DISTRIB_RELEASE == 'latest' }} if: ${{ matrix.DISTRIB_RELEASE == 'latest' }}
run: echo "::set-output name=UBUNTU_LATEST::$(lsb_release -sr)" run: echo "::set-output name=UBUNTU_LATEST::$(lsb_release -sr)"
- name: Build and push ${{ matrix.DISTRIB_ID }}-${{ matrix.IMAGE_TYPE }}-${{ matrix.DISTRIB_RELEASE }} image
- name: Build and push ghcr.io/catthehacker/${{ matrix.DISTRIB_ID }}:${{ matrix.IMAGE_TYPE }}-${{ matrix.DISTRIB_RELEASE }}
id: docker_build_version id: docker_build_version
uses: docker/build-push-action@v2 uses: docker/build-push-action@v2
if: ${{ matrix.DISTRIB_RELEASE != 'latest' }} if: ${{ matrix.DISTRIB_RELEASE != 'latest' }}
@@ -45,12 +57,15 @@ jobs:
push: ${{ github.event_name != 'pull_request' && github.event_name != 'push' }} push: ${{ github.event_name != 'pull_request' && github.event_name != 'push' }}
file: ./linux/${{ matrix.DISTRIB_ID }}/${{ matrix.IMAGE_TYPE }}/Dockerfile file: ./linux/${{ matrix.DISTRIB_ID }}/${{ matrix.IMAGE_TYPE }}/Dockerfile
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
tags: ghcr.io/catthehacker/docker-images:${{ matrix.DISTRIB_ID }}-${{ matrix.IMAGE_TYPE }}-${{ matrix.DISTRIB_RELEASE }} tags: |
ghcr.io/catthehacker/${{ matrix.DISTRIB_ID }}:${{ matrix.IMAGE_TYPE }}-${{ matrix.DISTRIB_RELEASE }}
docker.io/catthehacker/${{ matrix.DISTRIB_ID }}:${{ matrix.IMAGE_TYPE }}-${{ matrix.DISTRIB_RELEASE }}
build-args: | build-args: |
DISTRIB_ID=${{ matrix.DISTRIB_ID }} DISTRIB_ID=${{ matrix.DISTRIB_ID }}
DISTRIB_RELEASE=${{ matrix.DISTRIB_RELEASE }} DISTRIB_RELEASE=${{ matrix.DISTRIB_RELEASE }}
NODE_VERSION=${{ matrix.NODE_VERSION }} NODE_VERSION=${{ matrix.NODE_VERSION }}
- name: Build and push ${{ matrix.DISTRIB_ID }}-${{ matrix.IMAGE_TYPE }}-latest image
- name: Build and push ghcr.io/catthehacker/${{ matrix.DISTRIB_ID }}:${{ matrix.IMAGE_TYPE }}-${{ matrix.DISTRIB_RELEASE }}
id: docker_build_latest id: docker_build_latest
uses: docker/build-push-action@v2 uses: docker/build-push-action@v2
if: ${{ matrix.DISTRIB_RELEASE == 'latest' }} if: ${{ matrix.DISTRIB_RELEASE == 'latest' }}
@@ -59,7 +74,9 @@ jobs:
push: ${{ github.event_name != 'pull_request' && github.event_name != 'push' }} push: ${{ github.event_name != 'pull_request' && github.event_name != 'push' }}
file: ./linux/${{ matrix.DISTRIB_ID }}/${{ matrix.IMAGE_TYPE }}/Dockerfile file: ./linux/${{ matrix.DISTRIB_ID }}/${{ matrix.IMAGE_TYPE }}/Dockerfile
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
tags: ghcr.io/catthehacker/docker-images:${{ matrix.DISTRIB_ID }}-${{ matrix.IMAGE_TYPE }}-latest tags: |
ghcr.io/catthehacker/${{ matrix.DISTRIB_ID }}:${{ matrix.IMAGE_TYPE }}-${{ matrix.DISTRIB_RELEASE }}
docker.io/catthehacker/${{ matrix.DISTRIB_ID }}:${{ matrix.IMAGE_TYPE }}-${{ matrix.DISTRIB_RELEASE }}
build-args: | build-args: |
DISTRIB_ID=${{ matrix.DISTRIB_ID }} DISTRIB_ID=${{ matrix.DISTRIB_ID }}
DISTRIB_RELEASE=${{ steps.ubuntu_latest.outputs.UBUNTU_LATEST }} DISTRIB_RELEASE=${{ steps.ubuntu_latest.outputs.UBUNTU_LATEST }}
+9 -9
View File
@@ -4,13 +4,13 @@
- `\linux\ubuntu\runner\Dockerfile` - used as base image for [github.com/catthehacker/act](https://github.com/catthehacker/act) - `\linux\ubuntu\runner\Dockerfile` - used as base image for [github.com/catthehacker/act](https://github.com/catthehacker/act)
- ghcr.io (GitHub Container Registry) - ghcr.io (GitHub Container Registry)
- `ghcr.io/catthehacker/docker-images:ubuntu-runner-16.04` - `ghcr.io/catthehacker/ubuntu:runner-16.04`
- `ghcr.io/catthehacker/docker-images:ubuntu-runner-18.04` - `ghcr.io/catthehacker/ubuntu:runner-18.04`
- `ghcr.io/catthehacker/docker-images:ubuntu-runner-20.04` - `ghcr.io/catthehacker/ubuntu:runner-20.04`
- `ghcr.io/catthehacker/docker-images:ubuntu-runner-latest` - `ghcr.io/catthehacker/ubuntu:runner-latest`
- `\linux\ubuntu\nodejs\Dockerfile` - proposal for [github.com/nektos/act](https://github.com/nektos/act) as base image before support for above image is implemented - `\linux\ubuntu\act\Dockerfile` - proposal for [github.com/nektos/act](https://github.com/nektos/act) as base image before support for above image is implemented
- ghcr.io (GitHub Container Registry) - ghcr.io (GitHub Container Registry)
- `ghcr.io/catthehacker/docker-images:ubuntu-nodejs-16.04` - `ghcr.io/catthehacker/ubuntu:act-16.04`
- `ghcr.io/catthehacker/docker-images:ubuntu-nodejs-18.04` - `ghcr.io/catthehacker/ubuntu:act-18.04`
- `ghcr.io/catthehacker/docker-images:ubuntu-nodejs-20.04` - `ghcr.io/catthehacker/ubuntu:act-20.04`
- `ghcr.io/catthehacker/docker-images:ubuntu-nodejs-latest` - `ghcr.io/catthehacker/ubuntu:act-latest`