Skip to content

HPCC-30710 Refactor Smoketest GH Action #6678

HPCC-30710 Refactor Smoketest GH Action

HPCC-30710 Refactor Smoketest GH Action #6678

Workflow file for this run

name: Test Build
env:
VCPKG_BINARY_SOURCES: "clear;nuget,GitHub,read"
VCPKG_NUGET_REPOSITORY: "https://github.com/hpcc-systems/vcpkg"
OS_DEPENDENCIES: "bison flex build-essential binutils-dev curl lsb-release libcppunit-dev python3-dev default-jdk
r-base-dev r-cran-rcpp r-cran-rinside r-cran-inline pkg-config libtool autotools-dev automake git cmake"
on:
workflow_dispatch:
inputs:
os:
type: choice
options:
- 'ubuntu-23.10'
- 'ubuntu-22.04'
- 'ubuntu-20.04'
- 'centos-8'
- 'centos-7'
- 'amazonlinux'
description: 'Operating System'
required: false
default: 'ubuntu-22.04'
ln:
type: boolean
description: 'Internal Build'
required: false
default: false
smoketest:
type: boolean
description: 'Run Smoketest'
required: false
default: false
# Do not include "push" in final version
push:
pull_request:
branches:
- "master"
- "candidate-*"
- "!candidate-7.10.*"
- "!candidate-7.8.*"
- "!candidate-7.6.*"
- "!candidate-7.4.*"
- "!candidate-7.2.*"
- "!candidate-7.0.*"
- "!candidate-6.*"
schedule:
- cron: "0 0 * * *"
jobs:
build-docker:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-23.10
trigger: 'pull_request,push'
- os: ubuntu-22.04
trigger: 'pull_request,push'
test: true
- os: ubuntu-20.04
trigger: 'schedule,push'
- os: centos-8
trigger: 'schedule,push'
- os: centos-7
trigger: 'pull_request,push'
- os: amazonlinux
trigger: 'schedule,push'
- os: windows-2022
trigger: 'pull_request,push'
steps:
- name: checkout
uses: actions/checkout@v3
with:
submodules: true
- name: build-docker
uses: ./.github/workflows/build-docker.yml
if: ${{ contains(matrix.trigger, github.event_name) }}
with:
os: ${{ matrix.os }}
upload-package: ${{ matrix.test == true }}
asset-name: 'docker-${{ matrix.os }}-package'
secrets: inherit
- name: test-smoke-docker
uses: ./.github/workflows/test-smoke-gh_runner.yml
if: ${{ contains(matrix.trigger, github.event_name) && matrix.test == true }}
with:
os: ${{ matrix.os }}
asset-name: 'docker-${{ matrix.os }}-package'
secrets: inherit
- name: test-unit-docker
uses: ./.github/workflows/test-unit-gh_runner.yml
if: ${{ contains(matrix.trigger, github.event_name) && matrix.test == true }}
with:
os: ${{ matrix.os }}
asset-name: 'docker-${{ matrix.os }}-package'
secrets: inherit
- name: test-ui-docker
uses: ./.github/workflows/test-ui-gh_runner.yml
if: ${{ contains(matrix.trigger, github.event_name) && matrix.test == true }}
with:
os: ${{ matrix.os }}
asset-name: 'docker-${{ matrix.os }}-package'
secrets: inherit
build-gh-runner:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
trigger: 'pull_request,push'
test: true
- os: ubuntu-20.04
trigger: 'schedule,push'
- os: windows-2022
trigger: 'schedule,push'
- os: windows-2019
trigger: 'pull_request,push'
- os: macos-12
trigger: 'schedule,push'
- os: macos-11
trigger: 'pull_request,push'
steps:
- name: build-gh_runner
uses: ./.github/workflows/build-gh_runner.yml
if: ${{ contains(matrix.trigger, github.event_name) }}
with:
os: ${{ matrix.os }}
upload-package: ${{ matrix.test == true }}
asset-name: 'gh_runner-${{ matrix.os }}-package'
secrets: inherit
- name: test-smoke-gh_runner
uses: ./.github/workflows/test-smoke-gh_runner.yml
if: ${{ contains(matrix.trigger, github.event_name) && matrix.test == true }}
with:
os: ${{ matrix.os }}
asset-name: 'gh_runner-${{ matrix.os }}-package'
secrets: inherit
- name: test-unit-gh_runner
uses: ./.github/workflows/test-unit-gh_runner.yml
if: ${{ contains(matrix.trigger, github.event_name) && matrix.test == true }}
with:
os: ${{ matrix.os }}
asset-name: 'gh_runner-${{ matrix.os }}-package'
secrets: inherit
- name: test-ui-gh_runner
uses: ./.github/workflows/test-ui-gh_runner.yml
if: ${{ contains(matrix.trigger, github.event_name) && matrix.test == true }}
with:
os: ${{ matrix.os }}
asset-name: 'gh_runner-${{ matrix.os }}-package'
secrets: inherit
build-workflow-dispatch:
if: ${{ contains('workflow_dispatch', github.event_name) }}
uses: ./.github/workflows/build-docker.yml
with:
os: ${{ inputs.os }}
ln: ${{ inputs.ln }}
upload-package: true
asset-name: 'docker-package'
secrets: inherit
test-workflow-dispatch:
if: ${{ contains('workflow_dispatch', github.event_name) && inputs.smoketest == true }}
needs: build-workflow-dispatch
uses: ./.github/workflows/test-smoke-gh_runner.yml
with:
os: ${{ inputs.os }}
asset-name: 'docker-package'
secrets: inherit