HPCC-30796 ECL Watch fix redirect loop #6465
Workflow file for this run
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 smoketest build | |
on: | |
pull_request: | |
branches: | |
- "master" | |
- "candidate-*.x" | |
- "!candidate-8.2.*" | |
- "!candidate-8.0.*" | |
- "!candidate-7.12.*" | |
- "!candidate-7.10.*" | |
- "!candidate-7.8.*" | |
- "!candidate-7.6.*" | |
- "!candidate-7.4.*" | |
- "!candidate-7.2.*" | |
- "!candidate-7.0.*" | |
- "!candidate-6.*" | |
jobs: | |
check-skip: | |
# continue-on-error: true # Uncomment once integration is finished | |
runs-on: ubuntu-20.04 | |
# Map a step output to a job output | |
outputs: | |
changed: ${{ steps.skip_check.outputs.dockerfiles || steps.skip_check.outputs.platform }} | |
steps: | |
- id: skip_check | |
uses: hpcc-systems/github-actions/changed-modules@main | |
with: | |
github_token: ${{ github.token }} | |
build-images: | |
needs: check-skip | |
if: ${{ needs.check-skip.outputs.changed }} | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: vars | |
id: vars | |
run: | | |
echo ::set-output name=base_ver::8.6 | |
# echo ::set-output name=container_registry::ghcr.io | |
# echo ::set-output name=cr_user::${{ github.repository_owner }} | |
echo ::set-output name=container_registry::docker.io | |
echo ::set-output name=cr_user::hpccbuilds | |
echo ::set-output name=build_prbase_sha::${{ github.event.pull_request.base.sha }} | |
echo ::set-output name=build_prbase_label::${{ github.base_ref }} | |
echo ::set-output name=build_user::${{ github.actor }} | |
echo ::set-output name=build_type::RelWithDebInfo | |
echo ::set-output name=use_cppunit::1 | |
echo ::set-output name=platform_build_base::smoketest-platform-build-base | |
echo ::set-output name=platform_build::smoketest-platform-build-vcpkg | |
- name: tracing | |
run: | | |
echo "Base ref = ${{ github.ref }}" | |
echo "Action = ${{ github.action }}" | |
echo "Event = ${{ github.event_name }}" | |
echo "Actor = ${{ github.actor }}" | |
echo "Ref = ${{ github.ref }}" | |
echo "base sha = ${{ github.event.pull_request.base.sha }}" | |
echo "Sha = ${{ github.sha }}" | |
echo "github.repository = ${{ github.repository }}" | |
echo "repository_owner = ${{ github.repository_owner }}" | |
echo "github.workspace = ${{ github.workspace }}" | |
echo "runner.workspace = ${{ runner.workspace }}" | |
echo "github.event.pull_request.head.repo.owner.login = ${{ github.event.pull_request.head.repo.owner.login }}" | |
echo "build_prbase_label = ${{ steps.vars.outputs.build_prbase_label }}" | |
- name: Checkout PR | |
uses: actions/checkout@v2 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v1 | |
with: | |
driver: docker | |
- name: Check if PR-Base prebuilt | |
id: check-images | |
run: | | |
build_base_missing=$(docker manifest inspect ${{ steps.vars.outputs.container_registry }}/${{ steps.vars.outputs.cr_user }}/${{ steps.vars.outputs.platform_build_base }}:${{ steps.vars.outputs.base_ver }} > /dev/null ; echo $?) | |
prbase_missing=$(docker manifest inspect ${{ steps.vars.outputs.container_registry }}/${{ steps.vars.outputs.cr_user }}/${{ steps.vars.outputs.platform_build }}:${{ steps.vars.outputs.build_prbase_label }}-${{ github.event.pull_request.base.sha }} > /dev/null ; echo $?) | |
echo build_base_missing=${build_base_missing} | |
echo prbase_missing=${prbase_missing} | |
echo ::set-output name=build_base_missing::${build_base_missing} | |
if [[ "${prbase_missing}" -eq 1 ]] | |
then | |
echo "Current PR target branch image cannot be found, using latest" | |
prbase_missing=$(docker manifest inspect ${{ steps.vars.outputs.container_registry }}/${{ steps.vars.outputs.cr_user }}/${{ steps.vars.outputs.platform_build }}:${{ steps.vars.outputs.build_prbase_label }}-latest > /dev/null ; echo $?) | |
if [[ "${prbase_missing}" -eq 1 ]] | |
then | |
echo "Cannot find the 'latest' target branch image" | |
echo ::set-output name=prbase_missing::${prbase_missing} | |
fi | |
echo ::set-output name=platform_prbase_ver::${{ steps.vars.outputs.build_prbase_label }}-latest | |
else | |
echo ::set-output name=platform_prbase_ver::${{ steps.vars.outputs.build_prbase_label }}-${{ github.event.pull_request.base.sha }} | |
fi | |
# Normal expectation is that the following 2 steps would normally be skipped | |
# NB: This is only for the case where the build-base image doesn't already exist. | |
# The build-containers-target-branch.yml action should normally have built/published this image | |
- name: HPCC build-base image | |
if: ${{ steps.check-images.outputs.build_base_missing == '1' && steps.check-images.outputs.prbase_missing == '1' }} | |
uses: docker/build-push-action@v2 | |
with: | |
context: dockerfiles/platform-build-base | |
builder: ${{ steps.buildx.outputs.name }} | |
tags: | | |
${{ steps.vars.outputs.container_registry }}/${{ steps.vars.outputs.cr_user }}/${{ steps.vars.outputs.platform_build_base }}:${{ steps.vars.outputs.base_ver }} | |
build-args: | | |
BASE_VER=${{ steps.vars.outputs.base_ver }} | |
# NB: This is only for the case where the target branch image doesn't already exist. | |
# The build-containers-target-branch.yml action would normally have built/published this image, | |
# or they'll be a "latest" which will have been picked up by the check-images step. | |
- name: branch image | |
if: ${{ steps.check-images.outputs.prbase_missing == '1' }} | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
file: ./dockerfiles/platform-build/Dockerfile | |
builder: ${{ steps.buildx.outputs.name }} | |
tags: | | |
${{ steps.vars.outputs.container_registry }}/${{ steps.vars.outputs.cr_user }}/${{ steps.vars.outputs.platform_build }}:${{ steps.vars.outputs.build_prbase_label }}-${{ steps.vars.outputs.build_prbase_sha }} | |
${{ steps.vars.outputs.container_registry }}/${{ steps.vars.outputs.cr_user }}/${{ steps.vars.outputs.platform_build }}:${{ steps.vars.outputs.build_prbase_label }}-latest | |
build-args: | | |
CR_USER=${{ steps.vars.outputs.cr_user }} | |
CR_REPO=${{ steps.vars.outputs.container_registry }} | |
CR_CONTAINER_NAME=${{ steps.vars.outputs.platform_build_base }} | |
BASE_VER=${{ steps.vars.outputs.base_ver }} | |
BUILD_USER=${{ github.repository_owner }} | |
GITHUB_ACTOR=${{ github.actor }} | |
BUILD_TAG=${{ steps.vars.outputs.build_prbase_sha }} | |
BUILD_TYPE=${{ steps.vars.outputs.build_type }} | |
GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} | |
USE_CPPUNIT=${{ steps.vars.outputs.use_cppunit }} | |
BUILD_THREADS=${{ steps.vars.outputs.build_threads }} | |
- name: PR image | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
file: ./dockerfiles/platform-build-incremental-container/Dockerfile | |
builder: ${{ steps.buildx.outputs.name }} | |
build-args: | | |
CR_USER=${{ steps.vars.outputs.cr_user }} | |
CR_REPO=${{ steps.vars.outputs.container_registry }} | |
PLATFORM_PRBASE_VER=${{ steps.check-images.outputs.platform_prbase_ver }} | |
GITHUB_REPO=${{ github.repository }} | |
GITHUB_PRREF=${{ github.ref }} | |
BUILD_THREADS=${{ steps.vars.outputs.build_threads }} |