-
Notifications
You must be signed in to change notification settings - Fork 0
executable file
·99 lines (88 loc) · 4.01 KB
/
otsdaq-spack-selfhosted.yaml
File metadata and controls
executable file
·99 lines (88 loc) · 4.01 KB
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
94
95
96
97
98
99
name: Build otsdaq-spack docker image (self hosted)
on:
schedule:
- cron: "0 0 * * 5"
push:
branches: [ main ]
tags:
- 'v*'
paths:
- dockerfiles/otsdaq-spack.dockerfile
- .github/workflows/otsdaq-spack-selfhosted.yaml
workflow_dispatch:
jobs:
push_to_registries:
name: Push Docker image to multiple registries
permissions:
packages: write
contents: read
strategy:
fail-fast: false
matrix:
os: [ '9' ] # , '10' ]
spackVer: [ 'v0.28', 'v1.1' ]
runs-on: [self-hosted, "alma${{ matrix.os }}"]
steps:
- name: Test CVMFS
id: cvmfsdirs
run: |
ls -l /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_${{matrix.spackVer}}
art=`ls -d /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_${{matrix.spackVer}}/art-suite-*-al${{matrix.os}}|tail -1|sed 's|.*/||g'`
artdaq=`ls -d /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_${{matrix.spackVer}}/artdaq-*-al${{matrix.os}}|tail -1|sed 's|.*/||g'`
ots=`ls -d /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_${{matrix.spackVer}}/ots-*-al${{matrix.os}}|tail -1|sed 's|.*/||g'`
echo "${art} ${artdaq} ${ots}"
echo "art=${art}" >> $GITHUB_OUTPUT
echo "artdaq=${artdaq}" >> $GITHUB_OUTPUT
echo "ots=${ots}" >> $GITHUB_OUTPUT
- name: Check out the daq-docker repo
uses: actions/checkout@main
with:
repository: art-daq/daq-docker
path: daq-docker
- name: Log in to Docker Hub
uses: docker/login-action@master
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Log in to the Container registry
uses: docker/login-action@master
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.TOKEN_GHIO }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@master
with:
images: |
eflumerf/otsdaq-spack
ghcr.io/art-daq/otsdaq-spack
tags: |
type=raw,value=latest,enable=${{matrix.os == '9' && matrix.spackVer == 'v0.28' }}
type=raw,value=alma${{matrix.os}}-spack${{matrix.spackVer}}
type=ref,event=branch
type=ref,event=tag
- name: prepare build dir
run: |
build_dir="${{ github.workspace }}/docker-build"
mkdir -p $build_dir
cd $build_dir
cp ${{ github.workspace }}/daq-docker/dockerfiles/otsdaq-spack.dockerfile $build_dir/Dockerfile
rsync --mkpath --delete --progress -ax /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_${{matrix.spackVer}}/${{ steps.cvmfsdirs.outputs.art }}/ $build_dir/spack_${{matrix.spackVer}}/${{ steps.cvmfsdirs.outputs.art }}
rsync --mkpath --delete --progress -ax /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_${{matrix.spackVer}}/${{ steps.cvmfsdirs.outputs.artdaq }}/ $build_dir/spack_${{matrix.spackVer}}/${{ steps.cvmfsdirs.outputs.artdaq }}
rsync --mkpath --delete --progress -ax /cvmfs/fermilab.opensciencegrid.org/products/artdaq/spack_${{matrix.spackVer}}/${{ steps.cvmfsdirs.outputs.ots }}/ $build_dir/spack_${{matrix.spackVer}}/${{ steps.cvmfsdirs.outputs.ots }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@master
- name: Build and push Docker images
uses: docker/build-push-action@master
with:
context: ${{ github.workspace }}/docker-build
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
ART_AREA=${{ steps.cvmfsdirs.outputs.art }}
ARTDAQ_AREA=${{ steps.cvmfsdirs.outputs.artdaq }}
OTS_AREA=${{ steps.cvmfsdirs.outputs.ots }}
BASE_IMAGE=eflumerf/alma${{ matrix.os }}-spack:latest
SPACK_VERSION=${{ matrix.spackVer }}