diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8efadc91cda45cf7e7714b59a042f9a82e9c1028..31fe65ea8f0838b6475c209a8ee77a882de1ae87 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,25 +16,35 @@ workflow: # Pipeline start # ============================================================================= +# Run the unit tests +testing: + image: node:22-alpine + stage: validate + rules: + - changes: + - src/**/* + script: + - npm test + # Validate the fasta files if they have changed validate-fasta-files: + image: node:22-alpine stage: validate rules: - changes: - data/*.fasta - image: node:22-alpine script: - npm run validate # Build the archive of the fasta files and compute the stats. # Commit the files in the data folder, triggering another CI. build-archive-and-stats: + image: node:22-alpine stage: archive rules: - if: $CI_COMMIT_BRANCH == "master" changes: - data/*.fasta - image: node:22-alpine script: - export CURRENT_DATE=$(date +'%Y-%m-%d') - export ARCHIVE_PATH=data/${CURRENT_DATE}.tar.gz @@ -54,10 +64,10 @@ build-archive-and-stats: # Build the docker image and store it the gitlab registery. build-docker-image: + image: docker:24 stage: build rules: - if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "dev" - image: docker:24 interruptible: true script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY @@ -68,10 +78,10 @@ build-docker-image: # Fetch the image of MongoDB from the DockerHub and store it if there is any changes. # This avoid issues with Docker in case of overpulling. fetch-mongo-image: + image: docker:24 stage: build rules: - if: $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "dev" - image: docker:24 interruptible: true script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY @@ -81,8 +91,8 @@ fetch-mongo-image: # Base stage for deploy-dev and deploy-prod .deploy: - stage: deploy image: registry-gitlab.pasteur.fr/dsi-tools/docker-images:docker_kubernetes_image + stage: deploy interruptible: true script: - kubectl delete secret registry-gitlab -n ${NAMESPACE} --ignore-not-found=true