Skip to content

Commit

Permalink
Merge pull request #86 from myii/feat/overhaul-platforms-after-2019.2.2
Browse files Browse the repository at this point in the history
feat(formula): upgrade platforms support after `2019.2.2` release
  • Loading branch information
myii authored Oct 31, 2019
2 parents b52ceba + 6e495ef commit dccc98c
Show file tree
Hide file tree
Showing 4 changed files with 258 additions and 270 deletions.
72 changes: 28 additions & 44 deletions ssf/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ ssf_node_anchors:
# An alternative method could be to use:
# `git describe --abbrev=0 --tags`
# yamllint disable rule:line-length
title: 'feat(semantic-release): implement for this formula'
body: '* Automated using https://github.com/myii/ssf-formula/pull/85'
title: 'ci(kitchen+travis): upgrade matrix after `2019.2.2` release [skip ci]'
body: '* Automated using https://github.com/myii/ssf-formula/pull/86'
# yamllint enable rule:line-length
github:
owner: 'saltstack-formulas'
Expand Down Expand Up @@ -87,67 +87,51 @@ ssf_node_anchors:
# as numbers (for comparisons)
# [os , os_ver, salt_ver, py_ver]

### `develop-py3` => `master-py3`
### `master-py3`
- [debian , 10 , master, 3]
# - [debian , 9 , develop, 3] # unmaintained
- [ubuntu , 18.04, develop, 3]
- [centos , 7 , develop, 3]
- [fedora , 30 , develop, 3]
# - [fedora , 29 , develop, 3] # unmaintained
- [opensuse/leap, 15 , develop, 3]

### `develop-py2`
- [amazonlinux , 2 , develop, 2]
- [arch-base , latest, develop, 2]
- [ubuntu , 18.04, master, 3]
- [centos , 8 , master, 3]
- [fedora , 31 , master, 3]
- [opensuse/leap, 15.1 , master, 3]
### ` master-py2`
- [amazonlinux , 2 , master, 2]
- [arch-base , latest, master, 2]

### `2019.2-py3`
- [debian , 9 , 2019.2, 3] # unmaintained (resolve)
- [debian , 10 , 2019.2, 3]
- [debian , 9 , 2019.2, 3]
- [ubuntu , 18.04, 2019.2, 3]
# - [ubuntu , 1804, 2019.2, 3] # unmaintained
- [centos , 7 , 2019.2, 3]
- [fedora , 30 , 2019.2, 3]
# - [fedora , 29 , 2019.2, 3] # unmaintained
- [opensuse/leap, 15 , 2019.2, 3]

# - [ubuntu , 16.04, 2019.2, 3]
- [centos , 8 , 2019.2, 3]
# - [centos , 7 , 2019.2, 3]
- [fedora , 31 , 2019.2, 3]
- [opensuse/leap, 15.1 , 2019.2, 3]
### `2019.2-py2`
# - [debian , 10 , 2019.2, 2]
# - [debian , 9 , 2019.2, 2] # unmaintained
# - [ubuntu , 18.04, 2019.2, 2]
# - [centos , 7 , 2019.2, 2]
# - [fedora , 29 , 2019.2, 2] # unmaintained
# - [opensuse/leap, 15 , 2019.2, 2] # unmaintained
- [centos , 7 , 2019.2, 2]
- [amazonlinux , 2 , 2019.2, 2]
- [arch-base , latest, 2019.2, 2]

### `2018.3-py3`
# - [fedora , 29 , 2018.3, 3]

- [fedora , 30 , 2018.3, 3]
### `2018.3-py2`
# - [debian , 10 , 2018.3, 2]
- [debian , 9 , 2018.3, 2]
# - [debian , 8 , 2018.3, 2] # unmaintained
# - [debian , 8 , 2018.3, 2]
# - [ubuntu , 18.04, 2018.3, 2]
- [ubuntu , 16.04, 2018.3, 2]
# - [ubuntu , 1604 , 2018.3, 2] # unmaintained
- [centos , 7 , 2018.3, 2]
# - [centos , 6 , 2018.3, 2]
- [fedora , 29 , 2018.3, 2] # unmaintained (resolve)
# - [fedora , 28 , 2018.3, 2] # unmaintained
- [opensuse/leap, 15 , 2018.3, 2]
# - [opensuse/leap, 42 , 2018.3, 2] # unmaintained
# - [opensuse , 423 , 2018.3, 2] # unmaintained
- [opensuse/leap, 15.1 , 2018.3, 2]
- [amazonlinux , 2 , 2018.3, 2]
- [arch-base , latest, 2018.3, 2]

### `2017.7-py2`
# - [debian , 9 , 2017.7, 2]
- [debian , 8 , 2017.7, 2] # unmaintained (resolve)
- [debian , 8 , 2017.7, 2]
- [ubuntu , 16.04, 2017.7, 2]
- [centos , 6 , 2017.7, 2]
- [fedora , 29 , 2017.7, 2]
# - [fedora , 28 , 2017.7, 2] # unmaintained
- [opensuse/leap, 15 , 2017.7, 2]
# - [opensuse/leap, 42 , 2017.7, 2] # unmaintained
- [fedora , 30 , 2017.7, 2]
- [opensuse/leap, 15.1 , 2017.7, 2]
- [amazonlinux , 2 , 2017.7, 2]
- [arch-base , latest, 2017.7, 2]

Expand All @@ -156,10 +140,10 @@ ssf_node_anchors:
# [os , os_ver, salt_ver, py_ver, inspec_suite]
- [debian , 10 , master, 3, default]
- [ubuntu , 18.04, 2019.2, 3, default]
- [opensuse/leap, 15.1 , 2019.2, 3, default]
- [amazonlinux , 2 , 2019.2, 2, default]
- [arch-base , latest, 2019.2, 2, default]
- [fedora , 29 , 2018.3, 2, default]
- [opensuse/leap, 15 , 2018.3, 2, default]
- [fedora , 30 , 2018.3, 3, default]
- [arch-base , latest, 2018.3, 2, default]
- [centos , 6 , 2017.7, 2, default]
# To deal with excessive instances when mimicking `kitchen list -b`
# If values are set, only use these as commented entries in the matrix
Expand Down Expand Up @@ -344,7 +328,7 @@ ssf:
<<: *isk_default
1:
<<: *isk_suite_default
name: 'fedora'
name: 'redhat'
logrotate: *formula_default
lvm: *formula_default
mysql: *formula_default
Expand Down
15 changes: 5 additions & 10 deletions ssf/files/default/.travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,12 @@ script:
- {{ post_cmd }}
{%- endfor %}
{%- if use_saltcheck %}
# If a `develop` instance, get the appropriate version of `saltcheck.py` (temporary)
# If a `master` instance, get the appropriate version of `saltcheck.py` (temporary)
{%- if semrel_formula in ['cron'] %}
# Likewise, use a custom `cron.py` temporarily until the upstream PR is merged:
# - https://github.com/saltstack/salt/pull/55016
{%- endif %}
- if [ ! -z $(echo "${INSTANCE}" | grep \\-develop-) ]; then
- if [ ! -z $(echo "${INSTANCE}" | grep \\-master-) ]; then
bin/kitchen exec "${INSTANCE}" -c
"sudo curl -o \$(find /usr/lib/ -type d -name modules | grep packages/salt/modules)/saltcheck.py
https://raw.githubusercontent.com/myii/salt/fix/add-retcode/salt/modules/saltcheck.py";
Expand All @@ -83,8 +83,8 @@ script:
https://raw.githubusercontent.com/myii/salt/fix/add-retcode/salt/modules/cron.py";
{%- endif %}
fi
# If a `develop` instance, run all of the `saltcheck` tests
- if [ ! -z $(echo "${INSTANCE}" | grep \\-develop-) ]; then
# If a `master` instance, run all of the `saltcheck` tests
- if [ ! -z $(echo "${INSTANCE}" | grep \\-master-) ]; then
bin/kitchen exec "${INSTANCE}" -c
"sudo salt-call
--config-dir=/tmp/kitchen/etc/salt
Expand Down Expand Up @@ -120,14 +120,9 @@ jobs:
# [Py2/InsecurePlatformWarning] Tornado requires an up-to-date SSL module.
- sudo apt-get install python3-pip python3-setuptools python3-wheel -y
{%- endif %}
{#- Prepare variable used for file types to pipe to `salt-lint` #}
{%- set salt_lint_files = '\.sls$\|\.jinja$\|\.j2$\|\.tmpl$' %}
{%- if use_saltcheck %}
{%- set salt_lint_files = salt_lint_files ~ '\|\.tst$' %}
{%- endif %}
# Install and run `salt-lint`
- {{ pip_cmd }} install --user salt-lint
- git ls-files | grep '{{ salt_lint_files }}'
- git ls-files | grep '\.sls$\|\.jinja$\|\.j2$\|\.tmpl$\|\.tst$'
| xargs -I {} salt-lint {}
# Install and run `yamllint`
# Need at least `v1.17.0` for the `yaml-files` setting
Expand Down
33 changes: 6 additions & 27 deletions ssf/files/default/kitchen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,7 @@

{%- macro format_driver_image(os, os_ver, salt_ver, py_ver) %}
{%- filter indent(6) %}
{%- if os == 'opensuse/leap' %}
image: {{ os }}:{{ os_ver }}
{%- else %}
image: netmanagers/salt-{{ salt_ver }}-py{{ py_ver }}:{{ os | replace('/', '-') }}-{{ os_ver }}
{%- endif %}
{%- endfilter %}
{%- endmacro %}

Expand All @@ -63,20 +59,10 @@ image: netmanagers/salt-{{ salt_ver }}-py{{ py_ver }}:{{ os | replace('/', '-')
{#- Need to look at if this can be resolved from within the formulas themselves, though #}
{%- filter indent(6) %}
{%- set prov_cmds = [] %}
{#- Specific to unsalted `opensuse/leap` #}
{%- if os == 'opensuse/leap' %}
{%- do prov_cmds.append('# yamllint disable-line rule:line-length') %}
{%- do prov_cmds.append(
'- zypper install -y glibc-locale net-tools net-tools-deprecated python-xml python{0}-pip'.format(py_ver)
) %}
{%- do prov_cmds.append('- systemctl enable sshd.service') %}
{%- endif %}
{#- Specific to `develop` (and the introduction of `master`) #}
{%- if salt_ver in ['develop', 'master'] %}
{%- if os != 'opensuse/leap' %}
{%- do prov_cmds.append('- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com') %}
{%- do prov_cmds.append('- sh bootstrap-salt.sh -XdPbfrq -x python{0} git {1}'.format(py_ver, salt_ver)) %}
{%- endif %}
{#- Specific to `master` #}
{%- if salt_ver == 'master' %}
{%- do prov_cmds.append('- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com') %}
{%- do prov_cmds.append('- sh bootstrap-salt.sh -XdPbfrq -x python{0} git {1}'.format(py_ver, salt_ver)) %}
{%- if semrel_formula == 'deepsea' %}
{%- if os in ['centos', 'fedora'] %}
{%- do prov_cmds.append('- yum install make -y') %}
Expand Down Expand Up @@ -148,12 +134,8 @@ platforms:
{%- set salt_ver = platform[2] %}
{%- set py_ver = platform[3] %}
{#- Display comment for each section (based on Salt version) #}
{#- Temporarily need to merge `develop` and `master` until the transition is complete #}
{%- set linebreak = '\n' %}
{%- set comment = '`{0}`'.format(salt_ver) %}
{%- if salt_ver in ['develop', 'master'] %}
{%- set comment = '`develop` => `master`' %}
{%- endif %}
{%- if loop.index0 == 0 %}
{%- set linebreak = first_linebreak %}
{%- endif %}
Expand All @@ -176,11 +158,8 @@ platforms:
{{- format_driver_image(os, os_ver, salt_ver, py_ver) }}
{{- format_driver_prov_cmds(os, os_ver, salt_ver, py_ver) }}
{{- format_driver_run_cmds(os, os_ver) }}
{%- if [os, os_ver] == ['opensuse/leap', 15] %}
provisioner:
salt_bootstrap_options: -XdPfrq -x python{{ py_ver }} git {{ salt_ver }}
salt_install: bootstrap
# Workaround to avoid intermittent failures on `opensuse-leap-15`:
{%- if [os, os_ver] == ['opensuse/leap', 15.1] %}
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
Expand Down
Loading

0 comments on commit dccc98c

Please sign in to comment.