Update build test to reuse builder image #43
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: Build IDM Console Framework | |
on: [push, pull_request] | |
env: | |
BASE_IMAGE: ${{ vars.BASE_IMAGE || 'registry.fedoraproject.org/fedora:latest' }} | |
COPR_REPO: ${{ vars.COPR_REPO || '@pki/master' }} | |
jobs: | |
build: | |
name: Building IDM Console Framework | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Cache Docker layers | |
id: cache-buildx | |
uses: actions/cache@v3 | |
with: | |
key: buildx-${{ hashFiles('idm-console-framework.spec') }} | |
path: /tmp/.buildx-cache | |
- name: Build idm-console-framework-deps image | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
build-args: | | |
BASE_IMAGE=${{ env.BASE_IMAGE }} | |
COPR_REPO=${{ env.COPR_REPO }} | |
tags: idm-console-framework-deps | |
target: idm-console-framework-deps | |
cache-to: type=local,dest=/tmp/.buildx-cache | |
if: steps.cache-buildx.outputs.cache-hit != 'true' | |
- name: Build idm-console-framework-builder-deps image | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
build-args: | | |
BASE_IMAGE=${{ env.BASE_IMAGE }} | |
COPR_REPO=${{ env.COPR_REPO }} | |
tags: idm-console-framework-builder-deps | |
target: idm-console-framework-builder-deps | |
cache-to: type=local,dest=/tmp/.buildx-cache | |
if: steps.cache-buildx.outputs.cache-hit != 'true' | |
- name: Build idm-console-framework-builder image | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
build-args: | | |
BASE_IMAGE=${{ env.BASE_IMAGE }} | |
COPR_REPO=${{ env.COPR_REPO }} | |
tags: idm-console-framework-builder | |
target: idm-console-framework-builder | |
cache-from: type=local,src=/tmp/.buildx-cache | |
outputs: type=docker | |
- name: Build idm-console-framework-dist image | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
build-args: | | |
BASE_IMAGE=${{ env.BASE_IMAGE }} | |
COPR_REPO=${{ env.COPR_REPO }} | |
tags: idm-console-framework-dist | |
target: idm-console-framework-dist | |
cache-from: type=local,src=/tmp/.buildx-cache | |
outputs: type=docker | |
- name: Build idm-console-framework-runner image | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
build-args: | | |
BASE_IMAGE=${{ env.BASE_IMAGE }} | |
COPR_REPO=${{ env.COPR_REPO }} | |
tags: idm-console-framework-runner | |
target: idm-console-framework-runner | |
cache-from: type=local,src=/tmp/.buildx-cache | |
outputs: type=docker | |
- name: Save IDM Consonle Framework images | |
run: | | |
docker images | |
docker save -o idm-console-framework-images.tar idm-console-framework-builder idm-console-framework-dist idm-console-framework-runner | |
- name: Store IDM Consonle Framework images | |
uses: actions/cache@v3 | |
with: | |
key: idm-console-framework-images-${{ github.sha }} | |
path: idm-console-framework-images.tar |