diff --git a/.circleci/config.yml b/.circleci/config.yml index 7d52483..fd83499 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -74,10 +74,37 @@ jobs: wget https://raw.githubusercontent.com/bids-apps/maintenance-tools/main/circleci/push_docker.sh bash push_docker.sh + test_latest: + machine: + image: ubuntu-2204:2022.10.2 + steps: + - run: + name: Get test data + command: | + wget https://raw.githubusercontent.com/bids-apps/maintenance-tools/main/utils/get_data_from_osf.sh + bash get_data_from_osf.sh hcp_example_bids_v3 + - run: + name: Pull image + command: docker pull bids/${CIRCLE_PROJECT_REPONAME,,} + - run: + name: participant level tests for single session dataset + command: | + docker run -ti --rm --read-only \ + -v ~/data/hcp_example_bids_v3:/bids_dataset \ + bids/${CIRCLE_PROJECT_REPONAME,,} \ + /bids_dataset \ + /outputs \ + participant --participant_label 100307 \ + --stages PreFreeSurfer \ + --processing_mode legacy \ + --license_key="*CxjskRdd7" \ + --n_cpus 2 + workflows: build-test-deploy: jobs: - build + - test_latest - test: requires: - build diff --git a/.github/workflows/test_latest.yml b/.github/workflows/test_latest.yml new file mode 100644 index 0000000..bf996e7 --- /dev/null +++ b/.github/workflows/test_latest.yml @@ -0,0 +1,67 @@ +--- +name: test latest image + +on: + push: + branches: ['*'] + schedule: + - cron: 0 0 1 * * + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + + test_dataset_without_session: + + runs-on: ubuntu-latest + + steps: + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y tree + + - name: pull docker image + run: docker pull bids/hcppipelines + + - name: print version + run: | + docker run -t --rm --read-only \ + --tmpfs /tmp \ + --tmpfs /var/tmp \ + bids/hcppipelines --help + docker run -t --rm --read-only \ + --tmpfs /tmp \ + --tmpfs /var/tmp \ + bids/hcppipelines --version + + - name: get data + run: | + wget https://raw.githubusercontent.com/bids-apps/maintenance-tools/main/utils/get_data_from_osf.sh + bash get_data_from_osf.sh hcp_example_bids_v3 + + - name: prepare output dir + run: | + mkdir -p ${HOME}/outputs + + - name: participant 01 + run: | + docker run -t --rm --read-only \ + -v ${HOME}/data/hcp_example_bids_v3:/bids_dataset \ + -v ${HOME}/outputs:/outputs \ + --tmpfs /tmp \ + --tmpfs /var/tmp \ + bids/hcppipelines \ + /bids_dataset \ + /outputs \ + participant \ + --participant_label 100307 \ + --stages PreFreeSurfer \ + --license_key="*CxjskRdd7" \ + --n_cpus 2 + + - name: check output + run: tree ${HOME}/outputs diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8e547e4..0000000 --- a/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -sudo: required - -cache: - directories: - - ${HOME}/data - -services: -- docker - -before_install: -- export REPO_NAME=$( echo $TRAVIS_REPO_SLUG | cut -d'/' -f2 ) -- if [[ ! -d ~/data/hcp_example_bids ]]; then travis_retry wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 10 -c -P ${HOME}/downloads/ - "https://googledrive.com/host/0B2JWN60ZLkgkMGlUY3B4MXZIZW8/hcp_example_bids.tar" && mkdir -p ${HOME}/data && tar xf ${HOME}/downloads/hcp_example_bids.tar - -C ${HOME}/data; fi -- git describe --tags > version -- docker build -t bids/${REPO_NAME,,} . -- mkdir -p ${HOME}/outputs - -script: - # print version -- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/hcp_example_bids:/bids_dataset bids/${REPO_NAME,,} --version - # participant level tests for single session dataset -- travis_wait docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/hcp_example_bids:/bids_dataset -v ${HOME}/outputs1:/outputs - bids/${REPO_NAME,,} /bids_dataset /outputs participant --participant_label 100307 --stages PreFreeSurfer --license_key="*CxjskRdd7" diff --git a/README.md b/README.md index 39fb15f..a9ebfee 100644 --- a/README.md +++ b/README.md @@ -101,10 +101,10 @@ This App has the following command line arguments: To run it in participant level mode (for one participant): docker run -i --rm \ - -v /Users/filo/data/ds005:/bids_dataset:ro \ - -v /Users/filo/outputs:/outputs \ - bids/hcppipelines \ - /bids_dataset /outputs participant --participant_label 01 --license_key "XXXXXX" + -v /Users/filo/data/ds005:/bids_dataset:ro \ + -v /Users/filo/outputs:/outputs \ + bids/hcppipelines \ + /bids_dataset /outputs participant --participant_label 01 --license_key "XXXXXX" ### Commercial use