Commit f4fc9084 authored by Laurent Peuch's avatar Laurent Peuch
Browse files

ci(gitlab-ci): use templates from a common repository

parent 1d170e29ac22
Pipeline #53031 failed with stages
in 2 minutes and 28 seconds
---
# follow this doc to extend the already existing jobs:
# https://docs.gitlab.com/ee/ci/yaml/includes.html#overriding-external-template-values
# as a reminder the existing jobs are located here:
# https://forge.extranet.logilab.fr/open-source/gitlab-templates/
# or simply add more jobs here if you need them (use the already existing stages)
# /!\ remember to uncomment the include in the .gitlab-ci.yml /!\
---
default:
image: python
image: python:3.7
include:
# uncomment and uses to customize/extend the configuration here if needed
# (it needs to be at the same level than "- project")
# - ".gitlab-ci-extended.yml"
- project: "open-source/gitlab-ci-templates"
ref: "branch/default"
file:
- "templates/no-duplicated-ci-pipelines.yml" # use workflow to avoid duplicated pipelines
- "templates/lint/flake8.yml" # will do the equivalent of 'tox -e flake8'
- "templates/lint/check-manifest.yml" # will do the equivalent of 'tox -e check-manifest'
- "templates/lint/yamllint.yml" # will do the equivalent of 'tox -e yamllint'
- "templates/tests/py27.yml" # will do the equivalent of 'tox -e py27'
- "templates/tests/py3.yml" # will do the equivalent of 'tox -e py3'
- "templates/build-debian-package.yml" # will build a .deb and upload it to heptapod files
- "templates/create-release-on-heptapod-including-debian-package.yml" # this will create a release on heptapod AND uses uploaded .deb by build-debian-package
- "templates/upload-to-pypi.yml" # on a new mercurial tag (expected to be done with release-new), will push a release on pypi
stages:
- lint
- tests
- after-tests
before_script:
- pip install tox
py3:
stage: tests
script: tox -e py3
artifacts:
paths:
- py3-deprecated-warnings.json
flake8:
stage: tests
script: tox -e flake8
check-manifest:
stage: tests
script: tox -e check-manifest
#black:
# stage: tests
# script: tox -e black
# If you have mypy set up
# mypy:
# stage: tests
# script: tox -e mypy
# If you have your project on readthedocs, you can automatically trigger its
# build by setting:
# - READTHEDOCS_TOKEN
# - READTHEDOCS_ID
# in your heptapod project Settings > CI/CD > Variables.
# You can find those secrets by creating a new integration in your readthedocs
# project here: https://readthedocs.org/dashboard/cubicweb_%(cubename)s/integrations/
#
# Related documentation:
# https://docs.readthedocs.io/en/latest/webhooks.html#using-the-generic-api-integration
#
# trigger-readthedocs:
# only:
# refs:
# - branch/default
# stage: after-tests
# script:
# # regarding the " everywhere when there is a '%%': yaml is extremly weird when %% are involved
# - curl -X POST -d "token=${READTHEDOCS_TOKEN}" https://readthedocs.org/api/v2/webhook/cubicweb_%(cubename)s/${READTHEDOCS_ID} -w "\nhttp code:"\ "%%{http_code}\n" -f
yamllint:
stage: lint
rules:
- changes:
- "**/*.yaml"
- "*.yaml"
- "**/*.yml"
- "*.yml"
script:
- tox -e yamllint
- build-debian-package
- upload-deb-to-heptapod
- release
- publish
......@@ -13,3 +13,4 @@ prune debian
exclude .gitlab-ci.yml
exclude .yamllint
exclude .cube-doctor.yml
exclude .gitlab-ci-extended.yml
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment