Skip to content

Merge pull request #41 from Michael-Gardner/hpcc-platform-9.10.x #990

Merge pull request #41 from Michael-Gardner/hpcc-platform-9.10.x

Merge pull request #41 from Michael-Gardner/hpcc-platform-9.10.x #990

name: Refresh docker NuGet cache
on:
push:
tags:
- "*"
branches:
- "hpcc-platform-9.10.x"
workflow_call:
inputs:
branch:
description: "The branch to build"
required: true
type: string
workflow_dispatch:
jobs:
build-images:
strategy:
matrix:
image:
[
"ubuntu-24.04",
"ubuntu-22.04",
"ubuntu-20.04",
"rockylinux-8",
"centos-8",
]
fail-fast: false
name: "Docker: ${{ matrix.image }}"
runs-on: ubuntu-22.04
steps:
- name: Free additional disk space (remove Android SDK + Tools)
continue-on-error: true
run: |
df -h
sudo rm -rf /usr/local/lib/android
sudo rm -rf ${JAVA_HOME_8_X64}
sudo rm -rf ${JAVA_HOME_11_X64}
sudo rm -rf ${JAVA_HOME_17_X64}
sudo rm -rf ${JAVA_HOME_21_X64}
sudo rm -rf ${CHROMEWEBDRIVER}
sudo rm -rf ${EDGEWEBDRIVER}
sudo rm -rf ${GECKOWEBDRIVER}
sudo rm -rf ${SELENIUM_JAR_PATH}
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Display disk space (post free)
run: |
df -h
- name: Check out source code
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ inputs.branch || github.ref }}
- name: Calculate vars
id: vars
run: |
vcpkg_ref=${{ inputs.branch || github.ref }}
vcpkg_base_ref=${{ inputs.branch || github.event.base_ref || github.ref }}
echo "vcpkg_ref=$vcpkg_ref" >> $GITHUB_OUTPUT
echo "vcpkg_tag=$(echo $vcpkg_ref | cut -d'/' -f3)" >> $GITHUB_OUTPUT
echo "vcpkg_branch=$(echo $vcpkg_base_ref | cut -d'/' -f3)" >> $GITHUB_OUTPUT
echo "sha_short=$(git rev-parse --short=8 HEAD)" >> $GITHUB_OUTPUT
echo "repository_owner=${{ github.repository_owner }}" >> $GITHUB_OUTPUT
- name: Print vars
run: |
echo "${{ toJSON(steps.vars.outputs) }})"
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Pull previous images
run: |
docker pull hpccsystems/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.sha_short }} || true
docker pull hpccsystems/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.vcpkg_tag }} || true
- name: Build ${{ matrix.os }} image
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
file: dockerfiles/${{ matrix.image }}.dockerfile
context: .
push: ${{ steps.vars.outputs.repository_owner == 'hpcc-systems' }}
build-args: |
NUGET_MODE=readwrite
GITHUB_ACTOR=${{ github.repository_owner }}
GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
tags: |
hpccsystems/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.sha_short }}
hpccsystems/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.vcpkg_tag }}
cache-from: |
type=registry,ref=hpccsystems/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.sha_short }}
type=registry,ref=hpccsystems/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.vcpkg_tag }}