This repository has been archived on 2023-05-06. You can view files and clone it, but cannot push or open issues or pull requests.
pleroma-ansible-playbook/.gitlab-ci.yml

79 lines
1.4 KiB
YAML

---
stages:
- test
- publish
.use-python:
image: python:3.7.6-slim-buster
.docker-build-setup:
image: docker:19.03.8
services:
- docker:19.03.8-dind
.install-make: &install-make
- apk add --no-cache make
test:dockerfile-lint:
stage: test
image: hadolint/hadolint:v1.17.5-alpine
script:
- hadolint ./Dockerfile
only:
refs:
- merge_requests
changes:
- Dockerfile
except:
refs:
- master
test:docker-image-build:
stage: test
extends: .docker-build-setup
script:
- *install-make
- export IMAGE_DATE=$(date -Iseconds)
- make image
only:
refs:
- merge_requests
changes:
- Dockerfile
except:
refs:
- master
test:custom-modules:
stage: test
extends: .use-python
before_script:
- apt-get update && apt-get install make
- pip install ansible==2.9.6
script:
- make test_modules_unit
only:
refs:
- merge_requests
changes:
- library/*
except:
refs:
- master
publish:docker-image:
stage: publish
extends: .docker-build-setup
before_script:
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
after_script:
- docker logout ${CI_REGISTRY}
script:
- *install-make
- export IMAGE_DATE=$(date -Iseconds)
- make publish
only:
- /^v[0-9]+(.[0-9]+){2}$/
variables:
IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}
IMAGE_TAG: ${CI_COMMIT_REF_NAME}