Loading .gitlab-ci.yml +35 −15 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Dockerfile +1 −1 Original line number Diff line number Diff line FROM python:3.12 FROM python:3.11 WORKDIR /app COPY requirements.txt . Loading Loading
.gitlab-ci.yml +35 −15 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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
Dockerfile +1 −1 Original line number Diff line number Diff line FROM python:3.12 FROM python:3.11 WORKDIR /app COPY requirements.txt . Loading