-
Notifications
You must be signed in to change notification settings - Fork 24
90 lines (72 loc) · 2.44 KB
/
compilation_options.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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-grib2 --enable-python --enable-lidar2nc --enable-mode_graphics --enable-modis'
- jobid: 'job3'
config: '--enable-grib2'
- jobid: 'job4'
config: '--enable-python'
- jobid: 'job5'
config: '--enable-lidar2nc'
- jobid: 'job6'
config: '--enable-mode_graphics'
- jobid: 'job7'
config: '--enable-modis'
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