variables: GIT_STRATEGY: fetch GIT_SSL_NO_VERIFY: "true" GIT_SUBMODULE_STRATEGY: recursive GIT_LFS_SKIP_SMUDGE: 1 .docker-before-script: &docker_before_script # This is an anchor before_script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN http://$CI_REGISTRY .git-before-script: &git_before_script before_script: - git config --global user.name "CR (covid cron)" - git config --global user.email "beepbop@example.com" - url_host=`git remote get-url origin | sed -e "s/https:\/\/gitlab-ci-token:.*@//g"` - cd /tmp/ - git clone "https://gitlab-ci-token:${CI_PUSH_TOKEN}@${url_host}" - cd covid-19-public-data - git lfs install --local - PATH=$PATH:~/.local/bin stages: - build - datasets-update - notebooks-update - finalize-update image_build: stage: build image: docker:stable except: - /^auto-update.*$/ - schedules <<: *docker_before_script script: - CI_COMMIT_SHA_7=$(echo $CI_COMMIT_SHA | cut -c1-7) - docker build --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA_7 . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA_7 tags: - image-build update-build: stage: build image: docker:stable only: - schedules <<: *docker_before_script script: - docker build --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA-update . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA-update tags: - image-build datasets: stage: datasets-update image: name: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA-update entrypoint: [""] only: - schedules <<: *git_before_script script: - export BRANCH_NAME=auto-update-datasets-${CI_COMMIT_SHORT_SHA} - git checkout -b $BRANCH_NAME - renku dataset update covid-19_jhu-csse - renku dataset add covid-19_jhu-csse --force --source csse_covid_19_data/csse_covid_19_daily_reports https://github.com/CSSEGISandData/COVID-19.git - renku dataset update covid-19-tweet-ids - renku dataset update openzh-covid-19 - renku dataset update covid-19-italy - renku dataset update covid-19-spain - renku dataset update covid-19-us-nyt - renku dataset add covid-19-ecdc -d covid-19-ecdc.csv https://opendata.ecdc.europa.eu/covid19/casedistribution/csv --force || true - renku dataset add covid-19-chile -s data/*.csv -s data/covid19_chile.rds https://github.com/itoledor/coronavirus.git --force || true - renku dataset add covidtracker https://ocgptweb.azurewebsites.net/CSVDownload -d covidtracker.csv --force || true - renku rerun data/covidtracking/states-metadata.json data/covidtracking/states-daily.json - renku run papermill -p out_folder ./data/distancing-metrics/ --inject-paths notebooks/process/download-distancing-data.ipynb runs/download-distancing-data.runs.ipynb - git push --set-upstream origin $BRANCH_NAME notebooks: stage: notebooks-update image: name: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA-update entrypoint: [""] only: refs: - schedules <<: *git_before_script script: - export BRANCH_NAME=auto-update-notebooks-${CI_COMMIT_SHORT_SHA} - git checkout auto-update-datasets-${CI_COMMIT_SHORT_SHA} - git checkout -b $BRANCH_NAME - renku update --with-siblings - git push --set-upstream origin $BRANCH_NAME finalize: stage: finalize-update image: name: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA-update entrypoint: [""] only: - schedules <<: *git_before_script when: always script: - export BRANCH_NAME="auto-update"_$(date -u +"%Y-%m-%d_%H-%M") - git checkout auto-update-notebooks-${CI_COMMIT_SHORT_SHA} || git checkout auto-update-datasets-${CI_COMMIT_SHORT_SHA} - git rev-parse --abbrev-ref HEAD - git checkout -b $BRANCH_NAME - git push origin --delete auto-update-notebooks-${CI_COMMIT_SHORT_SHA} || true - git push origin --delete auto-update-datasets-${CI_COMMIT_SHORT_SHA} || true - git push origin $BRANCH_NAME