Files
gem5/.github/workflows/docker-build.yaml
Bobby R. Bruce 040f4d5ae0 misc,tests: Use GitHub Docker registry for 22.04 all-deps
Via this workflow we now can build and push our docker images to
the GitHub Docker container registry:
26a1ee4e61/.github/workflows/docker-build.yaml

GitHub does not charge for downloads to runners (hosted or self-hosted).
This can therefore save the project money if we download from GitHub's
Docker reigstry over Google Cloud's.

This is a test to ensure this works as intended.

Change-Id: Iccdb1b7a912f1e0a0d82b7f888694958099315b3
2023-09-14 01:04:05 -07:00

54 lines
1.4 KiB
YAML

name: Docker images build and push
on:
workflow_dispatch:
jobs:
obtain-dockerfiles:
runs-on: [self-hosted, linux, x64, run]
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
steps:
- uses: actions/checkout@v3
with:
# Scheduled workflows run on the default branch by default. We
# therefore need to explicitly checkout the develop branch.
ref: develop
- uses: actions/upload-artifact@v2
with:
name: dockerfiles
path: util/dockerfiles
# This builds and pushes the docker image.
build-and-push:
runs-on: [self-hosted, linux, x64, run]
needs: obtain-dockerfiles
permissions:
packages: write
contents: read
steps:
- uses: actions/download-artifact@v2
with:
name: dockerfiles
path: dockerfiles-docker-build
- uses: docker/setup-qemu-action@v2
name: Setup QEMU
- uses: docker/setup-buildx-action@v2
name: Set up Docker Buildx
- uses: docker/login-action@v2
name: Login to the GitHub Container Registry
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push with bake
uses: docker/bake-action@v4
with:
workdir: ./dockerfiles-docker-build
files: docker-bake.hcl
push: true