Feature #3033 v12.0.0 (#3042) #19
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: Compilation Options | |
# Test matrix of MET configuration/compilation options | |
on: | |
# Note that scheduled cron events are run on the default branch. | |
# Enable this schedule when main_v12.0 becomes the default branch. | |
# schedule: | |
# - cron: '0 7 * * 0'' | |
push: | |
tags: | |
- '**' | |
workflow_dispatch: | |
env: | |
DOCKERHUB_REPO: dtcenter/met-dev | |
jobs: | |
job_control: | |
name: Determine which jobs to run | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set job controls | |
id: job_status | |
run: .github/jobs/set_job_controls.sh | |
env: | |
commit_msg: ${{ github.event.head_commit.message }} | |
force_tests: ${{ github.event.inputs.force_tests }} | |
outputs: | |
met_base_repo: ${{ steps.job_status.outputs.met_base_repo }} | |
met_base_tag: ${{ steps.job_status.outputs.met_base_tag }} | |
branch_name: ${{ steps.job_status.outputs.branch_name }} | |
compile: | |
name: Config Opts | |
runs-on: ubuntu-latest | |
needs: job_control | |
strategy: | |
matrix: | |
include: | |
- jobid: 'job1' | |
config: '' | |
- jobid: 'job2' | |
config: '--enable-all' | |
- jobid: 'job3' | |
config: '--enable-grib2' | |
- jobid: 'job4' | |
config: '--enable-python' | |
- jobid: 'job5' | |
config: '--enable-ugrid' | |
- jobid: 'job6' | |
config: '--enable-lidar2nc' | |
- jobid: 'job7' | |
config: '--enable-mode_graphics' | |
- jobid: 'job8' | |
config: '--enable-modis' | |
- jobid: 'job9' | |
config: '--enable-all MET_CXX_STANDARD=11' | |
- jobid: 'job10' | |
config: '--enable-all MET_CXX_STANDARD=14' | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Create directories to store output | |
run: mkdir -p ${RUNNER_WORKSPACE}/logs | |
- name: Compile MET in Docker | |
run: .github/jobs/build_docker_image.sh | |
env: | |
SOURCE_BRANCH: ${{ needs.job_control.outputs.branch_name }} | |
MET_BASE_REPO: ${{ needs.job_control.outputs.met_base_repo }} | |
MET_BASE_TAG: ${{ needs.job_control.outputs.met_base_tag }} | |
MET_CONFIG_OPTS: ${{ matrix.config }} | |
- name: Copy all build log files into logs directory | |
if: always() | |
run: cp ${GITHUB_WORKSPACE}/*.log ${RUNNER_WORKSPACE}/logs/ | |
- name: Upload logs as artifact | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: logs_${{ matrix.jobid }} | |
path: ${{ runner.workspace }}/logs | |
if-no-files-found: ignore | |