Skip to content

👻 fix pre-build command in image build workflow (#612) (#613) #177

👻 fix pre-build command in image build workflow (#612) (#613)

👻 fix pre-build command in image build workflow (#612) (#613) #177

Workflow file for this run

name: Multiple Architecture Image Build
on:
workflow_dispatch:
push:
branches:
- 'main'
- 'release-*'
tags:
- 'v*'
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
jobs:
image-build:
strategy:
fail-fast: false
matrix:
images:
- name: analyzer-lsp
containerfile: "./Dockerfile"
pre_build_cmd: |
TAG=${GITHUB_REF_NAME/main/latest}
sed -i "s,FROM quay.io/konveyor/jdtls-server-base.*,FROM quay.io/konveyor/jdtls-server-base:${TAG}," Dockerfile
context: "."
architectures: '[ "amd64", "arm64", "ppc64le", "s390x" ]'
- name: dotnet-external-provider
containerfile: "./external-providers/dotnet-external-provider/Dockerfile"
context: "."
architectures: '[ "amd64", "arm64" ]'
- name: golang-dependency-provider
containerfile: "./external-providers/golang-dependency-provider/Dockerfile"
context: "."
architectures: '[ "amd64", "arm64" ]'
- name: yq-external-provider
containerfile: "./external-providers/yq-external-provider/Dockerfile"
context: "."
architectures: '[ "amd64", "arm64" ]'
- name: java-external-provider
containerfile: "./external-providers/java-external-provider/Dockerfile"
context: "."
architectures: '[ "amd64", "arm64" ]'
pre_build_cmd: |
TAG=${GITHUB_REF_NAME/main/latest}
sed -i "s,FROM quay.io/konveyor/jdtls-server-base,FROM quay.io/konveyor/jdtls-server-base:${TAG}," Dockerfile
uses: konveyor/release-tools/.github/workflows/build-push-images.yaml@main
with:
registry: "quay.io/konveyor"
image_name: ${{ matrix.images.name }}
containerfile: ${{ matrix.images.containerfile }}
pre_build_cmd: ${{ matrix.images.pre_build_cmd }}
architectures: ${{ matrix.images.architectures }}
context: ${{ matrix.images.context }}
secrets:
registry_username: ${{ secrets.QUAY_PUBLISH_ROBOT }}
registry_password: ${{ secrets.QUAY_PUBLISH_TOKEN }}
# generic provider requires go dep provider we built in matrix and needs to be sequential
generic-external-provider-build:
needs: image-build
uses: konveyor/release-tools/.github/workflows/build-push-images.yaml@main
with:
registry: "quay.io/konveyor"
image_name: generic-external-provider
containerfile: "./external-providers/generic-external-provider/Dockerfile"
architectures: '[ "amd64", "arm64" ]'
context: "."
pre_build_cmd: |
TAG=${GITHUB_REF_NAME/main/latest}
sed -i "s,FROM quay.io/konveyor/golang-dependency-provider,FROM quay.io/konveyor/golang-dependency-provider:${TAG}," Dockerfile
secrets:
registry_username: ${{ secrets.QUAY_PUBLISH_ROBOT }}
registry_password: ${{ secrets.QUAY_PUBLISH_TOKEN }}
analyzer-windows-build:
needs: image-build
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: "quay.io/konveyor"
username: ${{ secrets.QUAY_PUBLISH_ROBOT }}
password: ${{ secrets.QUAY_PUBLISH_TOKEN }}
- name: Docker Build
shell: bash
run: |
TAG=${GITHUB_REF_NAME/main/latest}
IMAGE_NAME=quay.io/konveyor/analyzer-lsp:${TAG}-ltsc2022
docker build -t ${IMAGE_NAME} -f ./Dockerfile.windows .
docker push ${IMAGE_NAME}
dotnet-windows-build:
needs: image-build
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: "quay.io/konveyor"
username: ${{ secrets.QUAY_PUBLISH_ROBOT }}
password: ${{ secrets.QUAY_PUBLISH_TOKEN }}
- name: Docker Build
shell: bash
run: |
TAG=${GITHUB_REF_NAME/main/latest}
IMAGE_NAME=quay.io/konveyor/dotnet-external-provider:${TAG}-ltsc2022
docker build -t ${IMAGE_NAME} -f ./external-providers/dotnet-external-provider/Dockerfile.windows .
docker push ${IMAGE_NAME}