-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add
gdb
, add build/push container action, misc improvements (#21)
* Include GNU debugger `gdb` to `mixer.sif`. Fixes #20 * rebuilt mixer.sif container * regressed build for westmere architecture * rebuilt container for westmere arch * update installer scripts, add build action * path * tar version * bump Python=3.10 * update plink binaries * updating docs * Add opencontainers labels * use mixer_sif namespace for oras push * no quad * remove -mfpmath=sse flag * test -march=x86_64 -mfpmath=sse flags * dash * roll back edits * documentation for Docker image * documentation * roll back mixer build * updated changelog * trigger on main branch and tags updates only * edit path
- Loading branch information
Showing
18 changed files
with
366 additions
and
53 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
name: container-build-push | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'main' | ||
tags: | ||
- "v*.*.*" | ||
|
||
jobs: | ||
docker: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Docker meta | ||
id: meta | ||
uses: docker/metadata-action@v5 | ||
with: | ||
# list of Docker images to use as base name for tags | ||
images: | | ||
ghcr.io/${{ github.repository_owner }}/mixer | ||
# generate Docker tags based on the following events/attributes | ||
tags: | | ||
type=schedule | ||
type=ref,event=branch | ||
type=ref,event=pr | ||
type=semver,pattern={{version}} | ||
type=semver,pattern={{major}}.{{minor}} | ||
type=semver,pattern={{major}} | ||
type=sha | ||
type=raw,value=latest,enable={{is_default_branch}} | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v3 | ||
- name: Login to GitHub Container Registry | ||
if: github.event_name != 'pull_request' | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.repository_owner }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Build and push | ||
uses: docker/build-push-action@v5 | ||
with: | ||
context: "{{defaultContext}}:src" | ||
push: ${{ github.event_name != 'pull_request' }} | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} | ||
file: | ||
./dockerfiles/mixer/Dockerfile | ||
platforms: linux/amd64 | ||
|
||
build-apptainer-container: | ||
needs: docker | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
name: Build Apptainer Container | ||
steps: | ||
- name: Check out code for the container builds | ||
uses: actions/checkout@v4 | ||
- name: Docker meta | ||
id: meta | ||
uses: docker/metadata-action@v5 | ||
with: | ||
images: | | ||
ghcr.io/${{ github.repository_owner }}/mixer | ||
tags: | | ||
type=semver,pattern={{version}} | ||
type=ref,event=branch | ||
type=sha | ||
type=raw,value=latest,enable={{is_default_branch}} | ||
- name: Build and push Apptainer container | ||
run: | | ||
tags="${{ steps.meta.outputs.tags }}" | ||
csv_tags=$(printf "%s\n" "$tags" | awk -F: 'NR==1{printf "%s,", $0; next} {printf "%s,", $NF}' | sed 's/,$//') | ||
IFS= read -r first_tag <<EOF | ||
$tags | ||
EOF | ||
push_tags="$(printf $csv_tags | sed -e "s/mixer/mixer_sif/g")" | ||
echo ${{ secrets.GITHUB_TOKEN }} | oras login --username ${{ github.repository_owner }} --password-stdin ghcr.io | ||
docker pull kaczmarj/apptainer:latest | ||
docker run --rm --privileged -v $(pwd):/work kaczmarj/apptainer build mixer.sif docker://"$first_tag" | ||
oras push "$push_tags" mixer.sif | ||
rm mixer.sif | ||
shell: sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,6 @@ | ||
.DS_Store | ||
.DS_Store | ||
.bash_history | ||
usecases/partial.* | ||
usecases/shared.* | ||
usecases/unique.* | ||
usecases/.ipython |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,13 @@ | ||
all: mixer.sif | ||
|
||
%.sif: dockerfiles/%/Dockerfile | ||
docker build -t $* -f dockerfiles/$*/Dockerfile . && scripts/convert_docker_image_to_singularity.sh $* | ||
docker build -t $* -f dockerfiles/$*/Dockerfile . && \ | ||
scripts/convert_docker_image_to_singularity.sh $* && \ | ||
scripts/move_singularity_file.sh $* | ||
|
||
# Example commands executed by this make file | ||
# | ||
# Run "make hello.sif" will trigger this: | ||
# docker build -t hello -f dockerfiles/hello/Dockerfile . && scripts/convert_docker_image_to_singularity.sh hello # produces hello.sif | ||
# | ||
# Run "make mixer.sif" will trigger this: | ||
# docker build -t mixer -f dockerfiles/mixer/Dockerfile . && \ | ||
# scripts/convert_docker_image_to_singularity.sh mixer && \ # produces mixer.sif | ||
# scripts/move_singularity_file.sh mixer # moves mixer.sif to the <mixer>/singularity directory |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/bin/sh | ||
set -euo pipefail | ||
|
||
cd /tools | ||
wget https://boostorg.jfrog.io/artifactory/main/release/1.69.0/source/boost_1_69_0.tar.gz | ||
tar -xzvf boost_1_69_0.tar.gz && cd boost_1_69_0 | ||
./bootstrap.sh --with-libraries=program_options,filesystem,system,date_time | ||
./b2 --clean && ./b2 --j12 -a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/sh | ||
set -euo pipefail | ||
|
||
curl -sSL https://github.com/conda-forge/miniforge/releases/download/24.3.0-0/Mambaforge-24.3.0-0-$(uname)-$(uname -m).sh -o /tmp/mambaforge.sh \ | ||
&& mkdir /root/.conda \ | ||
&& bash /tmp/mambaforge.sh -bfp /usr/local \ | ||
&& rm -rf /tmp/mambaforge.sh | ||
|
||
export PATH=$PATH:/opt/conda/bin |
Oops, something went wrong.