-
Notifications
You must be signed in to change notification settings - Fork 1
76 lines (76 loc) · 3.17 KB
/
docs.yml
File metadata and controls
76 lines (76 loc) · 3.17 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
name: Generate and serve API data for EESSI
on:
push:
branches:
- main
schedule:
- cron: "0 0 * * *" # runs once every 24 hours at 00:00 UTC
permissions:
contents: read
pages: write
id-token: write
jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/configure-pages@v5
- uses: actions/checkout@v5
- uses: eessi/github-action-eessi@v3
with:
use_eessi_module: true
eessi_stack_version: "2025.06"
- name: Create a virtualenv to install zensical
run: |
python -m venv /tmp/venv_docs
source /tmp/venv_docs/bin/activate
pip install zensical
- name: Generate API data
run: |
echo "Generating data files..."
module purge
module unuse $MODULEPATH
module use /cvmfs/software.eessi.io/init/modules/
# Set CPU override for the stack to query
export EESSI_ARCHDETECT_OPTIONS_OVERRIDE="x86_64/intel/icelake"
# Set GPU overrides for the stack to query (we have no GPU, so also override the GPU check)
export EESSI_OVERRIDE_GPU_CHECK=1
# First do 2023.06 for EB 4
export EESSI_ACCELERATOR_TARGET_OVERRIDE="accel/nvidia/cc80" # Stick to 8.0 for EB4 as options for 9.0 set by EESSI-extend are not understood there
( module load EESSI/2023.06 && module load EasyBuild/4 && module load EESSI-extend && python scripts/generate_data_files.py --eessi-version=2023.06 ) &
pid1=$!
# then 2023.06 for EB 5
export EESSI_ACCELERATOR_TARGET_OVERRIDE="accel/nvidia/cc90"
( module load EESSI/2023.06 && module load EasyBuild/5 && module load EESSI-extend && python scripts/generate_data_files.py --eessi-version=2023.06 ) &
pid2=$!
# then 2025.06 for EB 5 (does not have EB4)
export EESSI_ACCELERATOR_TARGET_OVERRIDE="accel/nvidia/cc90"
( module load EESSI/2025.06 && module load EasyBuild/5 && module load EESSI-extend && python scripts/generate_data_files.py --eessi-version=2025.06 ) &
pid3=$!
fail=0 # initialise
wait $pid1 || fail=1
wait $pid2 || fail=2
wait $pid3 || fail=3
if [ $fail -ne 0 ]; then
echo "One or more jobs failed (at least job $fail)"
exit 1
fi
# Merge all these results together
python scripts/merge_data_files.py out.yaml eessi*.yaml
mv out.yaml docs/data/eessi_software_metadata.yaml
# Generate json data files and markdown index/description for them
cd docs/data
python ../../scripts/process_eessi_software_metadata.py eessi_software_metadata.yaml eessi_api_metadata
python ../../scripts/calculate_hashes.py
for json_file in *.json; do
python ../../scripts/generate_schema_md.py $json_file >> index.md
done
- run: |
source /tmp/venv_docs/bin/activate
zensical build --clean
- uses: actions/upload-pages-artifact@v4
with:
path: site
- uses: actions/deploy-pages@v4