Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 7 additions & 10 deletions .github/workflows/benchmark.yml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we switch to clustering_[conda|apptainer|envmodules].yaml only, and they're short, all others are out
we test on PR and nightly (short and long), perhaps with timeout
we don't write artifacts
we don't test reduced-imallona branch because it's not relevant anymore
we switch to the new run_omnibenchmark action

Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ jobs:
run-benchmark:
name: Run Benchmark
runs-on: ubuntu-latest
## runs-on: self-hosted
steps:
- name: Check out repository
uses: actions/checkout@v4
Expand Down Expand Up @@ -48,27 +47,26 @@ jobs:
shell: bash -l {0}
run: |
mamba install -y pip
pip install git+https://github.com/omnibenchmark/omnibenchmark.git@reduce_install_scope
pip install git+https://github.com/omnibenchmark/omnibenchmark.git@main

- name: Load benchmark cache
id: cache-benchmark
uses: actions/cache@v3
with:
path: out/
key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}
key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering_conda_short.yml') }}

- name: Run benchmark
shell: bash -l {0}
continue-on-error: true
continue-on-error: false
run: |
echo "y" | ob run benchmark -b Clustering.yaml --local --cores 3 --continue-on-error
ob run benchmark -b Clustering_conda_short.yml --local --cores 3 --continue-on-error --yes

upload-artifact:
name: Benchmark Artifact
runs-on: ubuntu-latest
## runs-on: self-hosted
needs: run-benchmark
if: always()
if: github.ref == 'refs/heads/main' && github.repository_owner == 'omnibenchmark'
steps:
- name: Check out repository
uses: actions/checkout@v4
Expand All @@ -77,7 +75,7 @@ jobs:
uses: actions/cache@v3
with:
path: out/
key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}
key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering_conda_short.yaml') }}

- name: Prepare output
run: |
Expand All @@ -99,12 +97,11 @@ jobs:

- name: Deploy to GitHub Pages
uses: actions/deploy-pages@v4

- name: Create Job Summary
if: always()
run: |
echo "### Reports" >> $GITHUB_STEP_SUMMARY
echo "- [Plotting Report](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }})" >> $GITHUB_STEP_SUMMARY
echo "### All Outputs" >> $GITHUB_STEP_SUMMARY
echo "- [Complete Benchmark Output](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}#artifacts)" >> $GITHUB_STEP_SUMMARY

74 changes: 2 additions & 72 deletions .github/workflows/micromamba.yml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above, and replace by the run_ob action

Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,15 @@ on:
pull_request:
workflow_dispatch:
schedule:
# - cron: "*/30 * * * *" # Runs every 30 minutes for testing
- cron: "30 1 * * *" # at 1.30am
## these permissions are only for deployment to gh pages
# permissions:
# id-token: write
# pages: write

jobs:
run-benchmark-micromamba:
name: run_clustbench_micromamba
## runs-on: ubuntu-latest
runs-on: self-hosted
strategy:
matrix:
ob_branch: [dev, reduce_install_scope, main]
ob_branch: [main]
micromamba-version: ['2.1.1-0', '2.0.5-0', '1.5.12-0', '1.5.8-0']
fail-fast: false
concurrency:
Expand Down Expand Up @@ -50,81 +44,17 @@ jobs:
micromamba --version
pip install git+https://github.com/omnibenchmark/omnibenchmark.git@${{ matrix.ob_branch }}

# - name: Enable a benchmarking `out` cache
# id: cache-benchmark
# uses: actions/cache@v3
# with:
# path: out/
# key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}

- name: Run benchmark
shell: bash -l {0}
run: |
env
output=$( echo "y" | ob run benchmark -b Clustering.yaml --local --cores 10 2>&1 )
output=$( ob run benchmark -b Clustering_conda_short.yaml --local --cores 10 2>&1 )
status=$?
if echo "$output" | grep -i 'Benchmark run has finished successfully'; then
status=0
fi
echo -e $output
sh -c "exit $status"
if: matrix.ob_branch == 'dev' || matrix.ob_branch == 'reduce_install_scope'

- name: Run benchmark
shell: bash -l {0}
run: |
env
output=$( ob run benchmark -b Clustering.yaml --local --threads 10 2>&1 )
status=$?
if echo "$output" | grep -i 'Benchmark run has finished successfully'; then
status=0
fi
echo -e $output
sh -c "exit $status"
if: matrix.ob_branch == 'main'

# upload-artifact:
# name: Benchmark Artifact
# runs-on: ubuntu-latest
# ## runs-on: self-hosted
# needs: run-benchmark
# if: always()
# steps:
# - name: Check out repository
# uses: actions/checkout@v4

# - name: Load cached output
# uses: actions/cache@v3
# with:
# path: out/
# key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}

# - name: Prepare output
# run: |
# zip -r benchmark_output.zip out/
# mkdir -p gh-pages
# cp out/plotting/plotting_report.html gh-pages/index.html

# - name: Upload zipped output
# uses: actions/upload-artifact@v4
# with:
# name: benchmark-output
# path: benchmark_output.zip
# retention-days: 7

# - name: Upload Pages Artifact
# uses: actions/upload-pages-artifact@v3
# with:
# path: gh-pages

# - name: Deploy to GitHub Pages
# uses: actions/deploy-pages@v4

# - name: Create Job Summary
# if: always()
# run: |
# echo "### Reports" >> $GITHUB_STEP_SUMMARY
# echo "- [Plotting Report](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }})" >> $GITHUB_STEP_SUMMARY
# echo "### All Outputs" >> $GITHUB_STEP_SUMMARY
# echo "- [Complete Benchmark Output](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}#artifacts)" >> $GITHUB_STEP_SUMMARY

84 changes: 2 additions & 82 deletions .github/workflows/miniconda_miniforge.yml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above, and replace by the run_ob action

Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,16 @@ on:
pull_request:
workflow_dispatch:
schedule:
# - cron: "*/30 * * * *" # Runs every 30 minutes for testing
- cron: "30 1 * * *" # at 1.30am

## these permissions are only for deployment to gh pages
# permissions:
# id-token: write
# pages: write

jobs:
run-benchmark-miniforge:
name: run_clustbench_miniforge
## runs-on: ubuntu-latest
runs-on: self-hosted
strategy:
matrix:
ob_branch: [dev, reduce_install_scope, main]
ob_branch: [main]
fail-fast: false
concurrency:
group: mambaforge-${{ matrix.ob_branch }}
Expand Down Expand Up @@ -59,81 +53,7 @@ jobs:
mamba install -y pip
pip install git+https://github.com/omnibenchmark/omnibenchmark.git@${{ matrix.ob_branch }}

# - name: Enable a benchmarking `out` cache
# id: cache-benchmark
# uses: actions/cache@v3
# with:
# path: out/
# key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}

- name: Run benchmark
shell: bash -l {0}
run: |
env
output=$( echo "y" | ob run benchmark -b Clustering.yaml --local --cores 10 2>&1 )
status=$?
if echo "$output" | grep -i 'Benchmark run has finished successfully'; then
status=0
fi
echo -e $output
sh -c "exit $status"
if: matrix.ob_branch == 'dev' || matrix.ob_branch == 'reduce_install_scope'

- name: Run benchmark
shell: bash -l {0}
run: |
env
output=$( ob run benchmark -b Clustering.yaml --local --threads 10 2>&1 )
status=$?
if echo "$output" | grep -i 'Benchmark run has finished successfully'; then
status=0
fi
echo -e $output
sh -c "exit $status"
if: matrix.ob_branch == 'main'

# upload-artifact:
# name: Benchmark Artifact
# runs-on: ubuntu-latest
# ## runs-on: self-hosted
# needs: run-benchmark
# if: always()
# steps:
# - name: Check out repository
# uses: actions/checkout@v4

# - name: Load cached output
# uses: actions/cache@v3
# with:
# path: out/
# key: benchmark-${{ runner.os }}-${{ hashFiles('Clustering.yaml') }}

# - name: Prepare output
# run: |
# zip -r benchmark_output.zip out/
# mkdir -p gh-pages
# cp out/plotting/plotting_report.html gh-pages/index.html

# - name: Upload zipped output
# uses: actions/upload-artifact@v4
# with:
# name: benchmark-output
# path: benchmark_output.zip
# retention-days: 7

# - name: Upload Pages Artifact
# uses: actions/upload-pages-artifact@v3
# with:
# path: gh-pages

# - name: Deploy to GitHub Pages
# uses: actions/deploy-pages@v4

# - name: Create Job Summary
# if: always()
# run: |
# echo "### Reports" >> $GITHUB_STEP_SUMMARY
# echo "- [Plotting Report](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }})" >> $GITHUB_STEP_SUMMARY
# echo "### All Outputs" >> $GITHUB_STEP_SUMMARY
# echo "- [Complete Benchmark Output](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}#artifacts)" >> $GITHUB_STEP_SUMMARY

ob run benchmark -b Clustering_conda_short.yml --local --cores 3 --continue-on-error --yes
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# image build artifacts
envs/*.sif

# snakemake
snakemake.log
.snakemake/

# vim swaps
*.swp
*.swo
Loading
Loading