packages-formula/.travis.yml
2020-01-15 20:17:51 +00:00

92 lines
3.2 KiB
YAML

# -*- coding: utf-8 -*-
# vim: ft=yaml
---
stages:
- test
- commitlint
- name: release
if: branch = master AND type != pull_request
sudo: required
cache: bundler
language: ruby
dist: xenial
services:
- docker
# Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml`
# NOTE: Please try to select up to six instances that add some meaningful
# testing of the formula's behaviour. If possible, try to refrain from
# the classical "chosing all the instances because I want to test on
# another/all distro/s" trap: it will just add time to the testing (see
# the discussion on #121). As an example, the set chosen below covers
# the most used distros families, systemd and non-systemd and the latest
# three supported Saltstack versions with python2 and 3.
# As for `kitchen.yml`, that should still contain all of the platforms,
# to allow for comprehensive local testing
# Ref: https://github.com/saltstack-formulas/template-formula/issues/118
# Ref: https://github.com/saltstack-formulas/template-formula/issues/121
env:
matrix:
# - INSTANCE: debian-debian-10-develop-py3
# - INSTANCE: ubuntu-ubuntu-1804-develop-py3
# - INSTANCE: centos-centos-7-develop-py3
# - INSTANCE: fedora30-fedora-30-develop-py3
- INSTANCE: suse-opensuse-leap-15-develop-py3
# - INSTANCE: default-amazonlinux-2-develop-py2
# - INSTANCE: debian-debian-9-2019-2-py3
# - INSTANCE: ubuntu-ubuntu-1804-2019-2-py3
# - INSTANCE: centos-centos-7-2019-2-py3
# - INSTANCE: fedora30-fedora-30-2019-2-py3
- INSTANCE: suse-opensuse-leap-15-2019-2-py3
# - INSTANCE: default-amazonlinux-2-2019-2-py2
# - INSTANCE: debian-debian-9-2018-3-py2
# - INSTANCE: ubuntu-ubuntu-1604-2018-3-py2
# - INSTANCE: centos-centos-7-2018-3-py2
# - INSTANCE: fedora29-fedora-29-2018-3-py2
- INSTANCE: suse-opensuse-leap-15-2018-3-py2
# - INSTANCE: default-amazonlinux-2-2018-3-py2
# - INSTANCE: debian-debian-8-2017-7-py2
# - INSTANCE: ubuntu-ubuntu-1604-2017-7-py2
# - INSTANCE: centos-centos-6-2017-7-py2
# - INSTANCE: fedora29-fedora-29-2017-7-py2
- INSTANCE: suse-opensuse-leap-15-2017-7-py2
# - INSTANCE: default-amazonlinux-2-2017-7-py2
script:
- bin/kitchen verify ${INSTANCE}
jobs:
include:
# Define the commitlint stage
- stage: commitlint
language: node_js
node_js: lts/*
before_install: skip
script:
- npm install @commitlint/config-conventional -D
- npm install @commitlint/travis-cli -D
- commitlint-travis
# Define the release stage that runs semantic-release
- stage: release
language: node_js
node_js: lts/*
before_install: skip
script:
# Update `AUTHORS.md`
- export MAINTAINER_TOKEN=${GH_TOKEN}
- go get github.com/myii/maintainer
- maintainer contributor
# Install all dependencies required for `semantic-release`
- npm install @semantic-release/changelog@3 -D
- npm install @semantic-release/exec@3 -D
- npm install @semantic-release/git@7 -D
deploy:
provider: script
skip_cleanup: true
script:
# Run `semantic-release`
- npx semantic-release@15