1515
1616jobs :
1717 base-image-build :
18- name : xcache:${{ matrix.osg_series }}-${{ matrix.repo }} image build
18+ name : xcache:${{ matrix.osg_series.name }}-${{ matrix.repo }} image build
1919 runs-on : ubuntu-latest
2020 strategy :
2121 fail-fast : False
2222 matrix :
2323 repo : ['development', 'testing', 'release']
24- osg_series : ['3.6']
24+ osg_series :
25+ - name : ' 3.6'
26+ os : ' el7'
27+ - name : ' 23'
28+ os : ' el9'
29+ # FIXME: disable OSG 23 dev until we have fixed the mash
30+ # cache + signed RPMs issue in the prod repo
31+ exclude :
32+ - repo : ' development'
33+ osg_series : {name: '23', os: 'el9'}
2534 steps :
2635
2736 - uses : actions/checkout@v3
@@ -30,11 +39,11 @@ jobs:
3039 uses : actions/cache@v3
3140 with :
3241 path : /tmp/.base-buildx-cache
33- key : base-${{ matrix.osg_series}}-${{ matrix.repo }}-buildx-${{ github.sha }}-${{ github.run_id }}
42+ key : base-${{ matrix.osg_series.name }}-${{ matrix.repo }}-buildx-${{ github.sha }}-${{ github.run_id }}
3443 # allow cache hits from previous runs of the current branch,
3544 # parent branch, then upstream branches, in that order
3645 restore-keys : |
37- base-${{ matrix.osg_series }}-${{ matrix.repo }}-buildx-
46+ base-${{ matrix.osg_series.name }}-${{ matrix.repo }}-buildx-
3847
3948 - name : Set up Docker Buildx
4049@@ -45,20 +54,30 @@ jobs:
4554 context : .
4655 build-args : |
4756 BASE_YUM_REPO=${{ matrix.repo }}
48- BASE_OSG_SERIES=${{ matrix.osg_series }}
57+ BASE_OSG_SERIES=${{ matrix.osg_series.name }}
58+ BASE_OS=${{ matrix.osg_series.os }}
4959 pull : True
5060 target : xcache
5161 cache-to : type=local,dest=/tmp/.base-buildx-cache,mode=max
5262
5363 xcache-image-builds :
54- name : ${{ matrix.image }}:${{ matrix.osg_series }}-${{ matrix.repo }} image build
64+ name : ${{ matrix.image }}:${{ matrix.osg_series.name }}-${{ matrix.repo }} image build
5565 needs : [base-image-build]
5666 strategy :
5767 fail-fast : False
5868 matrix :
5969 image : [atlas-xcache, cms-xcache, stash-cache, stash-origin]
6070 repo : ['development', 'testing', 'release']
61- osg_series : ['3.6']
71+ osg_series :
72+ - name : ' 3.6'
73+ os : ' el7'
74+ - name : ' 23'
75+ os : ' el9'
76+ # FIXME: disable OSG 23 dev until we have fixed the mash
77+ # cache + signed RPMs issue in the prod repo
78+ exclude :
79+ - repo : ' development'
80+ osg_series : {name: '23', os: 'el9'}
6281 runs-on : ubuntu-latest
6382 steps :
6483 - uses : actions/checkout@v3
@@ -67,13 +86,13 @@ jobs:
6786 uses : actions/cache@v3
6887 with :
6988 path : /tmp/.base-buildx-cache
70- key : base-${{ matrix.osg_series }}-${{ matrix.repo }}-buildx-${{ github.sha }}-${{ github.run_id }}
89+ key : base-${{ matrix.osg_series.name }}-${{ matrix.repo }}-buildx-${{ github.sha }}-${{ github.run_id }}
7190
7291 - name : Cache child image
7392 uses : actions/cache@v3
7493 with :
7594 path : /tmp/.${{ matrix.image }}-buildx-cache
76- key : ${{ matrix.image}}-${{matrix.osg_series }}-${{ matrix.repo}}-build-${{ github.sha}}-${{ github.run_id }}
95+ key : ${{ matrix.image}}-${{matrix.osg_series.name }}-${{ matrix.repo}}-build-${{ github.sha}}-${{ github.run_id }}
7796
7897 - name : Set up Docker Buildx
799884103 context : .
85104 build-args : |
86105 BASE_YUM_REPO=${{ matrix.repo }}
87- BASE_OSG_SERIES=${{ matrix.osg_series }}
106+ BASE_OSG_SERIES=${{ matrix.osg_series.name }}
107+ BASE_OS=${{ matrix.osg_series.os }}
88108 target : ${{ matrix.image }}
89109 cache-from : type=local,src=/tmp/.base-buildx-cache
90110 cache-to : type=local,dest=/tmp/.${{ matrix.image }}-buildx-cache,mode=max
@@ -98,21 +118,30 @@ jobs:
98118 fail-fast : False
99119 matrix :
100120 repo : ['development', 'testing', 'release']
101- osg_series : ['3.6']
121+ osg_series :
122+ - name : ' 3.6'
123+ os : ' el7'
124+ - name : ' 23'
125+ os : ' el9'
126+ # FIXME: disable OSG 23 dev until we have fixed the mash
127+ # cache + signed RPMs issue in the prod repo
128+ exclude :
129+ - repo : ' development'
130+ osg_series : {name: '23', os: 'el9'}
102131 steps :
103132 - uses : actions/checkout@v3
104133
105134 - name : Load stash-cache build cache
106135 uses : actions/cache@v3
107136 with :
108137 path : /tmp/.stash-cache-buildx-cache
109- key : stash-cache-${{ matrix.osg_series }}-${{ matrix.repo}}-build-${{ github.sha}}-${{ github.run_id }}
138+ key : stash-cache-${{ matrix.osg_series.name }}-${{ matrix.repo}}-build-${{ github.sha}}-${{ github.run_id }}
110139
111140 - name : Load stash-origin build cache
112141 uses : actions/cache@v3
113142 with :
114143 path : /tmp/.stash-origin-buildx-cache
115- key : stash-origin-${{ matrix.osg_series }}-${{ matrix.repo}}-build-${{ github.sha}}-${{ github.run_id }}
144+ key : stash-origin-${{ matrix.osg_series.name }}-${{ matrix.repo}}-build-${{ github.sha}}-${{ github.run_id }}
116145
117146 - name : Set up Docker Buildx
118147@@ -123,7 +152,7 @@ jobs:
123152 context : .
124153 build-args : |
125154 BASE_YUM_REPO=${{ matrix.repo }}
126- BASE_OSG_SERIES=${{ matrix.osg_series }}
155+ BASE_OSG_SERIES=${{ matrix.osg_series.name }}
127156 load : True # allow access to built images through the Docker CLI
128157 tags : stash-cache:latest
129158 target : stash-cache
@@ -135,7 +164,7 @@ jobs:
135164 context : .
136165 build-args : |
137166 BASE_YUM_REPO=${{ matrix.repo }}
138- BASE_OSG_SERIES=${{ matrix.osg_series }}
167+ BASE_OSG_SERIES=${{ matrix.osg_series.name }}
139168 load : True # allow access to built images through the Docker CLI
140169 tags : stash-origin:latest
141170 target : stash-origin
@@ -155,13 +184,22 @@ jobs:
155184 run : echo "dtag=$(date +%Y%m%d-%H%M)" >> $GITHUB_OUTPUT
156185
157186 push-images :
158- name : Push ${{ matrix.image }}:${{ matrix.osg_series }}-${{ matrix.repo }} image
187+ name : Push ${{ matrix.image }}:${{ matrix.osg_series.name }}-${{ matrix.repo }} image
159188 if : contains(fromJson('["push", "repository_dispatch", "workflow_dispatch"]'), github.event_name) && startsWith(github.repository, 'opensciencegrid/')
160189 strategy :
161190 matrix :
162191 image : [atlas-xcache, cms-xcache, stash-cache, stash-origin, xcache]
163192 repo : ['development', 'testing', 'release']
164- osg_series : ['3.6']
193+ osg_series :
194+ - name : ' 3.6'
195+ os : ' el7'
196+ - name : ' 23'
197+ os : ' el9'
198+ # FIXME: disable OSG 23 dev until we have fixed the mash
199+ # cache + signed RPMs issue in the prod repo
200+ exclude :
201+ - repo : ' development'
202+ osg_series : {name: '23', os: 'el9'}
165203 needs : [make-date-tag, test-stash-cache]
166204 runs-on : ubuntu-latest
167205 steps :
@@ -171,13 +209,13 @@ jobs:
171209 uses : actions/cache@v3
172210 with :
173211 path : /tmp/.${{ matrix.image }}-buildx-cache
174- key : ${{ matrix.image}}-${{ matrix.osg_series }}-${{ matrix.repo}}-build-${{ github.sha}}-${{ github.run_id }}
212+ key : ${{ matrix.image}}-${{ matrix.osg_series.name }}-${{ matrix.repo}}-build-${{ github.sha}}-${{ github.run_id }}
175213
176214 - name : Generate tag list
177215 id : generate-tag-list
178216 env :
179217 REPO : ${{ matrix.repo }}
180- SERIES : ${{ matrix.osg_series }}
218+ SERIES : ${{ matrix.osg_series.name }}
181219 IMAGE : ${{ matrix.image }}
182220 TIMESTAMP : ${{ needs.make-date-tag.outputs.dtag }}
183221 run : |
@@ -216,7 +254,7 @@ jobs:
216254 push : True
217255 build-args : |
218256 BASE_YUM_REPO=${{ matrix.repo }}
219- BASE_OSG_SERIES=${{ matrix.osg_series }}
257+ BASE_OSG_SERIES=${{ matrix.osg_series.name }}
220258 tags : " ${{ steps.generate-tag-list.outputs.taglist }}"
221259 target : ${{ matrix.image }}
222260 cache-from : type=local,src=/tmp/.${{ matrix.image }}-buildx-cache
0 commit comments