It would be super cool the support stages when running Travis like shown here. Makes it nice and clean.
# Example
stages:
- lint
- build
- test
# - unit-test
jobs:
include:
- stage: lint
script: nf-core lint ${TRAVIS_BUILD_DIR}
- stage: build
script:
- cd ${TRAVIS_BUILD_DIR}
- sh build.sh
- stage: test
script: docker run -v ${TRAVIS_BUILD_DIR}:${TRAVIS_BUILD_DIR} rnafusion-test nextflow run ${TRAVIS_BUILD_DIR} -profile test --reads "/test-data/test_{1,2}.fastq.gz" --genome R64-1-1 --star_fusion --test
# - unit-test:
# script:
Ooh nice! I've not seen this before, very tidy 馃憤
Yes, looks very clean. Looks like we have to test the sync feature for template changes soon ;)
I might be wrong but that should also help with long running jobs or not?
Not really @apeltzer, it's more consistent in a way that if one stage fails it won't move to another task. In the current setup if lint fails it still moves to another task below.
I guess the only downside of this is in examples like https://github.com/nf-core/rnaseq/pull/134, where the linting is out of date and we want to ignore its failure as it's expected.
@sven1103 - something like this could be nice for limiting the matrix for deployment though, so that those tasks are only run once and only if the subsequent steps passed. See for example https://docs.travis-ci.com/user/build-stages/matrix-expansion/
So I don't think that we want to use stages for the lint / build / test, as we want all to run even if one fails.
However, it would be nice to refactor yesterday's tools API docs deployment using stages (see PRs #243 and surrounding from yesterday).
I think we can close the issue :blush: