Skip to content
Snippets Groups Projects
Select Git revision
  • c79632cf9c37c7176825974e4b2d129c98e5f6c0
  • master default protected
  • memo/autoentrepreneur
  • documentation-non-recours
  • pote_2023
  • ajout-variable-taux-allegement-general
  • tester-variable-taux-allegement-cotisations
  • ppa-rsa
  • documentations-html-acad4c9f95a39e798170e3e9ab147b24b9f7e613
  • 184-ajouter-une-variable-sur-le-non-recours
  • aides-logement
  • statistiques_impot
  • documentations-html-ab2ff75179b3a97939d5c802e370f32c1978b99b
  • statistiques_impot_corrections_chloe
  • documentations-html-e96b6fd1b3963bc54903d8de1e23ea3f7dbb2e00
  • cdhr_reform
  • memo_pfu
  • 177-integration-erfs-2021-pipeline
  • 175-ajout-code-casd
  • memo-navbar-color
  • memo-rsa-rmi
21 results

.gitlab-ci.yml

Blame
  • user avatar
    benoit-cty authored
    b7be7c53
    History
    .gitlab-ci.yml 8.12 KiB
    # image: python:3.10-slim
    image: leximpact/prepare-data:latest
    
    variables:
      PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
      PIP_DOWNLOAD_DIR: ".pip"
      # For Git, to prevent asking for user config
      GIT_EMAIL: gitlabci@gitlab.com
      GIT_AUTHOR_NAME: gitlabci
      PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit
      OUT_FOLDER: "$CI_COMMIT_REF_NAME" # For just branch
      ROOT_FOLDER: "/mnt/data-out/leximpact-prepare-data/CI"
      # For Docker
      CI_REGISTRY: https://index.docker.io/v1/
      DOCKER_HUB_IMAGE_NAME: "leximpact/prepare-data"
    
    stages:
      - docker
      - init
      - check
      - run_pipeline
      - test
      - deploy-doc
      - pre-publish
      - publish
      - update_version
    
    cache:
      key:
        files:
          - poetry.lock
          - .pre-commit-config.yaml
        # prefix: ${CI_JOB_NAME}
      paths:
        - .venv
        - openfisca-france-data
        - ${PIP_CACHE_DIR}
        - ${PIP_DOWNLOAD_DIR}
        - ${PRE_COMMIT_HOME}
    
    before_script:
      - cp deploy/.env-ci notebooks/.env
      - cp deploy/.env-ci leximpact_prepare_data/.env
      - cp deploy/.env-ci .env 
      - sed -i "s/BRANCH_NAME/$OUT_FOLDER/" notebooks/.env
      - sed -i "s/BRANCH_NAME/$OUT_FOLDER/" leximpact_prepare_data/.env
      - sed -i "s/BRANCH_NAME/$OUT_FOLDER/" .env
      # Run install on every job to ensure that the environment is up to date. Cache will be used.
      - poetry config virtualenvs.in-project true
      - poetry install --extras "pipeline"
      - poetry run pre-commit install --install-hooks
    
    build docker image:
      stage: docker
      image:
        name: gcr.io/kaniko-project/executor:debug
        entrypoint: [""]
      # Prevent call of before_script because it will fail in this context
      before_script:
        - ''
      script:
        # From https://github.com/GoogleContainerTools/kaniko#pushing-to-docker-hub
        - DOCKER_HUB_AUTH=$(echo -n $DOCKER_HUB_USER:$DOCKER_HUB_PASSWORD | base64)
        - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$DOCKER_HUB_AUTH\"}}}" > /kaniko/.docker/config.json
        - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/deploy/Dockerfile-ci --destination $DOCKER_HUB_IMAGE_NAME:latest
      # Build Docker is needed only if code as changed.
      when: manual
    
    install:
      stage: init