variables: DEBIAN_FRONTEND: noninteractive IMAGE_NAME: $CI_REGISTRY_IMAGE/base stages: - docker - install - test docker: stage: docker tags: - dind variables: DOCKER_DRIVER: "overlay2" DOCKER_TLS_CERTDIR: "/certs" services: - docker:20.10.17-dind before_script: - docker info - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} script: - docker build -t ${IMAGE_NAME}:latest -f Dockerfile-base . - docker push ${IMAGE_NAME}:latest image: docker:20.10.17 allow_failure: true only: changes: - Dockerfile-base install: stage: install image: registry.git.laquadrature.net/bastien/raaspotter/base:latest tags: - unprivileged script: - virtualenv --python=/usr/bin/python3 . - source bin/activate - pip3 install -r requirements.txt cache: key: $CI_COMMIT_REF_SLUG paths: - bin/ - lib/ - pyvenv.cfg test_pref06: stage: test image: registry.git.laquadrature.net/bastien/raaspotter/base:latest tags: - unprivileged needs: [install] script: - curl --silent --location --output artifacts.zip "${CI_SERVER_PROTOCOL}://${CI_SERVER_HOST}:${CI_SERVER_PORT}/api/v4/projects/${CI_PROJECT_ID}/jobs/artifacts/${CI_COMMIT_BRANCH}/download?job=${CI_JOB_NAME}&job_token=${CI_JOB_TOKEN}" || true - unzip -q artifacts.zip data/pref06/* || true - rm artifacts.zip || true - source bin/activate - /etc/init.d/tor start - python ./cli.py --pref pref06 retry: 2 only: - main cache: key: $CI_COMMIT_REF_SLUG paths: - bin/ - lib/ - pyvenv.cfg artifacts: paths: - data/pref06/*.txt - output.log expire_in: 1 hour test_pref13: stage: test image: registry.git.laquadrature.net/bastien/raaspotter/base:latest tags: - unprivileged needs: [install] script: - curl --silent --location --output artifacts.zip "${CI_SERVER_PROTOCOL}://${CI_SERVER_HOST}:${CI_SERVER_PORT}/api/v4/projects/${CI_PROJECT_ID}/jobs/artifacts/${CI_COMMIT_BRANCH}/download?job=${CI_JOB_NAME}&job_token=${CI_JOB_TOKEN}" || true - unzip -q artifacts.zip data/pref13/* || true - rm artifacts.zip || true - source bin/activate - /etc/init.d/tor start - python ./cli.py --pref pref13 retry: 2 only: - main cache: key: $CI_COMMIT_REF_SLUG paths: - bin/ - lib/ - pyvenv.cfg artifacts: paths: - data/pref13/*.txt - output.log expire_in: 1 hour test_pref35: stage: test image: registry.git.laquadrature.net/bastien/raaspotter/base:latest tags: - unprivileged needs: [install] script: - curl --silent --location --output artifacts.zip "${CI_SERVER_PROTOCOL}://${CI_SERVER_HOST}:${CI_SERVER_PORT}/api/v4/projects/${CI_PROJECT_ID}/jobs/artifacts/${CI_COMMIT_BRANCH}/download?job=${CI_JOB_NAME}&job_token=${CI_JOB_TOKEN}" || true - unzip -q artifacts.zip data/pref35/* || true - rm artifacts.zip || true - source bin/activate - /etc/init.d/tor start - python ./cli.py --pref pref35 retry: 2 only: - main cache: key: $CI_COMMIT_REF_SLUG paths: - bin/ - lib/ - pyvenv.cfg artifacts: paths: - data/pref35/*.txt - output.log expire_in: 1 hour test_pref62: stage: test image: registry.git.laquadrature.net/bastien/raaspotter/base:latest tags: - unprivileged needs: [install] script: - curl --silent --location --output artifacts.zip "${CI_SERVER_PROTOCOL}://${CI_SERVER_HOST}:${CI_SERVER_PORT}/api/v4/projects/${CI_PROJECT_ID}/jobs/artifacts/${CI_COMMIT_BRANCH}/download?job=${CI_JOB_NAME}&job_token=${CI_JOB_TOKEN}" || true - unzip -q artifacts.zip data/pref62/* || true - rm artifacts.zip || true - source bin/activate - /etc/init.d/tor start - python ./cli.py --pref pref62 retry: 2 only: - main cache: key: $CI_COMMIT_REF_SLUG paths: - bin/ - lib/ - pyvenv.cfg artifacts: paths: - data/pref62/*.txt - output.log expire_in: 1 hour test_ppparis: stage: test image: registry.git.laquadrature.net/bastien/raaspotter/base:latest tags: - unprivileged needs: [install] script: - curl --silent --location --output artifacts.zip "${CI_SERVER_PROTOCOL}://${CI_SERVER_HOST}:${CI_SERVER_PORT}/api/v4/projects/${CI_PROJECT_ID}/jobs/artifacts/${CI_COMMIT_BRANCH}/download?job=${CI_JOB_NAME}&job_token=${CI_JOB_TOKEN}" || true - unzip -q artifacts.zip data/ppparis/* || true - rm artifacts.zip || true - source bin/activate - python ./cli.py --pref ppparis retry: 2 only: - main cache: key: $CI_COMMIT_REF_SLUG paths: - bin/ - lib/ - pyvenv.cfg artifacts: paths: - data/ppparis/*.txt - output.log expire_in: 1 hour