-
Notifications
You must be signed in to change notification settings - Fork 714
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
Add CI to build mulled containers with Wave #4080
base: master
Are you sure you want to change the base?
Changes from 75 commits
1c7c4b9
112c9e6
9d61b64
cf3aa94
73d6d6f
83f1e30
95d0069
649214d
a4f4611
aa02e1b
b37919c
42e9f9e
abdbc57
06188dd
72275d6
bd0bdb0
8333d50
95ec7e4
f20da94
4fe3bbd
7f84d8a
c80e959
15b163d
a08373d
960702f
9a3f93e
4c92894
1cd2efe
6386a76
8aec35d
5a8fcc9
9b8ddfd
7b12cd7
cac8b9f
75464b3
f588f18
f4144ac
8ea536e
d6437f8
265abdf
00313f3
04dd852
1127407
7b241f1
2c3a787
895c72f
34852d9
154fdda
f3276d1
66ebb14
3394c98
cfc8528
c20dad0
7b0b40b
b3488fb
5a3d546
a3753e7
0546a88
8995941
08292ea
bc4a8bc
300502d
69e1ea5
14aa295
ca5d48a
4353d08
b36b631
d0d8315
2112a96
5ef863f
ec74401
364f7a6
a1e54b4
8fa7b0d
727dda0
daa44fe
457bf9e
2925c17
455bc2d
2462a11
6934f0b
3fa2c06
8c73e71
24de614
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
name: Wave | ||
# When environment.yml is changed | ||
on: | ||
pull_request: | ||
paths: | ||
- "**/environment.yml" | ||
|
||
env: | ||
WAVE_VER: "1.4.1" | ||
|
||
jobs: | ||
gen-matrix: | ||
name: generate-matrix | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 | ||
|
||
- name: Calculate file differences | ||
id: diff | ||
uses: tj-actions/changed-files@v44 | ||
with: | ||
json: true | ||
quotepath: false | ||
# TODO Add Dockerfiles | ||
files: | | ||
modules/**/environment.yml | ||
- name: Debug | ||
run: echo ${{ steps.diff.outputs.all_changed_files }} | ||
- id: set-matrix | ||
run: echo "matrix={\"profile\":[\"docker\", \"singularity\"],\"files\":${{ steps.diff.outputs.all_changed_files }} }" >> "$GITHUB_OUTPUT" | ||
|
||
outputs: | ||
matrix: ${{ steps.set-matrix.outputs.matrix }} | ||
|
||
build: | ||
if: "${{ fromJson(needs.gen-matrix.outputs.matrix) }}" | ||
needs: gen-matrix | ||
name: build | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 60 | ||
strategy: | ||
fail-fast: false | ||
matrix: "${{ fromJson(needs.gen-matrix.outputs.matrix) }}" | ||
steps: | ||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 | ||
|
||
- name: Install wave-cli | ||
run: | | ||
wget -q https://github.com/seqeralabs/wave-cli/releases/download/v${WAVE_VER}/wave-${WAVE_VER}-linux-x86_64 | ||
sudo mv wave-${WAVE_VER}-linux-x86_64 /usr/local/bin/wave | ||
chmod +x /usr/local/bin/wave | ||
|
||
- name: Create a registry name | ||
uses: actions/github-script@v7 | ||
id: registry-name | ||
with: | ||
result-encoding: string | ||
script: | | ||
return '${{ matrix.files }}'.replace('modules/nf-core/', '').replace('/environment.yml', '').replace('/', '_'); | ||
|
||
- name: Build container | ||
if: matrix.profile == 'docker' | ||
run: | | ||
wave --conda-file "${{ matrix.files }}" \ | ||
--freeze \ | ||
--await \ | ||
--tower-token ${{ secrets.TOWER_ACCESS_TOKEN }} \ | ||
--tower-workspace-id ${{ secrets.TOWER_WORKSPACE_ID }} | ||
|
||
- name: Build Singularity | ||
if: matrix.profile == 'singularity' | ||
run: | | ||
wave --conda-file "${{ matrix.files }}" \ | ||
--freeze \ | ||
--await \ | ||
--tower-token ${{ secrets.TOWER_ACCESS_TOKEN }} \ | ||
--tower-workspace-id ${{ secrets.TOWER_WORKSPACE_ID }} \ | ||
--singularity | ||
|
||
# TODO Build from Dockerfiles |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,8 @@ | ||
name: bowtie_align | ||
channels: | ||
- conda-forge | ||
- bioconda | ||
- defaults | ||
dependencies: | ||
- bioconda::bowtie=1.3.0 | ||
# renovate: datasource=conda depName=bioconda/bowtie | ||
- bioconda::bowtie=1.3.1 | ||
# renovate: datasource=conda depName=bioconda/samtools | ||
- bioconda::samtools=1.20 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,9 +3,10 @@ process BOWTIE_ALIGN { | |
label 'process_high' | ||
|
||
conda "${moduleDir}/environment.yml" | ||
container "" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Accidental? |
||
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? | ||
'https://depot.galaxyproject.org/singularity/mulled-v2-ffbf83a6b0ab6ec567a336cf349b80637135bca3:c84c7c55c45af231883d9ff4fe706ac44c479c36-0' : | ||
'biocontainers/mulled-v2-ffbf83a6b0ab6ec567a336cf349b80637135bca3:c84c7c55c45af231883d9ff4fe706ac44c479c36-0' }" | ||
'oras://community.wave.seqera.io/library/bowtie_samtools:16f00b34cfc72399' : | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this will break There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is there a Seqera feedback link for the https links? |
||
'community.wave.seqera.io/library/bowtie_samtools:772b3bee982574e4' }" | ||
|
||
input: | ||
tuple val(meta), path(reads) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,8 @@ | ||
name: bowtie_build | ||
channels: | ||
- conda-forge | ||
- bioconda | ||
- defaults | ||
dependencies: | ||
- bioconda::bowtie=1.3.0 | ||
# renovate: datasource=conda depName=bioconda/bowtie | ||
- bioconda::bowtie=1.3.1 | ||
# renovate: datasource=conda depName=bioconda/samtools | ||
- bioconda::samtools=1.20 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
name: samtools_view | ||
channels: | ||
- conda-forge | ||
- bioconda | ||
- defaults | ||
dependencies: | ||
- bioconda::samtools=1.20 | ||
# renovate: datasource=conda depName=bioconda/htslib | ||
- bioconda::htslib=1.20 | ||
# renovate: datasource=conda depName=bioconda/samtools | ||
- bioconda::samtools=1.20 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is to have
name
in the conda environment, right? We can remove if so.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, this was to have a different wave repo per module. We can keep this for anything built by a Dockerfile for now(bclconvert, cellranger, etc.)