Skip to content

feat: integrate dev branch and update software environments (#25) #29

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
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