mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 08:41:16 +00:00
ci: Add github workflow to build development environments
This commit is contained in:
parent
a1e5962262
commit
3641428bdd
48
.github/workflows/development_environment.yml
vendored
Normal file
48
.github/workflows/development_environment.yml
vendored
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
name: Build development environments
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build and publish oci and sif images
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: fedora:latest
|
||||||
|
permissions:
|
||||||
|
packages: write
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [fedora, ubuntu]
|
||||||
|
include:
|
||||||
|
- os: fedora
|
||||||
|
version: [36, 35, 34, 33]
|
||||||
|
- os: ubuntu
|
||||||
|
version: [22.04, 20.04]
|
||||||
|
env:
|
||||||
|
registry: ghcr.io
|
||||||
|
arg: VERSION=${{matrix.version}}
|
||||||
|
tag: ${{env.registry}}/${{github.repository_owner}}/fairmq-dev/${{matrix.os}}-${{matrix.version}}:latest
|
||||||
|
containerfile: test/ci/Containerfile.${{matrix.os}}
|
||||||
|
sif: oras://${{env.registry}}/${{github.repository_owner}}/fairmq-dev/${{matrix.os}}-${{matrix.version}}-sif:latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Install latest buildah and apptainer
|
||||||
|
run: |
|
||||||
|
sudo dnf -y update
|
||||||
|
sudo dnf -y install buildah apptainer
|
||||||
|
sudo dnf -y clean all
|
||||||
|
- name: Build oci image
|
||||||
|
run: buildah build -f oci --build-arg ${{env.arg}} -t ${{env.tag}} -f ${{env.containerfile}} .
|
||||||
|
- name: Login (buildah) to ${{env.registry}}
|
||||||
|
run: buildah login -u ${{github.actor}} -p ${{github.token}} ${{env.registry}}
|
||||||
|
- name: Push oci image as ${{env.tag}}
|
||||||
|
run: buildah push ${{env.tag}}
|
||||||
|
- name: List buildah images
|
||||||
|
run: build images
|
||||||
|
- name: Convert oci image to sif format
|
||||||
|
run: apptainer pull docker://${{tag}}
|
||||||
|
- name: Login (apptainer) to oras://${{env.registry}}
|
||||||
|
run: apptainer remote login -u ${{github.actor}} -p ${{github.token}} oras://${{env.registry}}
|
||||||
|
- name: Push sif image as ${{env.sif}}
|
||||||
|
run: apptainer push ./${{matrix.os}}-${{matrix.version}}_latest.sif ${{sif}}
|
Loading…
Reference in New Issue
Block a user