From 3004c007e480a95ff1e6336942a14b0f096cd0aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20H=C3=BCther?= Date: Wed, 13 May 2020 21:43:24 +0200 Subject: [PATCH] Release V1.1 (#36) * update logo * pin pillow version to 7.0.0 pillow 7.1.1 caused an incompatibility with scikit-image ImageCollections thanks @bisnow33 for reporting the issue * unpin pillow regression was fixed in pillow release 7.1.2 * remove error strategy for local runs Previously, a job that failed because of insufficient memory was resubmitted 3 times and resource requirements were increased for each attempt. e.g run_predictions required: - 2 CPUs and 6GB RAM for the first attempt - 4 CPUs and 12GB RAM for the second attempt - 6 CPUs and 18GB RAM for the third attempt While such a strategy makes sense in a cluster environment, where increased resource requests can be satisfied, it makes little sense on a local computer with given hardware limitations. This commit removes the error strategy for local pipeline runs. * enable integration tests when pushing to dev * fix display of shiny server IP on macOS Previously, the logic assumed that `hostname -i` returns the local ip address of the host. Apparently this is not the case on MacOS, thus fall back to localhost on these systems. * (attempt to) fix string conversion of uname output * add CHANGELOG.md * set version tags for 1.1 release --- .github/workflows/minimal_test.yml | 1 - CHANGELOG.md | 10 ++++++++++ Dockerfile | 2 +- conf/base.config | 5 +---- conf/cbe.config | 3 +++ docs/parameters.md | 4 ++-- environment.yml | 2 +- main.nf | 4 ++-- nextflow.config | 2 +- 9 files changed, 21 insertions(+), 12 deletions(-) create mode 100644 CHANGELOG.md diff --git a/.github/workflows/minimal_test.yml b/.github/workflows/minimal_test.yml index 12b9400..ff0c997 100644 --- a/.github/workflows/minimal_test.yml +++ b/.github/workflows/minimal_test.yml @@ -7,7 +7,6 @@ on: push: branches-ignore: - master - - dev jobs: test: diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..a7aa40a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +## [v1.1](https://github.com/Gregor-Mendel-Institute/aradeepopsis/releases/tag/v1.1) - 2020-05-13 + +* disabled task error strategy for pipeline runs on local computers +* fixed an issue where the network address of the shiny application was not correctly displayed on computers running MacOS + +## [v1.0](https://github.com/Gregor-Mendel-Institute/aradeepopsis/releases/tag/v1.0) - 2020-04-02 + +Initial pipeline release \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 777b134..5bc5bb8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,6 @@ LABEL authors="patrick.huether@gmi.oeaw.ac.at" \ COPY environment.yml / RUN apt-get update && apt-get install -y procps graphviz && apt-get clean -y RUN conda env create -f /environment.yml && conda clean -afy -ENV PATH /opt/conda/envs/aradeepopsis-v1.0/bin:$PATH +ENV PATH /opt/conda/envs/aradeepopsis-v1.1/bin:$PATH EXPOSE 44333 diff --git a/conf/base.config b/conf/base.config index c01709d..d82752f 100644 --- a/conf/base.config +++ b/conf/base.config @@ -26,11 +26,8 @@ env { } process { - container = 'beckerlab/aradeepopsis:1.0' + container = 'beckerlab/aradeepopsis:1.1' - errorStrategy = { task.exitStatus in [104,134,135,137,139,140,143] ? 'retry' : 'finish' } - maxRetries = 3 - withName: build_records { cpus = { 1 * task.attempt } memory = { 2.GB * task.attempt } diff --git a/conf/cbe.config b/conf/cbe.config index b0d4b12..662b0a2 100644 --- a/conf/cbe.config +++ b/conf/cbe.config @@ -29,6 +29,9 @@ process { queue = 'c' clusterOptions = { task.time <= 8.h ? '--qos short': task.time <= 48.h ? '--qos medium' : '--qos long' } + errorStrategy = { task.exitStatus in [104,134,135,137,139,140,143] ? 'retry' : 'finish' } + maxRetries = 3 + withName: build_records { cpus = { 1 * task.attempt } memory = { 1.GB * task.attempt } diff --git a/docs/parameters.md b/docs/parameters.md index 13625c4..e72dba8 100644 --- a/docs/parameters.md +++ b/docs/parameters.md @@ -89,6 +89,6 @@ Launch a [Shiny](https://shiny.rstudio.com/) app in the last step of the pipelin > R -e "shiny::runApp('app.R', port=44333)" > > # if using the container image -> {docker|podman} run -v $(pwd):/mnt/shiny -p 44333:44333 beckerlab/aradeepopsis:1.0 R -e "shiny::runApp('/mnt/shiny/app.R', port=44333, host='0.0.0.0')" +> {docker|podman} run -v $(pwd):/mnt/shiny -p 44333:44333 beckerlab/aradeepopsis:1.1 R -e "shiny::runApp('/mnt/shiny/app.R', port=44333, host='0.0.0.0')" > ``` -> The shiny app can then be opened with a browser by typing localhost:44333 in the address bar. It will terminate when the browser window is closed. \ No newline at end of file +> The shiny app can then be opened with a browser by typing localhost:44333 in the address bar. It will terminate when the browser window is closed. diff --git a/environment.yml b/environment.yml index 573370a..ac67b39 100644 --- a/environment.yml +++ b/environment.yml @@ -1,4 +1,4 @@ -name: aradeepopsis-v1.0 +name: aradeepopsis-v1.1 channels: - conda-forge - r diff --git a/main.nf b/main.nf index e674750..b58fe57 100644 --- a/main.nf +++ b/main.nf @@ -316,7 +316,6 @@ ch_results .set {ch_resultfile} process launch_shiny { - tag "${'http://'+'hostname -i'.execute().text.trim()+':44333'}" containerOptions { workflow.profile.contains('singularity') ? '' : '-p 44333:44333' } executor 'local' cache false @@ -327,8 +326,9 @@ process launch_shiny { when: params.shiny script: + def ip = "uname".execute().text.trim() == "Darwin" ? "localhost" : "hostname -i".execute().text.trim() log.error""" - Visit the shiny server running at ${"http://"+"hostname -i".execute().text.trim()+':44333'} to inspect the results. + Visit the shiny server running at ${"http://"+ip+':44333'} to inspect the results. Closing the browser window will terminate the pipeline. """.stripIndent() """ diff --git a/nextflow.config b/nextflow.config index a6f525d..145bcac 100644 --- a/nextflow.config +++ b/nextflow.config @@ -52,7 +52,7 @@ manifest { homePage = 'https://github.com/Gregor-Mendel-Institute/aradeepopsis' description = "Nextflow pipeline to run semantic segmentation on plant rosette images with DeepLab V3+" name = 'aradeepopsis' - version = '1.0' + version = '1.1' mainScript = 'main.nf' nextflowVersion = '>=20.01.0' }