mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-10-31 19:04:33 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| stages:
 | |
|   - test
 | |
|   - quality-assurance
 | |
|   - build
 | |
|   - release
 | |
| 
 | |
| variables:
 | |
|   CONTAINER_TEST_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
 | |
|   CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest
 | |
| 
 | |
| py312:
 | |
|   stage: test
 | |
|   image: python:3.12-alpine
 | |
|   before_script:
 | |
|     - apk add --no-cache libmagic
 | |
|     - apk add --no-cache gettext
 | |
|     - pip install tox --no-cache-dir
 | |
|   script: tox -e py312
 | |
| 
 | |
| py313:
 | |
|   stage: test
 | |
|   image: python:3.13-alpine
 | |
|   before_script:
 | |
|     - apk add --no-cache libmagic
 | |
|     - apk add --no-cache gettext
 | |
|     - pip install tox --no-cache-dir
 | |
|   script: tox -e py313
 | |
| 
 | |
| py314:
 | |
|   stage: test
 | |
|   image: python:3.14-alpine
 | |
|   before_script:
 | |
|     - apk add --no-cache libmagic
 | |
|     - apk add --no-cache gettext
 | |
|     - pip install tox --no-cache-dir
 | |
|   script: tox -e py314
 | |
| 
 | |
| linters:
 | |
|   stage: quality-assurance
 | |
|   image: python:3.13-alpine
 | |
|   before_script:
 | |
|     - pip install tox --no-cache-dir
 | |
|   script: tox -e linters
 | |
|   allow_failure: true
 | |
| 
 | |
| build-image:
 | |
|   image: docker
 | |
|   stage: build
 | |
|   services:
 | |
|     - docker:dind
 | |
|   before_script:
 | |
|     - echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin
 | |
|   script:
 | |
|     - docker build --pull -t $CONTAINER_TEST_IMAGE .
 | |
|     - docker push $CONTAINER_TEST_IMAGE
 | |
| 
 | |
| release-image:
 | |
|   image: docker
 | |
|   stage: release
 | |
|   services:
 | |
|     - docker:dind
 | |
|   before_script:
 | |
|     - echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin
 | |
|   script:
 | |
|     - docker pull $CONTAINER_TEST_IMAGE
 | |
|     - docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE
 | |
|     - docker push $CONTAINER_RELEASE_IMAGE
 | |
|   rules:
 | |
|     - if: $CI_COMMIT_BRANCH == "main"
 |