diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 26e3a48a980c7a20df5fdd9a6ba2d480c6ce66b6..aa213ba7bd52c3314f553166afa34258d2cf5cbe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,12 +23,10 @@ stages: workflow: rules: + - if: $CI_COMMIT_TAG - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push" when: never - if: $CI_PIPELINE_SOURCE == "merge_request_event" - - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS - when: never - - if: $CI_COMMIT_TAG && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - if: $CI_COMMIT_BRANCH @@ -47,6 +45,7 @@ variables: LM_PYTHON_VERSION: "3.9" SAFETY_POLICY_FILE: "$CI_PROJECT_DIR/.safety-policy.yml" SAFETY_COLOR: "True" + CI_SERVER_URL: "https://etulab.univ-amu.fr" include: - template: Jobs/Dependency-Scanning.gitlab-ci.yml @@ -58,10 +57,12 @@ include: dependency_scanning: cache: [ ] stage: 🔒️ security 🔒️ + interruptible: true .secret-analyzer: cache: [ ] stage: 🔒️ security 🔒️ + interruptible: true # Install dependencies @@ -79,6 +80,7 @@ dependency_scanning: - ${CI_PROJECT_DIR}/.cache/pip policy: pull-push stage: .pre + interruptible: true before_script: - python --version - pip install --upgrade pip @@ -102,6 +104,7 @@ dependency_scanning: # Pre script .load_env: + interruptible: true cache: - key: files: @@ -143,6 +146,7 @@ dependency_scanning: - $CI_PROJECT_DIR/**/*.yml - $CI_PROJECT_DIR/**/*.yaml - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + - if: $CI_COMMIT_TAG script: - yamllint src tests @@ -153,6 +157,7 @@ dependency_scanning: - changes: - $CI_PROJECT_DIR/**/*.md - if: $CI_PIPELINE_SOURCE == 'merge_request_event' + - if: $CI_COMMIT_TAG stage: 🎨 format 🎨 before_script: @@ -348,34 +353,42 @@ dependency_scanning: stage: 🚀 release 🚀 rules: # Run this job when a tag is created manually - - if: $CI_COMMIT_TAG && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - if: $CI_COMMIT_TAG -.load_env_for_release: +🔧 publish package 🚧: extends: - .load_env - .common_release - -🔧 build package 🚧: - extends: .load_env_for_release needs: - - !reference [ .load_env_for_release, needs ] + - !reference [ .load_env, needs ] - 🤞 coverage 🔍️ + before_script: + - export PATH="$PATH":"$HOME/.local/bin" + - pip install --user pipx + - pipx ensurepath + - pipx install poetry script: + - poetry config repositories.gitlab $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/pypi - poetry build + - poetry publish -r gitlab --username=ci_cd --password=$PUBLISHER_PASSWORD artifacts: when: on_success paths: - dist -🔖 release package 🚧: - cache: [ ] +🔖 release version 🚧: + cache: [] extends: .common_release needs: - - 🔧 build package 🚧 + - 🔧 publish package 🚧 image: registry.gitlab.com/gitlab-org/release-cli:latest script: - - echo "Running the release job." + - echo "Release created" release: tag_name: $CI_COMMIT_TAG - name: 'Release $CI_COMMIT_TAG' + name: 'Release ${CI_COMMIT_TAG}' description: 'Release created using the release-cli.' + assets: + links: + - name: '${CI_PROJECT_NAME} PyPi package' + url: '${CI_SERVER_URL}/${CI_PROJECT_PATH}/-/packages' diff --git a/pyproject.toml b/pyproject.toml index 4e57367cf1a8b66315732f9e8977a8e04b9c9a58..66bb3d790cef09c0aa4b193c24e7bcab6803da85 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ The Caesar algorithm is provided for the cipher method and decipher method.\ authors = ["Axel DAVID <axel.david@etu.univ-amu.fr>"] readme = "README.md" license = "GPL-3.0-or-later" -packages = [{ include = "src" }] +packages = [{ include = "vigenere_api", from = "src" }] homepage = "https://etulab.univ-amu.fr/d19006523/vigenere-api" repository = "https://etulab.univ-amu.fr/d19006523/vigenere-api" keywords = ["vigenere", "caesar", "API", "Python"]