-
Notifications
You must be signed in to change notification settings - Fork 8
89 lines (75 loc) · 3.37 KB
/
daily-build.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
name: hdf5 examples daily build
# Controls when the action will run. Triggers the workflow on a schedule
on:
workflow_dispatch:
inputs:
use_ignore:
description: 'Ignore has changes check'
type: string
required: false
default: check
use_environ:
description: 'Environment to locate files'
type: string
required: false
default: snapshots
# push:
# branches: [ "master" ]
pull_request:
branches: [ "master" ]
permissions:
contents: read
# A workflow run is made up of one or more jobs that can run sequentially or
# in parallel.
jobs:
get-base-names:
runs-on: ubuntu-latest
outputs:
hdf5-name: ${{ steps.gethdf5base.outputs.HDF5_NAME_BASE }}
run-ignore: ${{ steps.getinputs.outputs.INPUTS_IGNORE }}
run-environ: ${{ steps.getinputs.outputs.INPUTS_ENVIRON }}
steps:
- uses: actions/checkout@v3
- name: Get hdf5 release base name
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: 'HDFGroup/hdf5'
version: 'tags/snapshot'
file: 'last-file.txt'
- name: Read base-name file
id: gethdf5base
run: echo "HDF5_NAME_BASE=$(cat last-file.txt)" >> $GITHUB_OUTPUT
- run: echo "hdf5 base name is ${{ steps.gethdf5base.outputs.HDF5_NAME_BASE }}."
- name: Read inputs
id: getinputs
run: |
echo "INPUTS_IGNORE=${{ ((github.event.inputs.use_ignore == '' && github.event.inputs.use_ignore) || 'ignore') }}" >> $GITHUB_OUTPUT
echo "INPUTS_ENVIRON=${{ ((github.event.inputs.use_environ == '' && github.event.inputs.use_environ) || 'snapshots') }}" >> $GITHUB_OUTPUT
- run: echo "use_ignore is ${{ steps.getinputs.outputs.INPUTS_IGNORE }}."
- run: echo "use_environ is ${{ steps.getinputs.outputs.INPUTS_ENVIRON }}."
call-workflow-tarball:
needs: get-base-names
uses: ./.github/workflows/tarball.yml
with:
use_ignore: ${{ needs.get-base-names.outputs.run-ignore }}
use_environ: ${{ needs.get-base-names.outputs.run-environ }}
call-workflow-ctest:
needs: [get-base-names, call-workflow-tarball]
uses: ./.github/workflows/cmake-ctest.yml
with:
file_base: ${{ needs.call-workflow-tarball.outputs.file_base }}
use_hdf: ${{ needs.get-base-names.outputs.hdf5-name }}
use_environ: ${{ needs.get-base-names.outputs.run-environ }}
if: ${{ ((needs.get-base-names.outputs.run-environ == 'snapshots') && ((needs.call-workflow-tarball.outputs.has_changes == 'true') || (needs.get-base-names.outputs.run-ignore == 'ignore'))) || (needs.get-base-names.outputs.run-environ == 'release') }}
call-workflow-release:
needs: [get-base-names, call-workflow-tarball, call-workflow-ctest]
permissions:
contents: write # In order to allow tag creation
uses: ./.github/workflows/release-files.yml
with:
file_base: ${{ needs.call-workflow-tarball.outputs.file_base }}
file_branch: ${{ needs.call-workflow-tarball.outputs.file_branch }}
file_sha: ${{ needs.call-workflow-tarball.outputs.file_sha }}
use_tag: snapshot
use_environ: ${{ needs.get-base-names.outputs.run-environ }}
if: ${{ ((needs.get-base-names.outputs.run-environ == 'snapshots') && ((needs.call-workflow-tarball.outputs.has_changes == 'true') || (needs.get-base-names.outputs.run-ignore == 'ignore'))) || (needs.get-base-names.outputs.run-environ == 'release') }}