Commit ffbf707a authored by Marco Cavalli's avatar Marco Cavalli
Browse files

fix: update dockerfile and pipeline

parent cdbb1861
Loading
Loading
Loading
Loading
Loading
+35 −15
Original line number Diff line number Diff line
@@ -4,8 +4,8 @@ stages:

variables:
  DOCKER_DRIVER: overlay2
  IMAGE_NAME: registry.gitlab.com/$CI_PROJECT_PATH/app
  DOCKER_TLS_CERTDIR: ""
  GIT_CLEAN_FLAGS: -ffdx

build_image:
  stage: build
@@ -17,44 +17,64 @@ build_image:
      changes:
        - Dockerfile
        - requirements.txt

    - if: '$CI_COMMIT_BRANCH == "develop"'
      changes:
        - Dockerfile
        - requirements.txt
    - when: never
  variables:
    GIT_STRATEGY: clone
    GIT_CLEAN_FLAGS: -ffdx

  before_script:
    - echo "CI_REGISTRY = $CI_REGISTRY"
    - echo "CI_PROJECT_PATH = $CI_PROJECT_PATH"
    - export IMAGE_NAME="$CI_REGISTRY/$(echo $CI_PROJECT_PATH | tr '[:upper:]' '[:lower:]')"
    - echo "IMAGE_NAME = $IMAGE_NAME"

  script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY

    - docker pull $IMAGE_NAME:cache || true

    - docker build \
        --cache-from=$IMAGE_NAME:cache \
        -t $IMAGE_NAME:$CI_COMMIT_SHA \
        -t $IMAGE_NAME:cache \
        .
    - docker build --cache-from=$IMAGE_NAME:cache -t $IMAGE_NAME:$CI_COMMIT_SHA -t $IMAGE_NAME:cache .

    - docker push $IMAGE_NAME:$CI_COMMIT_SHA
    - docker push $IMAGE_NAME:cache
    
    - echo "IMAGE_TAG=$CI_COMMIT_SHA" > build.env
    - echo "IMAGE_NAME=$IMAGE_NAME" >> build.env
    - cat build.env

  artifacts:
    expire_in: 1 week
    expire_in: 3 months
    reports:
      dotenv: build.env
  after_script:
    - echo "IMAGE_TAG=$CI_COMMIT_SHA" >> build.env

test_documentation:
  stage: test
  image: $IMAGE_NAME:$CI_COMMIT_SHA
  needs: ["build_image"]
  image: docker:25.0.3
  services:
    - docker:25.0.3-dind
  needs: 
    - job: build_image
      artifacts: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_COMMIT_BRANCH == "develop"'
    - when: never
  variables:
    GIT_STRATEGY: clone
    GIT_CLEAN_FLAGS: -ffdx
  before_script:
    - echo "IMAGE_NAME from artifact = $IMAGE_NAME"
    - echo "IMAGE_TAG from artifact = $IMAGE_TAG"
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
    - docker pull $IMAGE_NAME:$IMAGE_TAG
  script:
    - ls -la
    - python -m unittest discover -s ./doc/tests -t ./doc
 No newline at end of file
    - echo "Running tests in container..."
    - docker run --rm -v $CI_PROJECT_DIR:/workspace -w /workspace $IMAGE_NAME:$IMAGE_TAG python -m unittest discover -s ./doc/tests -t ./doc
  
  after_script:
    - rm -rf __pycache__ || true
    - find . -type d -name __pycache__ -exec rm -rf {} + || true
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
FROM python:3.12
FROM python:3.11

WORKDIR /app
COPY requirements.txt .