-
Notifications
You must be signed in to change notification settings - Fork 0
93 lines (85 loc) · 2.92 KB
/
rpm-build-and-test.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
90
91
92
93
name: RPM Build and Test
env:
# TODO: we really need to define a list of supported versions (ideally it's no more than 2)
# build is done on the lowest version and test on the highest with a "sanity test"
# stage done on all versions in the list ecept the highest
EL8_BUILD_VERSION: 8.6
EL8_VERSION: 8.8
EL9_BUILD_VERSION: 9
EL9_VERSION: 9
LEAP15_VERSION: 15.5
# Which distros to build for
DISTROS: el8 el9 leap15
# DO NOT LAND -- just to speed up testing
# TEST_TAG: pr
TEST_TAG: always_passes,vm
PACKAGING_DIR: .
NAME: argobots
on:
workflow_dispatch:
inputs:
pr-repos:
description: 'Any PR-repos that you want included in this build'
required: false
commit-message:
description: 'Commit message to use rather than the one from git'
required: false
rpm-test-version:
description: 'RPM version to test'
required: false
pull_request:
concurrency:
group: rpm-build-and-test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
defaults:
run:
shell: bash --noprofile --norc -ueo pipefail {0}
permissions: {}
jobs:
Variables:
# What a dumb jobs this is
# Needed because of https://github.com/orgs/community/discussions/26671
# Ideally want to be able to use:
# with:
# NAME: ${{ env.NAME }}
# in the Call-RPM-Build job but the above issue prevents it
name: Compute outputs
runs-on: [self-hosted, light]
outputs:
NAME: ${{ env.NAME }}
DISTROS: ${{ env.DISTROS }}
EL8_BUILD_VERSION: ${{ env.EL8_BUILD_VERSION }}
EL9_BUILD_VERSION: ${{ env.EL9_BUILD_VERSION }}
LEAP15_VERSION: ${{ env.LEAP15_VERSION }}
PACKAGING_DIR: ${{ env.PACKAGING_DIR }}
TEST_TAG: ${{ env.TEST_TAG }}
steps:
- name: Echo
if: false
run: echo
Call-RPM-Build:
name: Build RPM
needs: Variables
if: inputs.rpm-test-version == ''
permissions:
statuses: write
uses: daos-stack/actions-lib/.github/workflows/rpm-build.yml@bmurrell/initial
secrets: inherit
with:
NAME: ${{ needs.Variables.outputs.NAME }}
DISTROS: ${{ needs.Variables.outputs.DISTROS }}
EL8_BUILD_VERSION: ${{ needs.Variables.outputs.EL8_BUILD_VERSION }}
EL9_BUILD_VERSION: ${{ needs.Variables.outputs.EL9_BUILD_VERSION }}
LEAP15_VERSION: ${{ needs.Variables.outputs.LEAP15_VERSION }}
PACKAGING_DIR: ${{ needs.Variables.outputs.PACKAGING_DIR}}
Call-RPM-Test:
# TODO: investigate how cancelling this can cancel the downstream job
name: Test RPMs with DAOS
needs: [Variables, Call-RPM-Build]
uses: daos-stack/actions-lib/.github/workflows/rpm-test.yml@bmurrell/initial
secrets: inherit
with:
NAME: ${{ needs.Variables.outputs.NAME }}
DISTROS: ${{ needs.Variables.outputs.DISTROS }}
TEST_TAG: ${{ needs.Variables.outputs.TEST_TAG }}
RUN_GHA: ${{ needs.Call-RPM-Build.outputs.run-gha == 'true' }}