PR Build and Test (build-vcpkg.yml) #1356
This file contains hidden or 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: PR Build and Test (build-vcpkg.yml) | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| os: | |
| type: choice | |
| options: | |
| - 'ubuntu-24.04' | |
| - 'ubuntu-22.04' | |
| - 'ubuntu-20.04' | |
| - 'rockylinux-8' | |
| - 'centos-7' | |
| 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 | |
| push: | |
| tags: | |
| - "community_*" | |
| - "!community_8.10.*" | |
| - "!community_8.8.*" | |
| - "!community_8.6.*" | |
| - "!community_8.4.*" | |
| - "!community_8.2.*" | |
| - "!community_8.0.*" | |
| - "!community_7.*" | |
| - "!HPCC*" | |
| 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 * * *" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| actions: write | |
| jobs: | |
| precheck-branch-changes: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| branch_changed: ${{ steps.branch_changed.outputs.branch_changed }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check for code changes between commits | |
| id: branch_changed | |
| uses: ./.github/actions/branch-changes | |
| with: | |
| workflow_file: build-vcpkg.yml | |
| build-workflow-dispatch: | |
| if: ${{ contains('workflow_dispatch', github.event_name) }} | |
| uses: ./.github/workflows/build-docker.yml | |
| with: | |
| os: ${{ inputs.os }} | |
| ln: ${{ inputs.ln == true }} | |
| 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 | |
| build-docker-ubuntu-24_04-arm: | |
| needs: precheck-branch-changes | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/build-docker.yml | |
| with: | |
| os: ubuntu-24.04 | |
| tag_postfix: "-arm" | |
| secrets: inherit | |
| build-docker-ubuntu-24_04: | |
| needs: precheck-branch-changes | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/build-docker.yml | |
| with: | |
| os: ubuntu-24.04 | |
| secrets: inherit | |
| build-docker-ubuntu-22_04-arm: | |
| needs: precheck-branch-changes | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/build-docker.yml | |
| with: | |
| os: ubuntu-22.04 | |
| tag_postfix: "-arm" | |
| secrets: inherit | |
| build-docker-ubuntu-22_04: | |
| needs: precheck-branch-changes | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/build-docker.yml | |
| with: | |
| os: ubuntu-22.04 | |
| upload-package: true | |
| asset-name: 'docker-ubuntu-22_04' | |
| secrets: inherit | |
| test-smoke-docker-ubuntu-22_04: | |
| needs: [ precheck-branch-changes, build-docker-ubuntu-22_04 ] | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/test-smoke-gh_runner.yml | |
| with: | |
| os: ubuntu-22.04 | |
| asset-name: 'docker-ubuntu-22_04' | |
| secrets: inherit | |
| test-regression-suite-k8s-ubuntu-22_04: | |
| needs: [ precheck-branch-changes, build-docker-ubuntu-22_04 ] | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/test-regression-suite-k8s.yml | |
| secrets: inherit | |
| with: | |
| os: ubuntu-22.04 | |
| asset-name: 'docker-ubuntu-22_04-containerized' | |
| test-unit-docker-ubuntu-22_04: | |
| needs: [ precheck-branch-changes, build-docker-ubuntu-22_04 ] | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/test-unit-gh_runner.yml | |
| with: | |
| os: ubuntu-22.04 | |
| asset-name: 'docker-ubuntu-22_04' | |
| secrets: inherit | |
| test-bundles-on-thor-ubuntu-22_04: | |
| needs: [ precheck-branch-changes, build-docker-ubuntu-22_04 ] | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/bundleTest-thor.yml | |
| with: | |
| os: ubuntu-22.04 | |
| asset-name: 'docker-ubuntu-22_04' | |
| generate-zap: "" | |
| secrets: inherit | |
| test-eclwatch-gh_runner-ubuntu-22_04: | |
| needs: [ precheck-branch-changes, build-docker-ubuntu-22_04 ] | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/test-eclwatch.yml | |
| with: | |
| os: ubuntu-22.04 | |
| asset-name: 'docker-ubuntu-22_04' | |
| secrets: inherit | |
| check-documentation-changes: | |
| needs: precheck-branch-changes | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| runs-on: ubuntu-22.04 | |
| outputs: | |
| documentation_contents_changed: ${{ steps.variables.outputs.documentation_contents_changed }} | |
| steps: | |
| - name: Check for Documentation Changes | |
| id: changed | |
| uses: dorny/paths-filter@v3 | |
| with: | |
| filters: | | |
| src: | |
| - 'docs/**' | |
| - '.github/workflows/test-documentation.yml' | |
| - name: Set Output | |
| id: variables | |
| run: | | |
| echo "documentation_contents_changed=${{ steps.changed.outputs.src }}" >> $GITHUB_OUTPUT | |
| - name: Print Variables | |
| run: | | |
| echo "${{ toJSON(steps.variables.outputs)}}" | |
| test-documentation-ubuntu-22_04: | |
| needs: check-documentation-changes | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.check-documentation-changes.outputs.documentation_contents_changed == 'true' }} | |
| uses: ./.github/workflows/test-documentation.yml | |
| with: | |
| os: 'ubuntu-22.04' | |
| asset-name: 'Documentation' | |
| build-docker-ubuntu-20_04: | |
| if: ${{ contains('schedule,push', github.event_name) }} | |
| uses: ./.github/workflows/build-docker.yml | |
| with: | |
| os: ubuntu-20.04 | |
| secrets: inherit | |
| build-docker-rockylinux-8: | |
| if: ${{ contains('schedule,push', github.event_name) }} | |
| uses: ./.github/workflows/build-docker.yml | |
| with: | |
| os: rockylinux-8 | |
| secrets: inherit | |
| build-docker-centos-7: | |
| needs: precheck-branch-changes | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/build-docker.yml | |
| with: | |
| os: centos-7 | |
| secrets: inherit | |
| build-docker-wasm32-emscripten: | |
| if: ${{ contains('pull_request,push', github.event_name) }} | |
| uses: ./.github/workflows/build-docker.yml | |
| with: | |
| os: wasm32-emscripten | |
| cmake-configuration-ex: '-DEMSCRIPTEN=ON' | |
| build-type: 'MinSizeRel' | |
| secrets: inherit | |
| build-gh_runner-ubuntu-22_04: | |
| if: ${{ contains('schedule,push', github.event_name) }} | |
| uses: ./.github/workflows/build-gh_runner.yml | |
| with: | |
| os: ubuntu-22.04 | |
| secrets: inherit | |
| build-gh_runner-windows-2022: | |
| needs: precheck-branch-changes | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/build-gh_runner.yml | |
| with: | |
| os: windows-2022 | |
| cmake-configuration-ex: '-T host=x64 -A x64 -DUSE_CPPUNIT=OFF -DCLIENTTOOLS_ONLY=ON -DUSE_AZURE=OFF -DINCLUDE_PLUGINS=OFF -DUSE_CASSANDRA=OFF -DUSE_PARQUET=OFF -DUSE_JAVA=OFF -DUSE_OPENLDAP=OFF' | |
| secrets: inherit | |
| build-gh_runner-windows-2025: | |
| if: ${{ contains('schedule,push', github.event_name) }} | |
| uses: ./.github/workflows/build-gh_runner.yml | |
| with: | |
| os: windows-2025 | |
| cmake-configuration-ex: '-T host=x64 -A x64 -DUSE_CPPUNIT=OFF -DCLIENTTOOLS_ONLY=ON -DINCLUDE_PLUGINS=OFF -DUSE_AZURE=OFF -DUSE_CASSANDRA=OFF -DUSE_PARQUET=OFF -DUSE_JAVA=OFF -DUSE_OPENLDAP=OFF' | |
| secrets: inherit | |
| build-gh_runner-macos-14-x86_64: | |
| needs: precheck-branch-changes | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/build-gh_runner.yml | |
| with: | |
| os: macos-14 | |
| build-type: 'Release' | |
| cmake-configuration-ex: '-DCMAKE_OSX_ARCHITECTURES=x86_64 -DCPACK_SYSTEM_NAME=Darwin-x86_64 -DUSE_PYTHON3=OFF -DUSE_CPPUNIT=OFF -DCLIENTTOOLS_ONLY=ON -DINCLUDE_PLUGINS=OFF -DUSE_AZURE=OFF -DUSE_CASSANDRA=OFF -DSUPPRESS_CASSANDRAEMBED=ON -DUSE_JAVA=OFF -DUSE_OPENLDAP=OFF' | |
| secrets: inherit | |
| build-gh_runner-macos-14-arm64: | |
| needs: precheck-branch-changes | |
| if: ${{ contains('pull_request,push', github.event_name) && needs.precheck-branch-changes.outputs.branch_changed == 'true' }} | |
| uses: ./.github/workflows/build-gh_runner.yml | |
| with: | |
| os: macos-14 | |
| build-type: 'Release' | |
| cmake-configuration-ex: '-DCMAKE_OSX_ARCHITECTURES=arm64 -DUSE_CPPUNIT=OFF -DCLIENTTOOLS_ONLY=ON -DINCLUDE_PLUGINS=OFF -DUSE_AZURE=OFF -DUSE_CASSANDRA=OFF -DSUPPRESS_CASSANDRAEMBED=ON -DUSE_JAVA=OFF -DUSE_OPENLDAP=OFF' | |
| secrets: inherit | |