Skip to content

Commit 7bff5be

Browse files
authored
First page of new autamus packages (#411)
* first page of new autamus packages * retest with public images * update docs Signed-off-by: vsoch <[email protected]> Co-authored-by: vsoch <[email protected]>
1 parent 85e5116 commit 7bff5be

File tree

20 files changed

+279
-43
lines changed

20 files changed

+279
-43
lines changed

.github/workflows/test-container.yml

Lines changed: 51 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,54 @@ on:
55
types: [labeled]
66

77
jobs:
8-
test-registry:
8+
changes:
99
if: ${{ github.event.label.name == 'container-recipe' }}
1010
runs-on: ubuntu-latest
11+
outputs:
12+
changed_recipes: ${{ steps.files.outputs.added_modified }}
1113
steps:
14+
- name: Find changed recipes
15+
id: files
16+
uses: jitterbit/get-changed-files@b17fbb00bdc0c0f63fcf166580804b4d2cdc2a42
17+
with:
18+
format: 'json'
19+
20+
test-recipes:
21+
needs:
22+
- changes
23+
runs-on: ubuntu-latest
24+
strategy:
25+
# Keep going on other deployments if anything bloops
26+
fail-fast: false
27+
matrix:
28+
changed_recipe: ${{ fromJson(needs.changes.outputs.changed_recipes) }}
29+
30+
name: Check ${{ matrix.changed_recipe }}
31+
steps:
32+
- name: Continue
33+
run: |
34+
# Continue if we have a changed recipe file
35+
if [[ "${{ matrix.changed_recipe }}" = registry* ]]; then
36+
echo "keepgoing=true" >> $GITHUB_ENV
37+
fi
38+
39+
- name: Checkout
40+
if: ${{ env.keepgoing == 'true' }}
41+
uses: actions/checkout@v2
42+
43+
- name: Make Space For Build
44+
if: ${{ env.keepgoing == 'true' }}
45+
run: |
46+
sudo rm -rf /usr/share/dotnet
47+
sudo rm -rf /opt/ghc
48+
1249
- name: Install Dependencies
50+
if: ${{ env.keepgoing == 'true' }}
1351
run: |
1452
sudo apt-get install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev
1553
1654
- name: Install Lmod
55+
if: ${{ env.keepgoing == 'true' }}
1756
run: |
1857
PKG_VERSION=8.4.27
1958
PKG_URL="https://github.com/TACC/Lmod/archive/${PKG_VERSION}.tar.gz"
@@ -23,61 +62,33 @@ jobs:
2362
./configure --prefix=/usr/share && make && make install
2463
2564
- uses: eWaterCycle/setup-singularity@v6
65+
if: ${{ env.keepgoing == 'true' }}
2666
name: Install Singularity
2767
with:
2868
singularity-version: 3.6.4
2969

30-
- name: Derive number of commits
31-
run: |
32-
cd /opt
33-
branch="${{ github.head_ref }}"
34-
git config --global user.email "github-actions"
35-
git config --global user.name "[email protected]"
36-
git clone -b main https://github.com/singularityhub/singularity-hpc
37-
cd singularity-hpc
38-
git checkout -b $branch
39-
git pull origin $branch
40-
commits=$(git log --oneline "$branch" ^main | wc -l)
41-
echo "Found $commits since main"
42-
cd registry
43-
touch changes.txt
44-
# Note that you can also do: git diff --name-only $branch..main .
45-
# We show the count of commits as a sanity check to the developer
46-
for container_yaml in $(git diff --name-only HEAD~$commits..HEAD .); do
47-
echo $container_yaml >> changes.txt
48-
done
49-
cat changes.txt
50-
51-
- name: Save changelist
52-
uses: actions/upload-artifact@v2
53-
with:
54-
name: changes.txt
55-
path: /opt/singularity-hpc/registry/changes.txt
56-
5770
- name: Create conda environment
71+
if: ${{ env.keepgoing == 'true' }}
5872
run: conda create --quiet -c conda-forge --name shpc spython
5973

6074
- uses: actions/checkout@v2
75+
if: ${{ env.keepgoing == 'true' }}
76+
6177
- name: Install shpc
78+
if: ${{ env.keepgoing == 'true' }}
6279
run: |
6380
export PATH="/usr/share/miniconda/bin:$PATH"
6481
source activate shpc
6582
pip install -e .
6683
67-
- name: Download changelist
68-
uses: actions/download-artifact@v2
69-
with:
70-
name: changes.txt
71-
7284
- name: Run module tests
85+
if: ${{ env.keepgoing == 'true' }}
7386
run: |
7487
export PATH="/usr/share/miniconda/bin:$PATH"
75-
7688
source activate shpc
7789
cd registry
78-
for container_yaml in $(cat ../changes.txt); do
79-
module=$(dirname $container_yaml)
80-
module=$(echo "${module/registry\//}")
81-
echo "Testing $module"
82-
shpc test --template ../shpc/tests/test-registry-module.sh --commands $module
83-
done
90+
container_yaml="${{ matrix.changed_recipe }}"
91+
module=$(dirname $container_yaml)
92+
module=$(echo "${module/registry\//}")
93+
echo "Testing $module"
94+
shpc test --template ../shpc/tests/test-registry-module.sh --commands $module

docs/getting_started/developer-guide.rst

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,8 @@ for others to use. You should:
7171
4. You should generally choose smaller images (if possible) and define aliases (entrypoints) for the commands that you think would be useful.
7272

7373
A shell entrypoint for the container will be generated automatically.
74-
When you open a pull request, if your branch prefix starts with ``recipe`` the PR
75-
will test your recipe automatically. If you forget, you can ask a maintainer to apply
76-
the ``container-recipe`` label and it will test accordingly.
74+
When you open a pull request, a maintainer can apply
75+
the ``container-recipe`` label and it will test your new or updated recipes accordingly.
7776
Once your recipe is added to the repository, the versions will be automatically
7877
updated with a nightly run. This means that you can pull the repository to get
7978
updated recipes, and then check for updates (the bot to do this is not developed yet):
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
docker: ghcr.io/autamus/ed
2+
url: https://github.com/orgs/autamus/packages/container/package/ed
3+
maintainer: "@vsoch"
4+
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."
5+
latest:
6+
"1.4": sha256:ec791627353859a7569abd79c9b1e1f01032e2a363afc925a85849b60e5aec27
7+
tags:
8+
"1.4": sha256:ec791627353859a7569abd79c9b1e1f01032e2a363afc925a85849b60e5aec27
9+
aliases:
10+
ed: /opt/view/bin/ed
11+
red: /opt/view/bin/red
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
docker: ghcr.io/autamus/emacs
2+
url: https://github.com/orgs/autamus/packages/container/package/emacs
3+
maintainer: "@vsoch"
4+
description: The Emacs programmable text editor. https://www.gnu.org/software/emacs
5+
latest:
6+
"27.2": sha256:a1fa851f9dbd3ba0474fd8f0365f23ba5cedc46095c5f6dedfa5fd433652a84a
7+
tags:
8+
"27.2": sha256:a1fa851f9dbd3ba0474fd8f0365f23ba5cedc46095c5f6dedfa5fd433652a84a
9+
aliases:
10+
ebrowse: /opt/view/bin/ebrowse
11+
emacs: /opt/view/bin/emacs
12+
emacsclient: /opt/view/bin/emacsclient
13+
etags: /opt/view/bin/etags
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
docker: ghcr.io/autamus/gawk
2+
url: https://github.com/orgs/autamus/packages/container/package/gawk
3+
maintainer: '@vsoch'
4+
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/
5+
latest:
6+
5.10.0: sha256:502eebe2f9a93ce7bb06fc6f97f8ce8dd76802a380ade9b4c71f0d3f15ef0a45
7+
tags:
8+
5.10.0: sha256:502eebe2f9a93ce7bb06fc6f97f8ce8dd76802a380ade9b4c71f0d3f15ef0a45
9+
aliases:
10+
gawk: /opt/view/bin/gawk
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
docker: ghcr.io/autamus/htop
2+
url: https://github.com/orgs/autamus/packages/container/package/htop
3+
maintainer: '@vsoch'
4+
description: htop is an interactive text-mode process viewer for Unix systems. https://github.com/hishamhm/htop
5+
latest:
6+
2.2.0: sha256:017e8c7e87614dddb1fd01fb1892d40947501596504bf4d27af71c677d122851
7+
tags:
8+
2.2.0: sha256:017e8c7e87614dddb1fd01fb1892d40947501596504bf4d27af71c677d122851
9+
aliases:
10+
htop: /opt/view/bin/htop
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
docker: ghcr.io/autamus/py-libensemble
2+
url: https://github.com/orgs/autamus/packages/container/package/py-libensemble
3+
maintainer: '@vsoch'
4+
description: Library for managing ensemble-like collections of computations.
5+
latest:
6+
"0.7.2": sha256:ac19eb043b9b185e299616ed642d0b9f350c2373ac8b3bb3c415439b89cc8801
7+
tags:
8+
"0.7.2": sha256:ac19eb043b9b185e299616ed642d0b9f350c2373ac8b3bb3c415439b89cc8801
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
docker: ghcr.io/autamus/py-petsc4py
2+
url: https://github.com/orgs/autamus/packages/container/package/py-petsc4py
3+
maintainer: '@vsoch'
4+
description: This package provides Python bindings for the PETSc package.
5+
latest:
6+
"3.15.1": sha256:4a6b58e25f765f191c2ddad01ed33f4dee4de953ef7e59ff1f31e4e6d0c23f8a
7+
tags:
8+
"3.15.1": sha256:4a6b58e25f765f191c2ddad01ed33f4dee4de953ef7e59ff1f31e4e6d0c23f8a
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
docker: ghcr.io/autamus/rempi
2+
url: https://github.com/orgs/autamus/packages/container/package/rempi
3+
maintainer: '@vsoch'
4+
description: ReMPI is a record-and-replay tool for MPI applications.
5+
latest:
6+
"1.1.0": sha256:13f3ae61146c389b0fef9e6e1f331a8f229cc15c886a215c9437249301903400
7+
tags:
8+
"1.1.0": sha256:13f3ae61146c389b0fef9e6e1f331a8f229cc15c886a215c9437249301903400
9+
aliases:
10+
rempi: /opt/view/bin/rempi
11+
rempi_record: /opt/view/bin/rempi_record
12+
rempi_replay: /opt/view/bin/rempi_replay
13+
reset: /opt/view/bin/reset
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
docker: ghcr.io/autamus/rsync
2+
url: https://github.com/orgs/autamus/packages/container/package/rsync
3+
maintainer: '@vsoch'
4+
description: An open source utility that provides fast incremental file transfer. https://rsync.samba.org/
5+
latest:
6+
"3.2.2": sha256:99c4780710b1d844ca8998dea4c59b2d3b54c28ac206dc3ee580ca2c34f455d1
7+
tags:
8+
"3.2.2": sha256:99c4780710b1d844ca8998dea4c59b2d3b54c28ac206dc3ee580ca2c34f455d1
9+
aliases:
10+
rsync: /opt/view/bin/rsync
11+
rsync-ssl: /opt/view/bin/rsync-ssl

0 commit comments

Comments
 (0)