Files
rss-proxy/.gitlab-ci.yml
2025-03-03 15:38:51 +00:00

47 lines
1.1 KiB
YAML
Executable File

image: docker:latest
stages:
- test
- build
- push
test:
stage: test
image: python:3.11-alpine
script:
- pip install -r requirements.txt
- python -m unittest discover tests
only:
- main
before_script:
- apk add --no-cache docker-cli
- |
# Wait for Docker to be ready
until docker info; do
echo "Waiting for Docker to be ready..."
sleep 5
done
build:
needs:
- test
stage: build
script:
- docker info
- docker build -t $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG .
- docker tag $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_SHORT_SHA
- docker tag $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG $CI_REGISTRY/$CI_PROJECT_PATH:latest
push:
needs:
- build
stage: push
script:
- echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_REF_SLUG
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:$CI_COMMIT_SHORT_SHA
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:latest
only:
- main