Skip to content
Snippets Groups Projects
.gitlab-ci.yml 10.83 KiB
workflow:
   rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
      when: never
    - when: always

# Functions that should be executed before the build script is run

variables:
  HELM_VERSION: "3.9.3"
  IMAGE_NAME: "df-wiki"
  # dev
  HOST_DEV: 'defense-finder.dev.pasteur.cloud'
  MEILI_HOST_DEV: 'defense-finder-meilisearch.dev.pasteur.cloud'
  # prod
  HOST_PROD: 'defense-finder.pasteur.cloud'
  MEILI_HOST_PROD: 'defense-finder-meilisearch.pasteur.cloud'


cache:
  paths:
    - node_modules/
    - .output/public
    

stages:
  - delete-release
  - build-df-cli
  - get-data
  - deploy-meilisearch
  - update-meilisearch-indexes
  - get-meili-key
  - build
  - deploy


.docker-login: &docker-login
  - i=0; while [ "$i" -lt 12 ]; do docker info && break; sleep 5; i=$(( i + 1 )) ; done
  - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY



# Build df-wiki-cli package


build:df-wiki-cli:
  stage: build-df-cli
  image: python:3.11-bullseye
  before_script:
    - cd packages/df-wiki-cli/
    - pip install poetry
    - poetry install
    - source `poetry env info --path`/bin/activate

  script:
    - echo "This is the build stage"
    - poetry config repositories.gitlab "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi"
    - poetry config http-basic.gitlab gitlab-ci-token "$CI_JOB_TOKEN"
    - echo "Repository gitlab configured ..."
    - poetry build
    - echo "Build done ..."
    - poetry publish --repository gitlab --skip-existing
    - echo "Publishing done!"
  rules:
    - changes:
      - packages/df-wiki-cli/**/*.{py, toml} # ... or whatever your file extension is
  allow_failure: true
################ DEPLOY MEILISEARCH #################

.deploy:meilisearch: