Skip to content

Commit e0989fb

Browse files
committed
feat: integrate dev branch and update software environments (omnibenchmark#25)
* run from post-0.2.0 tag, main branch * docs: use public repo URIs * chore: add convenience target to build environments * add top-level Makefile to prepare env * feat: parametrize num of cores on the makefile * chore: ignore common temporary outputs and image build artifacts * update .eb files to easybuild 5.0 * remove remote storage * do not run artifacts if not in main repo * inject checksums to rmarkdown easyconfig * update sklearn singularity definition * feat: add microbenchmark for numpy operations * chore: bump clustering-benchmarks to 1.1.6 * feat: templatize the definitions * feat: mv output folders to timestamped names * feat: add --yes flag * docs: update README
1 parent 1adf62b commit e0989fb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+2027
-1236
lines changed

.github/workflows/benchmark.yml

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ jobs:
1717
run-benchmark:
1818
name: Run Benchmark
1919
runs-on: ubuntu-latest
20-
## runs-on: self-hosted
2120
steps:
2221
- name: Check out repository
2322
uses: actions/checkout@v4
@@ -48,27 +47,26 @@ jobs:
4847
shell: bash -l {0}
4948
run: |
5049
mamba install -y pip
51-
pip install git+https://github.com/omnibenchmark/omnibenchmark.git@reduce_install_scope
50+
pip install git+https://github.com/omnibenchmark/omnibenchmark.git@main
5251
5352
- name: Load benchmark cache
5453
id: cache-benchmark
5554
uses: actions/cache@v3
5655
with:
5756
path: out/
58-
key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}
57+
key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering_conda_short.yml') }}
5958

6059
- name: Run benchmark
6160
shell: bash -l {0}
62-
continue-on-error: true
61+
continue-on-error: false
6362
run: |
64-
echo "y" | ob run benchmark -b Clustering.yaml --local --cores 3 --continue-on-error
63+
ob run benchmark -b Clustering_conda_short.yml --local --cores 3 --continue-on-error --yes
6564
6665
upload-artifact:
6766
name: Benchmark Artifact
6867
runs-on: ubuntu-latest
69-
## runs-on: self-hosted
7068
needs: run-benchmark
71-
if: always()
69+
if: github.ref == 'refs/heads/main' && github.repository_owner == 'omnibenchmark'
7270
steps:
7371
- name: Check out repository
7472
uses: actions/checkout@v4
@@ -77,7 +75,7 @@ jobs:
7775
uses: actions/cache@v3
7876
with:
7977
path: out/
80-
key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}
78+
key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering_conda_short.yaml') }}
8179

8280
- name: Prepare output
8381
run: |
@@ -99,12 +97,11 @@ jobs:
9997

10098
- name: Deploy to GitHub Pages
10199
uses: actions/deploy-pages@v4
102-
100+
103101
- name: Create Job Summary
104102
if: always()
105103
run: |
106104
echo "### Reports" >> $GITHUB_STEP_SUMMARY
107105
echo "- [Plotting Report](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }})" >> $GITHUB_STEP_SUMMARY
108106
echo "### All Outputs" >> $GITHUB_STEP_SUMMARY
109107
echo "- [Complete Benchmark Output](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}#artifacts)" >> $GITHUB_STEP_SUMMARY
110-

.github/workflows/micromamba.yml

Lines changed: 2 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,15 @@ on:
77
pull_request:
88
workflow_dispatch:
99
schedule:
10-
# - cron: "*/30 * * * *" # Runs every 30 minutes for testing
1110
- cron: "30 1 * * *" # at 1.30am
12-
## these permissions are only for deployment to gh pages
13-
# permissions:
14-
# id-token: write
15-
# pages: write
1611

1712
jobs:
1813
run-benchmark-micromamba:
1914
name: run_clustbench_micromamba
20-
## runs-on: ubuntu-latest
2115
runs-on: self-hosted
2216
strategy:
2317
matrix:
24-
ob_branch: [dev, reduce_install_scope, main]
18+
ob_branch: [main]
2519
micromamba-version: ['2.1.1-0', '2.0.5-0', '1.5.12-0', '1.5.8-0']
2620
fail-fast: false
2721
concurrency:
@@ -50,81 +44,17 @@ jobs:
5044
micromamba --version
5145
pip install git+https://github.com/omnibenchmark/omnibenchmark.git@${{ matrix.ob_branch }}
5246
53-
# - name: Enable a benchmarking `out` cache
54-
# id: cache-benchmark
55-
# uses: actions/cache@v3
56-
# with:
57-
# path: out/
58-
# key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}
59-
6047
- name: Run benchmark
6148
shell: bash -l {0}
6249
run: |
6350
env
64-
output=$( echo "y" | ob run benchmark -b Clustering.yaml --local --cores 10 2>&1 )
51+
output=$( ob run benchmark -b Clustering_conda_short.yaml --local --cores 10 2>&1 )
6552
status=$?
6653
if echo "$output" | grep -i 'Benchmark run has finished successfully'; then
6754
status=0
6855
fi
6956
echo -e $output
7057
sh -c "exit $status"
71-
if: matrix.ob_branch == 'dev' || matrix.ob_branch == 'reduce_install_scope'
72-
73-
- name: Run benchmark
74-
shell: bash -l {0}
75-
run: |
76-
env
77-
output=$( ob run benchmark -b Clustering.yaml --local --threads 10 2>&1 )
78-
status=$?
79-
if echo "$output" | grep -i 'Benchmark run has finished successfully'; then
80-
status=0
81-
fi
82-
echo -e $output
83-
sh -c "exit $status"
8458
if: matrix.ob_branch == 'main'
8559

86-
# upload-artifact:
87-
# name: Benchmark Artifact
88-
# runs-on: ubuntu-latest
89-
# ## runs-on: self-hosted
90-
# needs: run-benchmark
91-
# if: always()
92-
# steps:
93-
# - name: Check out repository
94-
# uses: actions/checkout@v4
95-
96-
# - name: Load cached output
97-
# uses: actions/cache@v3
98-
# with:
99-
# path: out/
100-
# key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}
101-
102-
# - name: Prepare output
103-
# run: |
104-
# zip -r benchmark_output.zip out/
105-
# mkdir -p gh-pages
106-
# cp out/plotting/plotting_report.html gh-pages/index.html
107-
108-
# - name: Upload zipped output
109-
# uses: actions/upload-artifact@v4
110-
# with:
111-
# name: benchmark-output
112-
# path: benchmark_output.zip
113-
# retention-days: 7
114-
115-
# - name: Upload Pages Artifact
116-
# uses: actions/upload-pages-artifact@v3
117-
# with:
118-
# path: gh-pages
119-
120-
# - name: Deploy to GitHub Pages
121-
# uses: actions/deploy-pages@v4
122-
123-
# - name: Create Job Summary
124-
# if: always()
125-
# run: |
126-
# echo "### Reports" >> $GITHUB_STEP_SUMMARY
127-
# echo "- [Plotting Report](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }})" >> $GITHUB_STEP_SUMMARY
128-
# echo "### All Outputs" >> $GITHUB_STEP_SUMMARY
129-
# echo "- [Complete Benchmark Output](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}#artifacts)" >> $GITHUB_STEP_SUMMARY
13060

.github/workflows/miniconda_miniforge.yml

Lines changed: 2 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,16 @@ on:
77
pull_request:
88
workflow_dispatch:
99
schedule:
10-
# - cron: "*/30 * * * *" # Runs every 30 minutes for testing
1110
- cron: "30 1 * * *" # at 1.30am
1211

13-
## these permissions are only for deployment to gh pages
14-
# permissions:
15-
# id-token: write
16-
# pages: write
1712

1813
jobs:
1914
run-benchmark-miniforge:
2015
name: run_clustbench_miniforge
21-
## runs-on: ubuntu-latest
2216
runs-on: self-hosted
2317
strategy:
2418
matrix:
25-
ob_branch: [dev, reduce_install_scope, main]
19+
ob_branch: [main]
2620
fail-fast: false
2721
concurrency:
2822
group: mambaforge-${{ matrix.ob_branch }}
@@ -59,81 +53,7 @@ jobs:
5953
mamba install -y pip
6054
pip install git+https://github.com/omnibenchmark/omnibenchmark.git@${{ matrix.ob_branch }}
6155
62-
# - name: Enable a benchmarking `out` cache
63-
# id: cache-benchmark
64-
# uses: actions/cache@v3
65-
# with:
66-
# path: out/
67-
# key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}
68-
69-
- name: Run benchmark
70-
shell: bash -l {0}
71-
run: |
72-
env
73-
output=$( echo "y" | ob run benchmark -b Clustering.yaml --local --cores 10 2>&1 )
74-
status=$?
75-
if echo "$output" | grep -i 'Benchmark run has finished successfully'; then
76-
status=0
77-
fi
78-
echo -e $output
79-
sh -c "exit $status"
80-
if: matrix.ob_branch == 'dev' || matrix.ob_branch == 'reduce_install_scope'
81-
8256
- name: Run benchmark
8357
shell: bash -l {0}
8458
run: |
85-
env
86-
output=$( ob run benchmark -b Clustering.yaml --local --threads 10 2>&1 )
87-
status=$?
88-
if echo "$output" | grep -i 'Benchmark run has finished successfully'; then
89-
status=0
90-
fi
91-
echo -e $output
92-
sh -c "exit $status"
93-
if: matrix.ob_branch == 'main'
94-
95-
# upload-artifact:
96-
# name: Benchmark Artifact
97-
# runs-on: ubuntu-latest
98-
# ## runs-on: self-hosted
99-
# needs: run-benchmark
100-
# if: always()
101-
# steps:
102-
# - name: Check out repository
103-
# uses: actions/checkout@v4
104-
105-
# - name: Load cached output
106-
# uses: actions/cache@v3
107-
# with:
108-
# path: out/
109-
# key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}
110-
111-
# - name: Prepare output
112-
# run: |
113-
# zip -r benchmark_output.zip out/
114-
# mkdir -p gh-pages
115-
# cp out/plotting/plotting_report.html gh-pages/index.html
116-
117-
# - name: Upload zipped output
118-
# uses: actions/upload-artifact@v4
119-
# with:
120-
# name: benchmark-output
121-
# path: benchmark_output.zip
122-
# retention-days: 7
123-
124-
# - name: Upload Pages Artifact
125-
# uses: actions/upload-pages-artifact@v3
126-
# with:
127-
# path: gh-pages
128-
129-
# - name: Deploy to GitHub Pages
130-
# uses: actions/deploy-pages@v4
131-
132-
# - name: Create Job Summary
133-
# if: always()
134-
# run: |
135-
# echo "### Reports" >> $GITHUB_STEP_SUMMARY
136-
# echo "- [Plotting Report](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }})" >> $GITHUB_STEP_SUMMARY
137-
# echo "### All Outputs" >> $GITHUB_STEP_SUMMARY
138-
# echo "- [Complete Benchmark Output](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}#artifacts)" >> $GITHUB_STEP_SUMMARY
139-
59+
ob run benchmark -b Clustering_conda_short.yml --local --cores 3 --continue-on-error --yes

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# image build artifacts
2+
envs/*.sif
3+
4+
# snakemake
5+
snakemake.log
6+
.snakemake/
7+
8+
# vim swaps
9+
*.swp
10+
*.swo

0 commit comments

Comments
 (0)