Commit 94b477c5 authored by Andreas Tille's avatar Andreas Tille
Browse files

New upstream version 4.8.0

parent 06c7c9ef
Loading
Loading
Loading
Loading

.circleci/common.sh

0 → 100644
+1 −0
Original line number Diff line number Diff line
SINGULARITY_VER=2.4.2

.circleci/config.yml

0 → 100644
+64 −0
Original line number Diff line number Diff line
version: 2
jobs:
  build:
    machine: true
    environment:
      - GCLOUD: /opt/google-cloud-sdk/bin/gcloud
    steps:
      - checkout
      - restore_cache:
          keys:
            - snakemake-{{ checksum ".circleci/setup.sh" }}-{{ checksum "test-environment.yml" }}-{{ checksum ".circleci/common.sh" }}
      - run:
          name: Update PATH
          command: echo 'export PATH="`pwd`/miniconda/bin:$PATH"' >> $BASH_ENV
      - run:
          name: Setup Conda
          command: .circleci/setup.sh
      - save_cache:
          key: snakemake-{{ checksum ".circleci/setup.sh" }}-{{ checksum "test-environment.yml" }}-{{ checksum ".circleci/common.sh" }}
          paths:
            - miniconda
      - run:
          name: Setup singularity
          command: |
            # TODO only install if singularity is not yet present
            # if type singularity > /dev/null; then exit 0; fi
            source .circleci/common.sh
            sudo apt-get update; sudo apt-get install squashfs-tools
            wget https://github.com/singularityware/singularity/releases/download/$SINGULARITY_VER/singularity-$SINGULARITY_VER.tar.gz
            tar xvf singularity-$SINGULARITY_VER.tar.gz
            cd singularity-$SINGULARITY_VER
            ./configure --prefix=/usr/local --sysconfdir=/etc
            make
            sudo make install
      - run:
          name: Setup Snakemake
          command: |
            source activate snakemake
            pip install -e .
      - run:
          name: Setup iRODS Docker image
          command: |
            docker build -t irods-server tests/test_remote_irods
            docker run -d -p 1247:1247 --name provider irods-server -i run_irods
            sleep 10
            docker exec -u irods provider iput /incoming/infile
            cp -r tests/test_remote_irods/setup-data ~/.irods
      - run:
          name: Setup gcloud
          command: |
            # skip if key is unset
            if [ -z $GCLOUD_SERVICE_KEY ]; then exit 0; fi
            # otherwise init cloud
            echo $GCLOUD_SERVICE_KEY | base64 --decode --ignore-garbage > ${HOME}/gcloud-service-key.json
            sudo $GCLOUD components install kubectl
            sudo $GCLOUD auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
            sudo $GCLOUD config set project snakemake-testing
      - run:
          name: Run tests
          command: |
            export GCLOUD_CLUSTER=t-`uuidgen`
            export GOOGLE_APPLICATION_CREDENTIALS=${HOME}/gcloud-service-key.json
            source activate snakemake
            py.test tests/test*.py -v -x

.circleci/setup.sh

0 → 100755
+7 −0
Original line number Diff line number Diff line
#!/bin/bash
set -euo pipefail

if type conda > /dev/null; then exit 0; fi
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
bash miniconda.sh -b -p miniconda
conda env create --name snakemake --file test-environment.yml

.gitattributes

0 → 100644
+1 −0
Original line number Diff line number Diff line
snakemake/_version.py export-subst
+42 −0
Original line number Diff line number Diff line
# Change Log

# [4.8.0] - 2018-03-13
### Added
- Integration with CWL: the `cwl` directive allows to use CWL tool definitions in addition to shell commands or Snakemake wrappers.
- A global `singularity` directive allows to define a global singularity container to be used for all rules that don't specify their own.
- Singularity and Conda can now be combined. This can be used to specify the operating system (via singularity), and the software stack (via conda), without the overhead of creating specialized container images for workflows or tasks.

# [4.7.0] - 2018-02-19
### Changed
- Speedups when calculating dry-runs.
- Speedups for workflows with many rules when calculating the DAG.
- Accept SIGTERM to gracefully finish all running jobs and exit.
- Various minor bug fixes.

# [4.6.0] - 2018-02-06
### Changed
- Log files can now be used as input files for other rules.
- Adapted to changes in Kubernetes client API.
- Fixed minor issues in --archive option.
- Search path order in scripts was changed to fix a bug with leaked packages from root env when using script directive together with conda.

# [4.5.1] - 2018-02-01
### Added
- Input and output files can now tag pathlib objects.
### Changed
- Various minor bug fixes.

# [4.5.0] - 2018-01-18
### Added
- iRODS remote provider
### Changed
- Bug fix in shell usage of scripts and wrappers.
- Bug fixes for cluster execution, --immediate-submit and subworkflows.

## [4.4.0] - 2017-12-21
### Added
- A new shadow mode (minimal) that only symlinks input files has been added.
### Changed
- The default shell is now bash on linux and maxOS. If bash is not installed, we fall back to sh. Previously, Snakemake used the default shell of the user, which defeats the purpose of portability. If the developer decides so, the shell can be always overwritten using shell.executable().
- Snakemake now requires Singularity 2.4.1 at least (only when running with --use-singularity).
- HTTP remote provider no longer automatically unpacks gzipped files.
- Fixed various smaller bugs.

## [4.3.1] - 2017-11-16
### Added
- List all conda environments with their location on disk via --list-conda-envs.
Loading