Skip to content

Commit

Permalink
Merge pull request #219 from qbic-pipelines/dev
Browse files Browse the repository at this point in the history
Release 2.2
  • Loading branch information
WackerO authored Aug 21, 2023
2 parents 64f7f63 + c30e7eb commit f5e54b6
Show file tree
Hide file tree
Showing 87 changed files with 37,623 additions and 1,338 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ trim_trailing_whitespace = true
indent_size = 4
indent_style = space

[*.{md,yml,yaml,html,css,scss,js,cff}]
[*.{md,yml,yaml,html,css,scss,js}]
indent_size = 2

# These files are edited and tested upstream in nf-core/modules
Expand Down
23 changes: 19 additions & 4 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# qbic-pipelines/rnadeseq: Contributing Guidelines

Hi there!
Many thanks for taking an interest in improving nf-core/rnadeseq.
Many thanks for taking an interest in improving qbic-pipelines/rnadeseq.

We try to manage the required tasks for nf-core/rnadeseq using GitHub issues, you probably came to this page when creating one.
We try to manage the required tasks for qbic-pipelines/rnadeseq using GitHub issues, you probably came to this page when creating one.
Please use the pre-filled template to save time.

However, don't be put off by this template - other more general issues and suggestions are welcome!
Expand All @@ -13,8 +13,8 @@ Contributions to the code are even more welcome ;)

If you'd like to write some code for qbic-pipelines/rnadeseq, the standard workflow is as follows:

1. Check that there isn't already an issue about your idea in the [nf-core/rnadeseq issues](https://github.com/nf-core/rnadeseq/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/rnadeseq repository](https://github.com/nf-core/rnadeseq) to your GitHub account
1. Check that there isn't already an issue about your idea in the [qbic-pipelines/rnadeseq issues](https://github.com/qbic-pipelines/rnadeseq/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [qbic-pipelines/rnadeseq repository](https://github.com/qbic-pipelines/rnadeseq) to your GitHub account
3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions)
4. Use `nf-core schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10).
5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged
Expand Down Expand Up @@ -99,3 +99,18 @@ If you are using a new feature from core Nextflow, you may bump the minimum requ
### Images and figures

For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).

## GitHub Codespaces

This repo includes a devcontainer configuration which will create a GitHub Codespaces for Nextflow development! This is an online developer environment that runs in your browser, complete with VSCode and a terminal.

To get started:

- Open the repo in [Codespaces](https://github.com/qbic-pipelines/rnadeseq/codespaces)
- Tools installed
- nf-core
- Nextflow

Devcontainer specs:

- [DevContainer config](.devcontainer/devcontainer.json)
6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ body:
placeholder: |
$ nextflow run ...
Some output where something broke
- type: textarea
id: files
attributes:
Expand All @@ -40,9 +42,9 @@ body:
attributes:
label: System information
description: |
* Nextflow version _(eg. 22.10.1)_
* Nextflow version _(eg. 23.04.0)_
* Hardware _(eg. HPC, Desktop, Cloud)_
* Executor _(eg. slurm, local, awsbatch)_
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter or Charliecloud)_
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud, or Apptainer)_
* OS _(eg. CentOS Linux, macOS, Linux Mint)_
* Version of qbic-pipelines/rnadeseq _(eg. 1.1, 1.5, 1.8.2)_
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Feature request
description: Suggest an idea for the nf-core/rnadeseq pipeline
description: Suggest an idea for the qbic-pipelines/rnadeseq pipeline
labels: enhancement
body:
- type: textarea
Expand Down
3 changes: 1 addition & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/qbic-pipelin

- [ ] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add tests!
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/rnadeseq/tree/master/.github/CONTRIBUTING.md)
- [ ] If necessary, also make a PR on the nf-core/rnadeseq _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/qbic-pipelines/rnadeseq/tree/master/.github/CONTRIBUTING.md)
- [ ] Make sure your code lints (`nf-core lint`).
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
- [ ] Usage Documentation in `docs/usage.md` is updated.
Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,26 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Launch workflow via tower
uses: nf-core/tower-action@v3
uses: seqeralabs/action-tower-launch@v2
# TODO nf-core: You can customise AWS full pipeline tests as required
# Add full size test data (but still relatively small datasets for few samples)
# on the `test_full.config` test runs with only one set of parameters
with:
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
revision: ${{ github.sha }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/rnadeseq/work-${{ github.sha }}
parameters: |
{
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/rnadeseq/results-${{ github.sha }}"
}
profiles: test_full,aws_tower
nextflow_config: |
process.errorStrategy = 'retry'
process.maxRetries = 3
profiles: test_full

- uses: actions/upload-artifact@v3
with:
name: Tower debug log file
path: |
tower_action_*.log
tower_action_*.json
15 changes: 10 additions & 5 deletions .github/workflows/awstest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,22 @@ jobs:
steps:
# Launch workflow using Tower CLI tool action
- name: Launch workflow via tower
uses: nf-core/tower-action@v3
uses: seqeralabs/action-tower-launch@v2
with:
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
revision: ${{ github.sha }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/rnadeseq/work-${{ github.sha }}
parameters: |
{
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/rnadeseq/results-test-${{ github.sha }}"
}
profiles: test,aws_tower
nextflow_config: |
process.errorStrategy = 'retry'
process.maxRetries = 3
profiles: test

- uses: actions/upload-artifact@v3
with:
name: Tower debug log file
path: |
tower_action_*.log
tower_action_*.json
27 changes: 17 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ env:
NXF_ANSI_LOG: false
CAPSULE_LOG: none

concurrency:
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
cancel-in-progress: true

jobs:
test:
name: Run pipeline with test data
Expand All @@ -22,11 +26,11 @@ jobs:
matrix:
# Nextflow versions
NXF_VER:
- "22.10.1"
- "23.04.0"
- "latest-everything"
steps:
- name: Check out pipeline code
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Check if Dockerfile or Conda environment changed
uses: technote-space/get-diff-action@v4
Expand All @@ -36,13 +40,14 @@ jobs:
environment.yml
- name: Build new docker image
if: env.MATCHED_FILES
run: docker build --no-cache . -t qbicpipelines/rnadeseq:2.1
run: docker build --no-cache . -t ghcr.io/qbic-pipelines/rnadeseq:2.2

# Change the version above and the third version below before/after release
- name: Pull docker image
if: ${{ !env.MATCHED_FILES }}
run: |
docker pull qbicpipelines/rnadeseq:dev
docker tag qbicpipelines/rnadeseq:dev qbicpipelines/rnadeseq:2.1
docker pull ghcr.io/qbic-pipelines/rnadeseq:dev
docker tag ghcr.io/qbic-pipelines/rnadeseq:dev ghcr.io/qbic-pipelines/rnadeseq:2.2
- name: Install Nextflow
uses: nf-core/setup-nextflow@v1
Expand All @@ -56,7 +61,7 @@ jobs:
name: Test workflow parameters
runs-on: ubuntu-latest
env:
NXF_VER: "22.10.1"
NXF_VER: "23.04.0"
NXF_ANSI_LOG: false
strategy:
# This tells github to continue running other profile tests if some tests fail (default cancels all tests upon failure)
Expand All @@ -70,6 +75,7 @@ jobs:
"test_contrast_list",
"test_no_multiqc",
"test_relevel",
"test_smrnaseq",
"test_star_rsem",
"test_star_salmon",
"test_use_vst",
Expand All @@ -78,7 +84,7 @@ jobs:
]
steps:
- name: Check out pipeline code
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Check if Dockerfile or Conda environment changed
uses: technote-space/get-diff-action@v4
Expand All @@ -88,13 +94,14 @@ jobs:
environment.yml
- name: Build new docker image
if: env.MATCHED_FILES
run: docker build --no-cache . -t qbicpipelines/rnadeseq:2.1
run: docker build --no-cache . -t ghcr.io/qbic-pipelines/rnadeseq:2.2

# Change the version above and the third version below before/after release
- name: Pull docker image
if: ${{ !env.MATCHED_FILES }}
run: |
docker pull qbicpipelines/rnadeseq:dev
docker tag qbicpipelines/rnadeseq:dev qbicpipelines/rnadeseq:2.1
docker pull ghcr.io/qbic-pipelines/rnadeseq:dev
docker tag ghcr.io/qbic-pipelines/rnadeseq:dev ghcr.io/qbic-pipelines/rnadeseq:2.2
- name: Install Nextflow
uses: nf-core/setup-nextflow@v1
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/clean-up.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: "Close user-tagged issues and PRs"
on:
schedule:
- cron: "0 0 * * 0" # Once a week

jobs:
clean-up:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v7
with:
stale-issue-message: "This issue has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment otherwise this issue will be closed in 20 days."
stale-pr-message: "This PR has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment if it is still useful."
close-issue-message: "This issue was closed because it has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor and then staled for 20 days with no activity."
days-before-stale: 30
days-before-close: 20
days-before-pr-close: -1
any-of-labels: "awaiting-changes,awaiting-feedback"
exempt-issue-labels: "WIP"
exempt-pr-labels: "WIP"
repo-token: "${{ secrets.GITHUB_TOKEN }}"
4 changes: 2 additions & 2 deletions .github/workflows/fix-linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ jobs:
id: prettier_status
run: |
if prettier --check ${GITHUB_WORKSPACE}; then
echo "name=result::pass" >> $GITHUB_OUTPUT
echo "result=pass" >> $GITHUB_OUTPUT
else
echo "name=result::fail" >> $GITHUB_OUTPUT
echo "result=fail" >> $GITHUB_OUTPUT
fi
- name: Run 'prettier --write'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ jobs:

- uses: actions/setup-python@v4
with:
python-version: "3.7"
python-version: "3.8"
architecture: "x64"

- name: Install dependencies
Expand Down
40 changes: 0 additions & 40 deletions .github/workflows/push_dockerhub.yml

This file was deleted.

38 changes: 38 additions & 0 deletions .github/workflows/push_github_container_reg.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Docker push
# This builds the docker image and pushes it to GHCR
# Runs on qbic-pipelines repo releases and push event to 'dev' branch (PR merges)
on:
push:
branches:
- dev
release:
types: [published]

jobs:
push_github:
name: Push new Docker image to GHCR
runs-on: ubuntu-latest
# Only run for the qbic-pipelines repo, for releases and merged PRs
if: ${{ github.repository == 'qbic-pipelines/rnadeseq' }}
steps:
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Build new docker image
run: docker build --no-cache . -t ghcr.io/qbic-pipelines/rnadeseq:latest

- name: Log in to registry
# Update the personal access token to GITHUB_TOKEN
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin

- name: Push image to GHCR (dev)
if: ${{ github.event_name == 'push' }}
run: |
docker tag ghcr.io/qbic-pipelines/rnadeseq:latest ghcr.io/qbic-pipelines/rnadeseq:dev
docker push ghcr.io/qbic-pipelines/rnadeseq:dev
- name: Push image to GHCR (release)
if: ${{ github.event_name == 'release' }}
run: |
docker tag ghcr.io/qbic-pipelines/rnadeseq:latest ghcr.io/qbic-pipelines/rnadeseq:${{ github.event.release.tag_name }}
docker push ghcr.io/qbic-pipelines/rnadeseq:${{ github.event.release.tag_name }}
5 changes: 5 additions & 0 deletions .gitpod.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
image: nfcore/gitpod:latest
tasks:
- name: Update Nextflow and setup pre-commit
command: |
pre-commit install --install-hooks
nextflow self-update
vscode:
extensions: # based on nf-core.nf-core-extensionpack
Expand Down
5 changes: 2 additions & 3 deletions .nf-core.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
repository_type: pipeline

lint:
files_unchanged:
- .github/CONTRIBUTING.md
Expand All @@ -18,7 +20,6 @@ lint:
- .github/ISSUE_TEMPLATE/config.yml
- .github/workflows/awsfulltest.yml
- .github/workflows/awstest.yml
- .github/workflows/push_dockerhub.yml
- assets/multiqc_config.yaml
- assets/nf-core-qbic-pipelines/rnadeseq_logo_light.png
- bin/markdown_to_html.r
Expand All @@ -35,5 +36,3 @@ lint:

multiqc_config:
- report_comment # otherwise throws error: multiqc_config: 'assets/multiqc_config.yml' does not contain a matching 'report_comment'. │

repository_type: pipeline
5 changes: 5 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
repos:
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v2.7.1"
hooks:
- id: prettier
Loading

0 comments on commit f5e54b6

Please sign in to comment.