Skip to content

Commit

Permalink
First page of new autamus packages (#411)
Browse files Browse the repository at this point in the history
* first page of new autamus packages
* retest with public images
* update docs

Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Co-authored-by: vsoch <vsoch@users.noreply.github.com>
  • Loading branch information
vsoch and vsoch committed Jun 23, 2021
1 parent 85e5116 commit 7bff5be
Show file tree
Hide file tree
Showing 20 changed files with 279 additions and 43 deletions.
91 changes: 51 additions & 40 deletions .github/workflows/test-container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,54 @@ on:
types: [labeled]

jobs:
test-registry:
changes:
if: ${{ github.event.label.name == 'container-recipe' }}
runs-on: ubuntu-latest
outputs:
changed_recipes: ${{ steps.files.outputs.added_modified }}
steps:
- name: Find changed recipes
id: files
uses: jitterbit/get-changed-files@b17fbb00bdc0c0f63fcf166580804b4d2cdc2a42
with:
format: 'json'

test-recipes:
needs:
- changes
runs-on: ubuntu-latest
strategy:
# Keep going on other deployments if anything bloops
fail-fast: false
matrix:
changed_recipe: ${{ fromJson(needs.changes.outputs.changed_recipes) }}

name: Check ${{ matrix.changed_recipe }}
steps:
- name: Continue
run: |
# Continue if we have a changed recipe file
if [[ "${{ matrix.changed_recipe }}" = registry* ]]; then
echo "keepgoing=true" >> $GITHUB_ENV
fi
- name: Checkout
if: ${{ env.keepgoing == 'true' }}
uses: actions/checkout@v2

- name: Make Space For Build
if: ${{ env.keepgoing == 'true' }}
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
- name: Install Dependencies
if: ${{ env.keepgoing == 'true' }}
run: |
sudo apt-get install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
- name: Install Lmod
if: ${{ env.keepgoing == 'true' }}
run: |
PKG_VERSION=8.4.27
PKG_URL="https://github.com/TACC/Lmod/archive/${PKG_VERSION}.tar.gz"
Expand All @@ -23,61 +62,33 @@ jobs:
./configure --prefix=/usr/share && make && make install
- uses: eWaterCycle/setup-singularity@v6
if: ${{ env.keepgoing == 'true' }}
name: Install Singularity
with:
singularity-version: 3.6.4

- name: Derive number of commits
run: |
cd /opt
branch="${{ github.head_ref }}"
git config --global user.email "github-actions"
git config --global user.name "github-actions@noreply.github.users.com"
git clone -b main https://github.com/singularityhub/singularity-hpc
cd singularity-hpc
git checkout -b $branch
git pull origin $branch
commits=$(git log --oneline "$branch" ^main | wc -l)
echo "Found $commits since main"
cd registry
touch changes.txt
# Note that you can also do: git diff --name-only $branch..main .
# We show the count of commits as a sanity check to the developer
for container_yaml in $(git diff --name-only HEAD~$commits..HEAD .); do
echo $container_yaml >> changes.txt
done
cat changes.txt
- name: Save changelist
uses: actions/upload-artifact@v2
with:
name: changes.txt
path: /opt/singularity-hpc/registry/changes.txt

- name: Create conda environment
if: ${{ env.keepgoing == 'true' }}
run: conda create --quiet -c conda-forge --name shpc spython

- uses: actions/checkout@v2
if: ${{ env.keepgoing == 'true' }}

- name: Install shpc
if: ${{ env.keepgoing == 'true' }}
run: |
export PATH="/usr/share/miniconda/bin:$PATH"
source activate shpc
pip install -e .
- name: Download changelist
uses: actions/download-artifact@v2
with:
name: changes.txt

- name: Run module tests
if: ${{ env.keepgoing == 'true' }}
run: |
export PATH="/usr/share/miniconda/bin:$PATH"
source activate shpc
cd registry
for container_yaml in $(cat ../changes.txt); do
module=$(dirname $container_yaml)
module=$(echo "${module/registry\//}")
echo "Testing $module"
shpc test --template ../shpc/tests/test-registry-module.sh --commands $module
done
container_yaml="${{ matrix.changed_recipe }}"
module=$(dirname $container_yaml)
module=$(echo "${module/registry\//}")
echo "Testing $module"
shpc test --template ../shpc/tests/test-registry-module.sh --commands $module
5 changes: 2 additions & 3 deletions docs/getting_started/developer-guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,8 @@ for others to use. You should:
4. You should generally choose smaller images (if possible) and define aliases (entrypoints) for the commands that you think would be useful.

A shell entrypoint for the container will be generated automatically.
When you open a pull request, if your branch prefix starts with ``recipe`` the PR
will test your recipe automatically. If you forget, you can ask a maintainer to apply
the ``container-recipe`` label and it will test accordingly.
When you open a pull request, a maintainer can apply
the ``container-recipe`` label and it will test your new or updated recipes accordingly.
Once your recipe is added to the repository, the versions will be automatically
updated with a nightly run. This means that you can pull the repository to get
updated recipes, and then check for updates (the bot to do this is not developed yet):
Expand Down
11 changes: 11 additions & 0 deletions registry/ghcr.io/autamus/ed/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
docker: ghcr.io/autamus/ed
url: https://github.com/orgs/autamus/packages/container/package/ed
maintainer: "@vsoch"
description: "GNU ed is a line-oriented text editor used to create, display, modify and otherwise manipulate text files, both interactively and via shell scripts https://www.gnu.org/software/ed."
latest:
"1.4": sha256:ec791627353859a7569abd79c9b1e1f01032e2a363afc925a85849b60e5aec27
tags:
"1.4": sha256:ec791627353859a7569abd79c9b1e1f01032e2a363afc925a85849b60e5aec27
aliases:
ed: /opt/view/bin/ed
red: /opt/view/bin/red
13 changes: 13 additions & 0 deletions registry/ghcr.io/autamus/emacs/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
docker: ghcr.io/autamus/emacs
url: https://github.com/orgs/autamus/packages/container/package/emacs
maintainer: "@vsoch"
description: The Emacs programmable text editor. https://www.gnu.org/software/emacs
latest:
"27.2": sha256:a1fa851f9dbd3ba0474fd8f0365f23ba5cedc46095c5f6dedfa5fd433652a84a
tags:
"27.2": sha256:a1fa851f9dbd3ba0474fd8f0365f23ba5cedc46095c5f6dedfa5fd433652a84a
aliases:
ebrowse: /opt/view/bin/ebrowse
emacs: /opt/view/bin/emacs
emacsclient: /opt/view/bin/emacsclient
etags: /opt/view/bin/etags
10 changes: 10 additions & 0 deletions registry/ghcr.io/autamus/gawk/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
docker: ghcr.io/autamus/gawk
url: https://github.com/orgs/autamus/packages/container/package/gawk
maintainer: '@vsoch'
description: gawk is the GNU implementation of awk. The awk utility interprets a special-purpose programming language that makes it possible to handle simple data-reformatting jobs with just a few lines of code. https://www.gnu.org/software/gawk/
latest:
5.10.0: sha256:502eebe2f9a93ce7bb06fc6f97f8ce8dd76802a380ade9b4c71f0d3f15ef0a45
tags:
5.10.0: sha256:502eebe2f9a93ce7bb06fc6f97f8ce8dd76802a380ade9b4c71f0d3f15ef0a45
aliases:
gawk: /opt/view/bin/gawk
10 changes: 10 additions & 0 deletions registry/ghcr.io/autamus/htop/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
docker: ghcr.io/autamus/htop
url: https://github.com/orgs/autamus/packages/container/package/htop
maintainer: '@vsoch'
description: htop is an interactive text-mode process viewer for Unix systems. https://github.com/hishamhm/htop
latest:
2.2.0: sha256:017e8c7e87614dddb1fd01fb1892d40947501596504bf4d27af71c677d122851
tags:
2.2.0: sha256:017e8c7e87614dddb1fd01fb1892d40947501596504bf4d27af71c677d122851
aliases:
htop: /opt/view/bin/htop
8 changes: 8 additions & 0 deletions registry/ghcr.io/autamus/py-libensemble/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
docker: ghcr.io/autamus/py-libensemble
url: https://github.com/orgs/autamus/packages/container/package/py-libensemble
maintainer: '@vsoch'
description: Library for managing ensemble-like collections of computations.
latest:
"0.7.2": sha256:ac19eb043b9b185e299616ed642d0b9f350c2373ac8b3bb3c415439b89cc8801
tags:
"0.7.2": sha256:ac19eb043b9b185e299616ed642d0b9f350c2373ac8b3bb3c415439b89cc8801
8 changes: 8 additions & 0 deletions registry/ghcr.io/autamus/py-petsc4py/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
docker: ghcr.io/autamus/py-petsc4py
url: https://github.com/orgs/autamus/packages/container/package/py-petsc4py
maintainer: '@vsoch'
description: This package provides Python bindings for the PETSc package.
latest:
"3.15.1": sha256:4a6b58e25f765f191c2ddad01ed33f4dee4de953ef7e59ff1f31e4e6d0c23f8a
tags:
"3.15.1": sha256:4a6b58e25f765f191c2ddad01ed33f4dee4de953ef7e59ff1f31e4e6d0c23f8a
13 changes: 13 additions & 0 deletions registry/ghcr.io/autamus/rempi/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
docker: ghcr.io/autamus/rempi
url: https://github.com/orgs/autamus/packages/container/package/rempi
maintainer: '@vsoch'
description: ReMPI is a record-and-replay tool for MPI applications.
latest:
"1.1.0": sha256:13f3ae61146c389b0fef9e6e1f331a8f229cc15c886a215c9437249301903400
tags:
"1.1.0": sha256:13f3ae61146c389b0fef9e6e1f331a8f229cc15c886a215c9437249301903400
aliases:
rempi: /opt/view/bin/rempi
rempi_record: /opt/view/bin/rempi_record
rempi_replay: /opt/view/bin/rempi_replay
reset: /opt/view/bin/reset
11 changes: 11 additions & 0 deletions registry/ghcr.io/autamus/rsync/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
docker: ghcr.io/autamus/rsync
url: https://github.com/orgs/autamus/packages/container/package/rsync
maintainer: '@vsoch'
description: An open source utility that provides fast incremental file transfer. https://rsync.samba.org/
latest:
"3.2.2": sha256:99c4780710b1d844ca8998dea4c59b2d3b54c28ac206dc3ee580ca2c34f455d1
tags:
"3.2.2": sha256:99c4780710b1d844ca8998dea4c59b2d3b54c28ac206dc3ee580ca2c34f455d1
aliases:
rsync: /opt/view/bin/rsync
rsync-ssl: /opt/view/bin/rsync-ssl
46 changes: 46 additions & 0 deletions registry/ghcr.io/autamus/scr/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
docker: ghcr.io/autamus/scr
url: https://github.com/orgs/autamus/packages/container/package/scr
maintainer: '@vsoch'
description: SCR caches checkpoint data in storage on the compute nodes of a Linux cluster to provide a fast, scalable checkpoint/restart capability for MPI codes.
latest:
"3.0.rc.1": sha256:86b2b8c8b530e17b01714be42e37aaa85061015aefd7683fa3332cd0aa61e958
tags:
"3.0.rc.1": sha256:86b2b8c8b530e17b01714be42e37aaa85061015aefd7683fa3332cd0aa61e958s
aliases:
scancel: /opt/view/bin/scancel
scontrol: /opt/view/bin/scontrol
scp: /opt/view/bin/scp
scr_check_node: /opt/view/bin/scr_check_node
scr_ckpt_interval.py: /opt/view/bin/scr_ckpt_interval.py
scr_copy: /opt/view/bin/scr_copy
scr_crc32: /opt/view/bin/scr_crc32
scr_env: /opt/view/bin/scr_env
scr_flush_file: /opt/view/bin/scr_flush_file
scr_get_jobstep_id: /opt/view/bin/scr_get_jobstep_id
scr_glob_hosts: /opt/view/bin/scr_glob_hosts
scr_halt: /opt/view/bin/scr_halt
scr_halt_cntl: /opt/view/bin/scr_halt_cntl
scr_index: /opt/view/bin/scr_index
scr_inspect: /opt/view/bin/scr_inspect
scr_kill_jobstep: /opt/view/bin/scr_kill_jobstep
scr_list_dir: /opt/view/bin/scr_list_dir
scr_list_down_nodes: /opt/view/bin/scr_list_down_nodes
scr_log_event: /opt/view/bin/scr_log_event
scr_log_transfer: /opt/view/bin/scr_log_transfer
scr_nodes_file: /opt/view/bin/scr_nodes_file
scr_postrun: /opt/view/bin/scr_postrun
scr_prefix: /opt/view/bin/scr_prefix
scr_prerun: /opt/view/bin/scr_prerun
scr_print: /opt/view/bin/scr_print
scr_rebuild_partner: /opt/view/bin/scr_rebuild_partner
scr_rebuild_rs: /opt/view/bin/scr_rebuild_rs
scr_rebuild_xor: /opt/view/bin/scr_rebuild_xor
scr_retries_halt: /opt/view/bin/scr_retries_halt
scr_run: /opt/view/bin/scr_run
scr_scavenge: /opt/view/bin/scr_scavenge
scr_srun: /opt/view/bin/scr_srun
scr_test_datemanip: /opt/view/bin/scr_test_datemanip
scr_test_runtime: /opt/view/bin/scr_test_runtime
scr_watchdog: /opt/view/bin/scr_watchdog
scrlog.py: /opt/view/bin/scrlog.py
scrontab: /opt/view/bin/scrontab
11 changes: 11 additions & 0 deletions registry/ghcr.io/autamus/tasmanian/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
docker: ghcr.io/autamus/tasmanian
url: https://github.com/orgs/autamus/packages/container/package/tasmanian
maintainer: '@vsoch'
description: The Toolkit for Adaptive Stochastic Modeling and Non-Intrusive ApproximatioN is a robust library for high dimensional integration and interpolation as well as parameter calibration. https://tasmanian.ornl.gov
latest:
"7.5": sha256:0fe2ce4fc12320415f2c032976ec15eaf2f4120ad888fbb72b8b70a99a2e04ea
tags:
"7.5": sha256:0fe2ce4fc12320415f2c032976ec15eaf2f4120ad888fbb72b8b70a99a2e04ea
aliases:
tasgrid: /opt/view/bin/tasgrid

8 changes: 8 additions & 0 deletions registry/ghcr.io/autamus/tau/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
docker: ghcr.io/autamus/tau
url: https://github.com/orgs/autamus/packages/container/package/tau
maintainer: '@vsoch'
description: A portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, UPC, Java, Python.
latest:
2.30.1: sha256:b98fb90c2261594a3c5682cd049fcbd15c55b581f374187af74af8db20614715
tags:
2.30.1: sha256:b98fb90c2261594a3c5682cd049fcbd15c55b581f374187af74af8db20614715
8 changes: 8 additions & 0 deletions registry/ghcr.io/autamus/trilinos/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
docker: ghcr.io/autamus/trilinos
url: https://github.com/orgs/autamus/packages/container/package/trilinos
maintainer: '@vsoch'
description: The Trilinos Project is an effort to develop algorithms and enabling technologies within an object-oriented software framework for the solution of large-scale, complex multi-physics engineering and scientific problems. A unique design feature of Trilinos is its focus on packages.
latest:
13.0.1: sha256:69c55ce5c908da160da0242cbfe2a201f12f13c2781ea9a78c1eea06b783bdb2
tags:
13.0.1: sha256:69c55ce5c908da160da0242cbfe2a201f12f13c2781ea9a78c1eea06b783bdb2
13 changes: 13 additions & 0 deletions registry/ghcr.io/autamus/turbine/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
docker: ghcr.io/autamus/turbine
url: https://github.com/orgs/autamus/packages/container/package/turbine
maintainer: '@vsoch'
description: Turbine is the Swift/T runtime
latest:
1.3.0: sha256:076739ee1f6754f6cbf43dcdaedf021410529c195a671ca099b3a3e11160b611
tags:
1.3.0: sha256:076739ee1f6754f6cbf43dcdaedf021410529c195a671ca099b3a3e11160b611
aliases:
turbine: /opt/view/bin/turbine
turbine-pilot: /opt/view/bin/turbine-pilot
turbine-read-doubles: /opt/view/bin/turbine-read-doubles
turbine-write-doubles: /opt/view/bin/turbine-write-doubles
8 changes: 8 additions & 0 deletions registry/ghcr.io/autamus/umap/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
docker: ghcr.io/autamus/umap
url: https://github.com/orgs/autamus/packages/container/package/umap
maintainer: '@vsoch'
description: Umap is a library that provides an mmap()-like interface to a simple, user-space page fault handler based on the userfaultfd Linux feature (starting with 4.3 linux kernel).
latest:
2.1.0: sha256:b81554c3aba70bf5d093ff8a9c76d504757a70aa9c9415c219cfe831c46a8edd
tags:
2.1.0: sha256:b81554c3aba70bf5d093ff8a9c76d504757a70aa9c9415c219cfe831c46a8edd
12 changes: 12 additions & 0 deletions registry/ghcr.io/autamus/unifyfs/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
docker: ghcr.io/autamus/unifyfs
url: https://github.com/orgs/autamus/packages/container/package/unifyfs
maintainer: '@vsoch'
description: User level file system that enables applications to use node-local storage as burst buffers for shared files.
latest:
"0.9.2": sha256:401d1041f3daf9b1fb52306fce6fbc58df48a64ba225da752f8d3b16da85e65a
tags:
"0.9.2": sha256:401d1041f3daf9b1fb52306fce6fbc58df48a64ba225da752f8d3b16da85e65a
aliases:
unifyfs: /opt/view/bin/unifyfs
unifyfs-config: /opt/view/bin/unifyfs-config
unifyfsd: /opt/view/bin/unifyfsd
13 changes: 13 additions & 0 deletions registry/ghcr.io/autamus/upcxx/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
docker: ghcr.io/autamus/upcxx
url: https://github.com/orgs/autamus/packages/container/package/upcxx
maintainer: '@vsoch'
description: UPC++ is a C++ library that supports Partitioned Global Address Space (PGAS) programming, and is designed to interoperate smoothly and efficiently with MPI, OpenMP, CUDA and AMTs.
latest:
"2021.3.0": sha256:0b537157644529a8fe20a95e0bef31ab7e6801b7433898a17f2c37a97c4d6883
tags:
"2021.3.0": sha256:0b537157644529a8fe20a95e0bef31ab7e6801b7433898a17f2c37a97c4d6883
aliases:
upcxx: /opt/view/bin/upcxx
upcxx-meta: /opt/view/bin/upcxx-meta
upcxx-run: /opt/view/bin/upcxx-run
upcxx.sh: /opt/view/bin/upcxx.sh
15 changes: 15 additions & 0 deletions registry/ghcr.io/autamus/veloc/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
docker: ghcr.io/autamus/veloc
url: https://github.com/orgs/autamus/packages/container/package/veloc
maintainer: '@vsoch'
description: Very-Low Overhead Checkpointing System. VELOC is a multi-level checkpoint-restart runtime for HPC supercomputing infrastructures
latest:
"1.4": sha256:05677f36265c1bdf14977688f12b8e4a96261be80cc8ecce38796e2e46e82c96
tags:
"1.4": sha256:05677f36265c1bdf14977688f12b8e4a96261be80cc8ecce38796e2e46e82c96
aliases:
veloc-backend: /opt/view/bin/veloc-backend
veloc_check_node: /opt/view/bin/veloc_check_node
veloc_env: /opt/view/bin/veloc_env
veloc_glob_hosts: /opt/view/bin/veloc_glob_hosts
veloc_jsrun: /opt/view/bin/veloc_jsrun
veloc_list_down_nodes: /opt/view/bin/veloc_list_down_nodes
8 changes: 8 additions & 0 deletions registry/ghcr.io/autamus/zfp/container.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
docker: ghcr.io/autamus/zfp
url: https://github.com/orgs/autamus/packages/container/package/zfp
maintainer: '@vsoch'
description: zfp is a compressed number format for multidimensional floating-point and integer arrays.
latest:
"0.5.5": sha256:3a441ab9099713a500171cd7a9aaa48460b1101c834520dab5637c9419ce20b7
tags:
"0.5.5": sha256:3a441ab9099713a500171cd7a9aaa48460b1101c834520dab5637c9419ce20b7

0 comments on commit 7bff5be

Please sign in to comment.