From a0f0c72f61da0786c7a14f93f866438a330d5f43 Mon Sep 17 00:00:00 2001 From: Christer Edwards Date: Wed, 22 Jan 2020 08:54:23 -0700 Subject: [PATCH 01/22] refer to port origin for all FreeBSD packages --- README.rst | 2 +- bootstrap-salt.sh | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index 7a7e0bc..26f3364 100644 --- a/README.rst +++ b/README.rst @@ -328,7 +328,7 @@ UNIX systems **BSD**: - OpenBSD (``pip`` installation) -- FreeBSD 9/10/11 +- FreeBSD 9/10/11/12 **SunOS**: diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 3c6131d..2695869 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -5298,16 +5298,16 @@ install_freebsd_deps() { install_freebsd_git_deps() { install_freebsd_stable_deps || return 1 - SALT_DEPENDENCIES=$(/usr/local/sbin/pkg search -R -d py36-salt | grep 'origin:' \ - | tail -n +2 | awk -F\" '{print $2}' | sed 's#.*/py-#py36-#g') + SALT_DEPENDENCIES=$(/usr/local/sbin/pkg search -R -d sysutils/py-salt | grep 'origin:' \ + | tail -n +2 | awk -F\" '{print $2}') # shellcheck disable=SC2086 /usr/local/sbin/pkg install -y ${SALT_DEPENDENCIES} || return 1 if ! __check_command_exists git; then - /usr/local/sbin/pkg install -y git || return 1 + /usr/local/sbin/pkg install -y devel/git-lite || return 1 fi - /usr/local/sbin/pkg install -y py36-requests || return 1 + /usr/local/sbin/pkg install -y www/py-requests || return 1 __git_clone_and_checkout || return 1 @@ -5354,7 +5354,7 @@ install_freebsd_stable() { # installing latest version of salt from FreeBSD CURRENT ports repo # # shellcheck disable=SC2086 - /usr/local/sbin/pkg install -y py36-salt || return 1 + /usr/local/sbin/pkg install -y sysutils/py-salt || return 1 return 0 } From 75296f07cfa84efcc30a31a1cdf24020f1f1a260 Mon Sep 17 00:00:00 2001 From: Christer Edwards Date: Wed, 22 Jan 2020 09:02:57 -0700 Subject: [PATCH 02/22] revert unnecessary change --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 2695869..9f36b3d 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -5304,7 +5304,7 @@ install_freebsd_git_deps() { /usr/local/sbin/pkg install -y ${SALT_DEPENDENCIES} || return 1 if ! __check_command_exists git; then - /usr/local/sbin/pkg install -y devel/git-lite || return 1 + /usr/local/sbin/pkg install -y devel/git || return 1 fi /usr/local/sbin/pkg install -y www/py-requests || return 1 From 308d8c84f57d679cf6ab42cebe1a9dc853d3a5dd Mon Sep 17 00:00:00 2001 From: Christer Edwards Date: Wed, 22 Jan 2020 09:38:11 -0700 Subject: [PATCH 03/22] update more python2 hard-coding --- bootstrap-salt.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 9f36b3d..394a0f5 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -5296,7 +5296,7 @@ install_freebsd_deps() { } install_freebsd_git_deps() { - install_freebsd_stable_deps || return 1 + install_freebsd_deps || return 1 SALT_DEPENDENCIES=$(/usr/local/sbin/pkg search -R -d sysutils/py-salt | grep 'origin:' \ | tail -n +2 | awk -F\" '{print $2}') @@ -5361,8 +5361,8 @@ install_freebsd_stable() { install_freebsd_git() { - # /usr/local/bin/python2 in FreeBSD is a symlink to /usr/local/bin/python2.7 - __PYTHON_PATH=$(readlink -f "$(command -v python2)") + # /usr/local/bin/python3 in FreeBSD is a symlink to /usr/local/bin/python3.7 + __PYTHON_PATH=$(readlink -f "$(command -v python3)") __ESCAPED_PYTHON_PATH=$(echo "${__PYTHON_PATH}" | sed 's/\//\\\//g') # Install from git From 738067f14ef6e5c79cf8317f4cc70af4577e1c80 Mon Sep 17 00:00:00 2001 From: Christer Edwards Date: Wed, 22 Jan 2020 12:09:59 -0700 Subject: [PATCH 04/22] adding python to FreeBSD dependencies pending upstream port update --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 394a0f5..f72c4c6 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -5301,7 +5301,7 @@ install_freebsd_git_deps() { SALT_DEPENDENCIES=$(/usr/local/sbin/pkg search -R -d sysutils/py-salt | grep 'origin:' \ | tail -n +2 | awk -F\" '{print $2}') # shellcheck disable=SC2086 - /usr/local/sbin/pkg install -y ${SALT_DEPENDENCIES} || return 1 + /usr/local/sbin/pkg install -y ${SALT_DEPENDENCIES} python || return 1 if ! __check_command_exists git; then /usr/local/sbin/pkg install -y devel/git || return 1 From 7b192471e63174dc6cfc26369d8b17b4d600abd0 Mon Sep 17 00:00:00 2001 From: Christer Edwards Date: Thu, 23 Jan 2020 08:14:25 -0700 Subject: [PATCH 05/22] reverting origin names for FreeBSD packages --- bootstrap-salt.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index f72c4c6..00c2952 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -5298,16 +5298,16 @@ install_freebsd_deps() { install_freebsd_git_deps() { install_freebsd_deps || return 1 - SALT_DEPENDENCIES=$(/usr/local/sbin/pkg search -R -d sysutils/py-salt | grep 'origin:' \ + SALT_DEPENDENCIES=$(/usr/local/sbin/pkg search -R -d py37-salt | grep 'origin:' \ | tail -n +2 | awk -F\" '{print $2}') # shellcheck disable=SC2086 /usr/local/sbin/pkg install -y ${SALT_DEPENDENCIES} python || return 1 if ! __check_command_exists git; then - /usr/local/sbin/pkg install -y devel/git || return 1 + /usr/local/sbin/pkg install -y git || return 1 fi - /usr/local/sbin/pkg install -y www/py-requests || return 1 + /usr/local/sbin/pkg install -y py37-requests || return 1 __git_clone_and_checkout || return 1 @@ -5354,7 +5354,7 @@ install_freebsd_stable() { # installing latest version of salt from FreeBSD CURRENT ports repo # # shellcheck disable=SC2086 - /usr/local/sbin/pkg install -y sysutils/py-salt || return 1 + /usr/local/sbin/pkg install -y py37-salt || return 1 return 0 } From 45d5503c30d44d975e7cf0444756b56af2ac93ee Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Mon, 27 Jan 2020 10:43:32 +0000 Subject: [PATCH 06/22] Update README with latest release sha256sum --- README.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/README.rst b/README.rst index 7a7e0bc..ddee382 100644 --- a/README.rst +++ b/README.rst @@ -28,6 +28,7 @@ sum** of the downloaded ``bootstrap-salt.sh`` file. The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is: +- 2020.01.21: ``db557e80498c54456ee0df752817b5b41def751f047c4a9f32df2eb3058027bb`` - 2019.11.04: ``905924fccd4ebf168d19ba598bf10af53efe02302b792aeb15433e73fd3ad1d2`` - 2019.10.03: ``34f196f06d586ce9e1b9907660ea6e67caf57abcecfea66e0343697e3fd0d17d`` - 2019.05.20: ``46fb5e4b7815efafd69fd703f033fe86e7b584b6770f7e0b936995bcae1cedd8`` From 264f7f3bb3bf9d9ae6041581ca80b683cd4d065e Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Mon, 27 Jan 2020 23:05:13 +0000 Subject: [PATCH 07/22] Fix the sha256sum for the latest release. Fixes https://github.com/saltstack/salt-bootstrap/issues/1419 --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index ddee382..7a9de7e 100644 --- a/README.rst +++ b/README.rst @@ -28,7 +28,7 @@ sum** of the downloaded ``bootstrap-salt.sh`` file. The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is: -- 2020.01.21: ``db557e80498c54456ee0df752817b5b41def751f047c4a9f32df2eb3058027bb`` +- 2020.01.21: ``53299aa0dfbf7ab381f3856bb7babfc04a1d6525be11db0b9466277b1e4d0c1a`` - 2019.11.04: ``905924fccd4ebf168d19ba598bf10af53efe02302b792aeb15433e73fd3ad1d2`` - 2019.10.03: ``34f196f06d586ce9e1b9907660ea6e67caf57abcecfea66e0343697e3fd0d17d`` - 2019.05.20: ``46fb5e4b7815efafd69fd703f033fe86e7b584b6770f7e0b936995bcae1cedd8`` From e7984fc2e1a0f39b31706e4ff5fc54f176121601 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 28 Jan 2020 10:51:36 +0000 Subject: [PATCH 08/22] Switch to Github Actions --- .github/workflows/main.yml | 2991 +++++++++++++++++++++++ .github/workflows/templates/generate.py | 142 ++ .github/workflows/templates/lint.yml | 8 + .github/workflows/templates/linux.yml | 43 + .github/workflows/templates/main.yml | 11 + 5 files changed, 3195 insertions(+) create mode 100644 .github/workflows/main.yml create mode 100644 .github/workflows/templates/generate.py create mode 100644 .github/workflows/templates/lint.yml create mode 100644 .github/workflows/templates/linux.yml create mode 100644 .github/workflows/templates/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..f65a78a --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,2991 @@ +# DO NOT EDIT THIS FILE DIRECTLY! +# +# This file was generated by .github/workflows/templates/generate.py + +name: Testing + +on: [push, pull_request] + +jobs: + + Lint: + runs-on: ubuntu-latest + container: koalaman/shellcheck-alpine:v0.6.0 + steps: + - uses: actions/checkout@v1 + - name: ShellCheck + run: | + shellcheck -s sh -f checkstyle bootstrap-salt.sh + + + + amazon-1-2018-3-py2-stable: + name: Amazon 1 2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-amazon-1 || bundle exec kitchen create py2-stable-2018-3-amazon-1 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-amazon-1 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-amazon-1 + + + amazon-1-2018-3-py2-git: + name: Amazon 1 2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-amazon-1 || bundle exec kitchen create py2-git-2018-3-amazon-1 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-amazon-1 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-amazon-1 + + + amazon-1-2019-2-py2-stable: + name: Amazon 1 2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-amazon-1 || bundle exec kitchen create py2-stable-2019-2-amazon-1 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-amazon-1 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-amazon-1 + + + amazon-1-2019-2-py2-git: + name: Amazon 1 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-amazon-1 || bundle exec kitchen create py2-git-2019-2-amazon-1 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-amazon-1 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-amazon-1 + + + amazon-2-2019-2-py2-stable: + name: Amazon 2 2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-amazon-2 || bundle exec kitchen create py2-stable-2019-2-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-amazon-2 + + + amazon-2-2019-2-py2-git: + name: Amazon 2 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-amazon-2 || bundle exec kitchen create py2-git-2019-2-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-amazon-2 + + + amazon-2-2019-2-py3-stable: + name: Amazon 2 2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-amazon-2 || bundle exec kitchen create py3-stable-2019-2-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-amazon-2 + + + amazon-2-2019-2-py3-git: + name: Amazon 2 2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-amazon-2 || bundle exec kitchen create py3-git-2019-2-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-amazon-2 + + + arch-2018-3-py2-git: + name: Arch 2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-arch || bundle exec kitchen create py2-git-2018-3-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-arch + + + arch-2018-3-py3-git: + name: Arch 2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-arch || bundle exec kitchen create py3-git-2018-3-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-arch + + + arch-2019-2-py2-git: + name: Arch 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-arch || bundle exec kitchen create py2-git-2019-2-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-arch + + + arch-2019-2-py3-git: + name: Arch 2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-arch || bundle exec kitchen create py3-git-2019-2-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-arch + + + centos-6-2018-3-py2-stable: + name: CentOS 6 2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-centos-6 || bundle exec kitchen create py2-stable-2018-3-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-centos-6 + + + centos-6-2018-3-py2-git: + name: CentOS 6 2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-centos-6 || bundle exec kitchen create py2-git-2018-3-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-centos-6 + + + centos-6-2019-2-py2-stable: + name: CentOS 6 2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-centos-6 || bundle exec kitchen create py2-stable-2019-2-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-centos-6 + + + centos-6-2019-2-py2-git: + name: CentOS 6 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-centos-6 || bundle exec kitchen create py2-git-2019-2-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-centos-6 + + + centos-7-2018-3-py2-stable: + name: CentOS 7 2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-centos-7 || bundle exec kitchen create py2-stable-2018-3-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-centos-7 + + + centos-7-2018-3-py2-git: + name: CentOS 7 2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-centos-7 || bundle exec kitchen create py2-git-2018-3-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-centos-7 + + + centos-7-2018-3-py3-stable: + name: CentOS 7 2018.3 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2018-3-centos-7 || bundle exec kitchen create py3-stable-2018-3-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2018-3-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2018-3-centos-7 + + + centos-7-2018-3-py3-git: + name: CentOS 7 2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-centos-7 || bundle exec kitchen create py3-git-2018-3-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-centos-7 + + + centos-7-2019-2-py2-stable: + name: CentOS 7 2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-centos-7 || bundle exec kitchen create py2-stable-2019-2-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-centos-7 + + + centos-7-2019-2-py2-git: + name: CentOS 7 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-centos-7 || bundle exec kitchen create py2-git-2019-2-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-centos-7 + + + centos-7-2019-2-py3-stable: + name: CentOS 7 2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-centos-7 || bundle exec kitchen create py3-stable-2019-2-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-centos-7 + + + centos-7-2019-2-py3-git: + name: CentOS 7 2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-centos-7 || bundle exec kitchen create py3-git-2019-2-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-centos-7 + + + centos-8-2019-2-py3-stable: + name: CentOS 8 2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-centos-8 || bundle exec kitchen create py3-stable-2019-2-centos-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-centos-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-centos-8 + + + centos-8-2019-2-py3-git: + name: CentOS 8 2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-centos-8 || bundle exec kitchen create py3-git-2019-2-centos-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-centos-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-centos-8 + + + debian-10-2019-2-py3-stable: + name: Debian 10 2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-debian-10 || bundle exec kitchen create py3-stable-2019-2-debian-10 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-debian-10 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-debian-10 + + + debian-10-2019-2-py3-git: + name: Debian 10 2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-debian-10 || bundle exec kitchen create py3-git-2019-2-debian-10 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-debian-10 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-debian-10 + + + debian-8-2018-3-py2-stable: + name: Debian 8 2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-debian-8 || bundle exec kitchen create py2-stable-2018-3-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-debian-8 + + + debian-8-2018-3-py2-git: + name: Debian 8 2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-debian-8 || bundle exec kitchen create py2-git-2018-3-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-debian-8 + + + debian-8-2019-2-py2-stable: + name: Debian 8 2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-debian-8 || bundle exec kitchen create py2-stable-2019-2-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-debian-8 + + + debian-8-2019-2-py2-git: + name: Debian 8 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-debian-8 || bundle exec kitchen create py2-git-2019-2-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-debian-8 + + + debian-9-2018-3-py2-stable: + name: Debian 9 2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-debian-9 || bundle exec kitchen create py2-stable-2018-3-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-debian-9 + + + debian-9-2018-3-py2-git: + name: Debian 9 2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-debian-9 || bundle exec kitchen create py2-git-2018-3-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-debian-9 + + + debian-9-2018-3-py3-stable: + name: Debian 9 2018.3 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2018-3-debian-9 || bundle exec kitchen create py3-stable-2018-3-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2018-3-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2018-3-debian-9 + + + debian-9-2018-3-py3-git: + name: Debian 9 2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-debian-9 || bundle exec kitchen create py3-git-2018-3-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-debian-9 + + + debian-9-2019-2-py2-stable: + name: Debian 9 2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-debian-9 || bundle exec kitchen create py2-stable-2019-2-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-debian-9 + + + debian-9-2019-2-py2-git: + name: Debian 9 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-debian-9 || bundle exec kitchen create py2-git-2019-2-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-debian-9 + + + debian-9-2019-2-py3-stable: + name: Debian 9 2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-debian-9 || bundle exec kitchen create py3-stable-2019-2-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-debian-9 + + + debian-9-2019-2-py3-git: + name: Debian 9 2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-debian-9 || bundle exec kitchen create py3-git-2019-2-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-debian-9 + + + fedora-30-2018-3-py2-stable: + name: Fedora 30 2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-fedora-30 || bundle exec kitchen create py2-stable-2018-3-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-fedora-30 + + + fedora-30-2018-3-py2-git: + name: Fedora 30 2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-fedora-30 || bundle exec kitchen create py2-git-2018-3-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-fedora-30 + + + fedora-30-2018-3-py3-stable: + name: Fedora 30 2018.3 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2018-3-fedora-30 || bundle exec kitchen create py3-stable-2018-3-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2018-3-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2018-3-fedora-30 + + + fedora-30-2018-3-py3-git: + name: Fedora 30 2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-fedora-30 || bundle exec kitchen create py3-git-2018-3-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-fedora-30 + + + fedora-30-2019-2-py2-stable: + name: Fedora 30 2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-fedora-30 || bundle exec kitchen create py2-stable-2019-2-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-fedora-30 + + + fedora-30-2019-2-py2-git: + name: Fedora 30 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-fedora-30 || bundle exec kitchen create py2-git-2019-2-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-fedora-30 + + + fedora-30-2019-2-py3-stable: + name: Fedora 30 2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-fedora-30 || bundle exec kitchen create py3-stable-2019-2-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-fedora-30 + + + fedora-30-2019-2-py3-git: + name: Fedora 30 2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-fedora-30 || bundle exec kitchen create py3-git-2019-2-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-fedora-30 + + + opensuse-15-2018-3-py2-git: + name: Opensuse 15 2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-opensuse-15 || bundle exec kitchen create py2-git-2018-3-opensuse-15 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-opensuse-15 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-opensuse-15 + + + opensuse-15-2019-2-py2-git: + name: Opensuse 15 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-opensuse-15 || bundle exec kitchen create py2-git-2019-2-opensuse-15 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-opensuse-15 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-opensuse-15 + + + ubuntu-1604-2018-3-py2-stable: + name: Ubuntu 16.04 2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-ubuntu-1604 || bundle exec kitchen create py2-stable-2018-3-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-ubuntu-1604 + + + ubuntu-1604-2018-3-py2-git: + name: Ubuntu 16.04 2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-ubuntu-1604 || bundle exec kitchen create py2-git-2018-3-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-ubuntu-1604 + + + ubuntu-1604-2018-3-py3-stable: + name: Ubuntu 16.04 2018.3 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2018-3-ubuntu-1604 || bundle exec kitchen create py3-stable-2018-3-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2018-3-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2018-3-ubuntu-1604 + + + ubuntu-1604-2018-3-py3-git: + name: Ubuntu 16.04 2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-ubuntu-1604 || bundle exec kitchen create py3-git-2018-3-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-ubuntu-1604 + + + ubuntu-1604-2019-2-py2-stable: + name: Ubuntu 16.04 2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-ubuntu-1604 || bundle exec kitchen create py2-stable-2019-2-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-ubuntu-1604 + + + ubuntu-1604-2019-2-py2-git: + name: Ubuntu 16.04 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-ubuntu-1604 || bundle exec kitchen create py2-git-2019-2-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-ubuntu-1604 + + + ubuntu-1604-2019-2-py3-stable: + name: Ubuntu 16.04 2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-ubuntu-1604 || bundle exec kitchen create py3-stable-2019-2-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-ubuntu-1604 + + + ubuntu-1604-2019-2-py3-git: + name: Ubuntu 16.04 2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-ubuntu-1604 || bundle exec kitchen create py3-git-2019-2-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-ubuntu-1604 + + + ubuntu-1804-2018-3-py2-stable: + name: Ubuntu 18.04 2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-ubuntu-1804 || bundle exec kitchen create py2-stable-2018-3-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-ubuntu-1804 + + + ubuntu-1804-2018-3-py2-git: + name: Ubuntu 18.04 2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-ubuntu-1804 || bundle exec kitchen create py2-git-2018-3-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-ubuntu-1804 + + + ubuntu-1804-2018-3-py3-stable: + name: Ubuntu 18.04 2018.3 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2018-3-ubuntu-1804 || bundle exec kitchen create py3-stable-2018-3-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2018-3-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2018-3-ubuntu-1804 + + + ubuntu-1804-2018-3-py3-git: + name: Ubuntu 18.04 2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-ubuntu-1804 || bundle exec kitchen create py3-git-2018-3-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-ubuntu-1804 + + + ubuntu-1804-2019-2-py2-stable: + name: Ubuntu 18.04 2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-ubuntu-1804 || bundle exec kitchen create py2-stable-2019-2-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-ubuntu-1804 + + + ubuntu-1804-2019-2-py2-git: + name: Ubuntu 18.04 2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-ubuntu-1804 || bundle exec kitchen create py2-git-2019-2-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-ubuntu-1804 + + + ubuntu-1804-2019-2-py3-stable: + name: Ubuntu 18.04 2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-ubuntu-1804 || bundle exec kitchen create py3-stable-2019-2-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-ubuntu-1804 + + + ubuntu-1804-2019-2-py3-git: + name: Ubuntu 18.04 2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-ubuntu-1804 || bundle exec kitchen create py3-git-2019-2-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-ubuntu-1804 + + diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py new file mode 100644 index 0000000..bed3bb3 --- /dev/null +++ b/.github/workflows/templates/generate.py @@ -0,0 +1,142 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import os +import datetime + +os.chdir(os.path.abspath(os.path.dirname(__file__))) + +LINUX_DISTROS = [ + 'amazon-1', + 'amazon-2', + 'arch', + 'centos-6', + 'centos-7', + 'centos-8', + 'debian-10', + 'debian-8', + 'debian-9', + 'fedora-30', + #'fedora-31', + 'opensuse-15', + 'ubuntu-1604', + 'ubuntu-1804' +] +OSX = WINDOWS = [] + +STABLE_DISTROS = [ + 'amazon-1', + 'amazon-2', + 'centos-6', + 'centos-7', + 'centos-8', + 'debian-10', + 'debian-8', + 'debian-9', + 'fedora-30', + 'fedora-31', + 'ubuntu-1604', + 'ubuntu-1804', +] + +PY2_BLACKLIST = [ + 'centos-8', + 'debian-10', + 'fedora-31', +] + +PY3_BLACKLIST = [ + 'amazon-1', + 'centos-6', + 'debian-8', + 'opensuse-15' +] + +BLACKLIST_2018 = [ + 'amazon-2', + 'centos-8', + 'debian-10', +] + +SALT_BRANCHES = [ + '2018-3', + '2019-2', +] + +DISTRO_DISPLAY_NAMES = { + 'amazon-1': 'Amazon 1', + 'amazon-2': 'Amazon 2', + 'arch': 'Arch', + 'centos-6': 'CentOS 6', + 'centos-7': 'CentOS 7', + 'centos-8': 'CentOS 8', + 'debian-10': 'Debian 10', + 'debian-8': 'Debian 8', + 'debian-9': 'Debian 9', + 'fedora-30': 'Fedora 30', + 'fedora-31': 'Fedora 31', + 'opensuse-15': 'Opensuse 15', + 'ubuntu-1604': 'Ubuntu 16.04', + 'ubuntu-1804': 'Ubuntu 18.04' +} + + +def generate_test_jobs(): + test_jobs = '' + + for distro in LINUX_DISTROS + OSX + WINDOWS: + for branch in SALT_BRANCHES: + for python_version in ('py2', 'py3'): + for bootstrap_type in ('stable', 'git'): + if bootstrap_type == 'stable' and distro not in STABLE_DISTROS: + continue + + if branch == '2018-3' and distro in BLACKLIST_2018: + continue + + if python_version == 'py2' and distro in PY2_BLACKLIST: + continue + + if python_version == 'py3' and distro in PY3_BLACKLIST: + continue + + if distro in LINUX_DISTROS: + template = 'linux.yml' + elif distro in OSX: + template = 'osx.yml' + elif distro in WINDOWS: + template = 'windows.yml' + else: + print("Don't know how to handle {}".format(distro)) + + with open(template) as rfh: + test_jobs += '\n{}\n'.format( + rfh.read().format( + distro=distro, + branch=branch, + python_version=python_version, + bootstrap_type=bootstrap_type, + display_name='{} {} {} {}'.format( + DISTRO_DISPLAY_NAMES[distro], + branch.replace('-', '.'), + python_version.capitalize(), + bootstrap_type.capitalize() + ) + ) + ) + + + with open('lint.yml') as rfh: + lint_job = '\n{}\n'.format(rfh.read()) + + with open('../main.yml', 'w') as wfh: + with open('main.yml') as rfh: + wfh.write( + rfh.read().format( + lint_job=lint_job, + test_jobs=test_jobs, + ) + ) + + +if __name__ == '__main__': + generate_test_jobs() diff --git a/.github/workflows/templates/lint.yml b/.github/workflows/templates/lint.yml new file mode 100644 index 0000000..aa2cd93 --- /dev/null +++ b/.github/workflows/templates/lint.yml @@ -0,0 +1,8 @@ + Lint: + runs-on: ubuntu-latest + container: koalaman/shellcheck-alpine:v0.6.0 + steps: + - uses: actions/checkout@v1 + - name: ShellCheck + run: | + shellcheck -s sh -f checkstyle bootstrap-salt.sh diff --git a/.github/workflows/templates/linux.yml b/.github/workflows/templates/linux.yml new file mode 100644 index 0000000..c0ab1e5 --- /dev/null +++ b/.github/workflows/templates/linux.yml @@ -0,0 +1,43 @@ + {distro}-{branch}-{python_version}-{bootstrap_type}: + name: {display_name} + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create {python_version}-{bootstrap_type}-{branch}-{distro} || bundle exec kitchen create {python_version}-{bootstrap_type}-{branch}-{distro} + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify {python_version}-{bootstrap_type}-{branch}-{distro} + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy {python_version}-{bootstrap_type}-{branch}-{distro} diff --git a/.github/workflows/templates/main.yml b/.github/workflows/templates/main.yml new file mode 100644 index 0000000..2a317b5 --- /dev/null +++ b/.github/workflows/templates/main.yml @@ -0,0 +1,11 @@ +# DO NOT EDIT THIS FILE DIRECTLY! +# +# This file was generated by .github/workflows/templates/generate.py + +name: Testing + +on: [push, pull_request] + +jobs: +{lint_job} +{test_jobs} From d37ef318b15e0fcfb829f98ea251dbfbadf1cec9 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 28 Jan 2020 15:43:44 +0000 Subject: [PATCH 09/22] We weren't testing Amazon 1 on drone either. Skip for now. --- .github/workflows/main.yml | 180 ------------------------ .github/workflows/templates/generate.py | 2 +- 2 files changed, 1 insertion(+), 181 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f65a78a..39e0e51 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,186 +19,6 @@ jobs: - amazon-1-2018-3-py2-stable: - name: Amazon 1 2018.3 Py2 Stable - runs-on: ubuntu-latest - - needs: Lint - - steps: - - uses: actions/checkout@v1 - - name: Setup Ruby - uses: actions/setup-ruby@v1 - with: - ruby-version: 2.6.x - - - name: Install Bundler - run: | - gem install bundler - - - name: Setup Bundle - run: | - bundle install --with docker --without opennebula ec2 windows vagrant - - - name: Set up Python 3.7 - uses: actions/setup-python@v1 - with: - python-version: 3.7 - - - name: Install Python Dependencies - run: | - pip install -U pip - pip install -r tests/requirements.txt - - - name: Create Test Container - run: | - bundle exec kitchen create py2-stable-2018-3-amazon-1 || bundle exec kitchen create py2-stable-2018-3-amazon-1 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py2-stable-2018-3-amazon-1 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py2-stable-2018-3-amazon-1 - - - amazon-1-2018-3-py2-git: - name: Amazon 1 2018.3 Py2 Git - runs-on: ubuntu-latest - - needs: Lint - - steps: - - uses: actions/checkout@v1 - - name: Setup Ruby - uses: actions/setup-ruby@v1 - with: - ruby-version: 2.6.x - - - name: Install Bundler - run: | - gem install bundler - - - name: Setup Bundle - run: | - bundle install --with docker --without opennebula ec2 windows vagrant - - - name: Set up Python 3.7 - uses: actions/setup-python@v1 - with: - python-version: 3.7 - - - name: Install Python Dependencies - run: | - pip install -U pip - pip install -r tests/requirements.txt - - - name: Create Test Container - run: | - bundle exec kitchen create py2-git-2018-3-amazon-1 || bundle exec kitchen create py2-git-2018-3-amazon-1 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py2-git-2018-3-amazon-1 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py2-git-2018-3-amazon-1 - - - amazon-1-2019-2-py2-stable: - name: Amazon 1 2019.2 Py2 Stable - runs-on: ubuntu-latest - - needs: Lint - - steps: - - uses: actions/checkout@v1 - - name: Setup Ruby - uses: actions/setup-ruby@v1 - with: - ruby-version: 2.6.x - - - name: Install Bundler - run: | - gem install bundler - - - name: Setup Bundle - run: | - bundle install --with docker --without opennebula ec2 windows vagrant - - - name: Set up Python 3.7 - uses: actions/setup-python@v1 - with: - python-version: 3.7 - - - name: Install Python Dependencies - run: | - pip install -U pip - pip install -r tests/requirements.txt - - - name: Create Test Container - run: | - bundle exec kitchen create py2-stable-2019-2-amazon-1 || bundle exec kitchen create py2-stable-2019-2-amazon-1 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py2-stable-2019-2-amazon-1 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py2-stable-2019-2-amazon-1 - - - amazon-1-2019-2-py2-git: - name: Amazon 1 2019.2 Py2 Git - runs-on: ubuntu-latest - - needs: Lint - - steps: - - uses: actions/checkout@v1 - - name: Setup Ruby - uses: actions/setup-ruby@v1 - with: - ruby-version: 2.6.x - - - name: Install Bundler - run: | - gem install bundler - - - name: Setup Bundle - run: | - bundle install --with docker --without opennebula ec2 windows vagrant - - - name: Set up Python 3.7 - uses: actions/setup-python@v1 - with: - python-version: 3.7 - - - name: Install Python Dependencies - run: | - pip install -U pip - pip install -r tests/requirements.txt - - - name: Create Test Container - run: | - bundle exec kitchen create py2-git-2019-2-amazon-1 || bundle exec kitchen create py2-git-2019-2-amazon-1 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py2-git-2019-2-amazon-1 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py2-git-2019-2-amazon-1 - - amazon-2-2019-2-py2-stable: name: Amazon 2 2019.2 Py2 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index bed3bb3..36f3f38 100644 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -6,7 +6,7 @@ import datetime os.chdir(os.path.abspath(os.path.dirname(__file__))) LINUX_DISTROS = [ - 'amazon-1', +# 'amazon-1', 'amazon-2', 'arch', 'centos-6', From a165c16553c0f2940c97fd81cdf2fd0fd1eb07a8 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 28 Jan 2020 16:12:40 +0000 Subject: [PATCH 10/22] Add pre commit config --- .github/PULL_REQUEST_TEMPLATE.md | 1 - .github/stale.yml | 1 - .github/workflows/main.yml | 2 -- .github/workflows/templates/generate.py | 8 ++++--- .pre-commit-config.yaml | 28 +++++++++++++++++++++++++ CONTRIBUTING.md | 10 ++++----- 6 files changed, 38 insertions(+), 12 deletions(-) mode change 100644 => 100755 .github/workflows/templates/generate.py create mode 100644 .pre-commit-config.yaml diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1cfce68..0bd7970 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -7,4 +7,3 @@ Remove this section if not relevant ### New Behavior Remove this section if not relevant - diff --git a/.github/stale.yml b/.github/stale.yml index 6cbfe56..e3b493c 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -30,4 +30,3 @@ closeComment: false # Limit to only `issues` or `pulls` only: issues - diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 39e0e51..ffabfd5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2807,5 +2807,3 @@ jobs: if: always() run: | bundle exec kitchen destroy py3-git-2019-2-ubuntu-1804 - - diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py old mode 100644 new mode 100755 index 36f3f38..67c90a4 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -131,9 +131,11 @@ def generate_test_jobs(): with open('../main.yml', 'w') as wfh: with open('main.yml') as rfh: wfh.write( - rfh.read().format( - lint_job=lint_job, - test_jobs=test_jobs, + '{}\n'.format( + rfh.read().format( + lint_job=lint_job, + test_jobs=test_jobs, + ).strip() ) ) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..16045bc --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,28 @@ +--- +minimum_pre_commit_version: 1.15.2 +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v2.1.0 + hooks: + - id: check-merge-conflict # Check for files that contain merge conflict strings. + - id: trailing-whitespace # Trims trailing whitespace. + args: [--markdown-linebreak-ext=md] + - id: mixed-line-ending # Replaces or checks mixed line ending. + args: [--fix=lf] + - id: end-of-file-fixer # Makes sure files end in a newline and only a newline. + - id: check-merge-conflict # Check for files that contain merge conflict strings. + + - repo: local + hooks: + - id: generate-actions-workflow + name: Generate Github Actions Workflow + entry: .github/workflows/templates/generate.py + pass_filenames: false + files: '.github/workflows/templates/.*' + language: script + + - id: shellcheck + name: Run ShellCheck against bootstrap-salt.sh + entry: koalaman/shellcheck-alpine:v0.6.0 shellcheck -s sh -f tty + files: 'bootstrap-salt\.sh' + language: docker_image diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b7a3a8f..9729795 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,7 +15,7 @@ The Salt Bootstrap issue tracker is used for feature requests and bug reports. A bug is a *demonstrable problem* that is caused by the code in the repository. -Please read the following guidelines before you +Please read the following guidelines before you [file an issue](https://github.com/saltstack/salt-bootstrap/issues/new). 1. **Use the GitHub issue search** -- check if the issue has @@ -25,7 +25,7 @@ Please read the following guidelines before you please try to bootstrap using the bootstrap scirpt from the develop branch. The issue you are having might have already been fixed and it's just not yet included in the stable release. - + ``` curl -o bootstrap-salt.sh -L https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.sh sudo sh bootstrap-salt.sh git develop @@ -73,7 +73,7 @@ easily solved another way, which is a great reason to ask first. Fixes for issues are very welcome! -Once you've fixed the issue you have in hand, create a +Once you've fixed the issue you have in hand, create a [pull request](https://help.github.com/articles/creating-a-pull-request/). Salt Bootstrap maintainers will review your fix. If everything is OK and all @@ -102,7 +102,7 @@ repo from the PR, etc. #### Lint Check -The pull request test that matters the most, and the contributor is directly +The pull request test that matters the most, and the contributor is directly responsible for fixing, is the Lint check. This check *must* be passing before the contribution can be merged into the codebase. @@ -149,7 +149,7 @@ Typically, SaltStack's release team determines when it would be good to release a new stable version. Timing the release usually involves an analysis of the following: - + - Updates for major feature releases in [Salt](https://github.com/saltstack/salt) - Support for new versions of major operating systems - Types of fixes submitted to `develop` since the last release From b3b70c156140ac4dc6b332054df479796c291a06 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 28 Jan 2020 16:44:11 +0000 Subject: [PATCH 11/22] Add the pre-commit job to the workflow --- .github/workflows/main.yml | 23 ++++++++++++++++++++++- .github/workflows/templates/generate.py | 10 ++++++++-- .github/workflows/templates/main.yml | 3 +-- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ffabfd5..951cc97 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,6 +8,28 @@ on: [push, pull_request] jobs: + generate-actions-workflow: + name: Generate The Actions Workflow + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Pre-Commit + run: | + pip install -U pip + pip install pre-commit + pre-commit install + + - name: Generate Workflow Actions + run: | + pre-commit run -v generate-actions-workflow + + Lint: runs-on: ubuntu-latest container: koalaman/shellcheck-alpine:v0.6.0 @@ -18,7 +40,6 @@ jobs: shellcheck -s sh -f checkstyle bootstrap-salt.sh - amazon-2-2019-2-py2-stable: name: Amazon 2 2019.2 Py2 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 67c90a4..44a41fa 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -128,13 +128,19 @@ def generate_test_jobs(): with open('lint.yml') as rfh: lint_job = '\n{}\n'.format(rfh.read()) + with open('pre-commit.yml') as rfh: + pre_commit_job = '\n{}\n'.format(rfh.read()) + with open('../main.yml', 'w') as wfh: with open('main.yml') as rfh: wfh.write( '{}\n'.format( rfh.read().format( - lint_job=lint_job, - test_jobs=test_jobs, + jobs='{pre_commit}{lint}{test}'.format( + lint=lint_job, + test=test_jobs, + pre_commit=pre_commit_job, + ) ).strip() ) ) diff --git a/.github/workflows/templates/main.yml b/.github/workflows/templates/main.yml index 2a317b5..1ad20c3 100644 --- a/.github/workflows/templates/main.yml +++ b/.github/workflows/templates/main.yml @@ -7,5 +7,4 @@ name: Testing on: [push, pull_request] jobs: -{lint_job} -{test_jobs} +{jobs} From 3f2b8b46e46e72790d212a6deda14e0d830a7d5d Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 28 Jan 2020 16:49:20 +0000 Subject: [PATCH 12/22] Also try to install the latest available package --- .github/workflows/main.yml | 529 +++++++++++++++++++++--- .github/workflows/templates/generate.py | 34 +- .github/workflows/templates/linux.yml | 2 +- .kitchen.yml | 7 + 4 files changed, 508 insertions(+), 64 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 951cc97..1b058ab 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,7 +40,7 @@ jobs: shellcheck -s sh -f checkstyle bootstrap-salt.sh - amazon-2-2019-2-py2-stable: + py2-stable-2019-2-amazon-2: name: Amazon 2 2019.2 Py2 Stable runs-on: ubuntu-latest @@ -85,7 +85,7 @@ jobs: bundle exec kitchen destroy py2-stable-2019-2-amazon-2 - amazon-2-2019-2-py2-git: + py2-git-2019-2-amazon-2: name: Amazon 2 2019.2 Py2 Git runs-on: ubuntu-latest @@ -130,7 +130,7 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-amazon-2 - amazon-2-2019-2-py3-stable: + py3-stable-2019-2-amazon-2: name: Amazon 2 2019.2 Py3 Stable runs-on: ubuntu-latest @@ -175,7 +175,7 @@ jobs: bundle exec kitchen destroy py3-stable-2019-2-amazon-2 - amazon-2-2019-2-py3-git: + py3-git-2019-2-amazon-2: name: Amazon 2 2019.2 Py3 Git runs-on: ubuntu-latest @@ -220,7 +220,52 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-amazon-2 - arch-2018-3-py2-git: + latest-amazon-2: + name: Amazon 2 Latest packaged release + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-amazon-2 || bundle exec kitchen create latest-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-amazon-2 + + + py2-git-2018-3-arch: name: Arch 2018.3 Py2 Git runs-on: ubuntu-latest @@ -265,7 +310,7 @@ jobs: bundle exec kitchen destroy py2-git-2018-3-arch - arch-2018-3-py3-git: + py3-git-2018-3-arch: name: Arch 2018.3 Py3 Git runs-on: ubuntu-latest @@ -310,7 +355,7 @@ jobs: bundle exec kitchen destroy py3-git-2018-3-arch - arch-2019-2-py2-git: + py2-git-2019-2-arch: name: Arch 2019.2 Py2 Git runs-on: ubuntu-latest @@ -355,7 +400,7 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-arch - arch-2019-2-py3-git: + py3-git-2019-2-arch: name: Arch 2019.2 Py3 Git runs-on: ubuntu-latest @@ -400,7 +445,7 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-arch - centos-6-2018-3-py2-stable: + py2-stable-2018-3-centos-6: name: CentOS 6 2018.3 Py2 Stable runs-on: ubuntu-latest @@ -445,7 +490,7 @@ jobs: bundle exec kitchen destroy py2-stable-2018-3-centos-6 - centos-6-2018-3-py2-git: + py2-git-2018-3-centos-6: name: CentOS 6 2018.3 Py2 Git runs-on: ubuntu-latest @@ -490,7 +535,7 @@ jobs: bundle exec kitchen destroy py2-git-2018-3-centos-6 - centos-6-2019-2-py2-stable: + py2-stable-2019-2-centos-6: name: CentOS 6 2019.2 Py2 Stable runs-on: ubuntu-latest @@ -535,7 +580,7 @@ jobs: bundle exec kitchen destroy py2-stable-2019-2-centos-6 - centos-6-2019-2-py2-git: + py2-git-2019-2-centos-6: name: CentOS 6 2019.2 Py2 Git runs-on: ubuntu-latest @@ -580,7 +625,52 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-centos-6 - centos-7-2018-3-py2-stable: + latest-centos-6: + name: CentOS 6 Latest packaged release + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-centos-6 || bundle exec kitchen create latest-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-centos-6 + + + py2-stable-2018-3-centos-7: name: CentOS 7 2018.3 Py2 Stable runs-on: ubuntu-latest @@ -625,7 +715,7 @@ jobs: bundle exec kitchen destroy py2-stable-2018-3-centos-7 - centos-7-2018-3-py2-git: + py2-git-2018-3-centos-7: name: CentOS 7 2018.3 Py2 Git runs-on: ubuntu-latest @@ -670,7 +760,7 @@ jobs: bundle exec kitchen destroy py2-git-2018-3-centos-7 - centos-7-2018-3-py3-stable: + py3-stable-2018-3-centos-7: name: CentOS 7 2018.3 Py3 Stable runs-on: ubuntu-latest @@ -715,7 +805,7 @@ jobs: bundle exec kitchen destroy py3-stable-2018-3-centos-7 - centos-7-2018-3-py3-git: + py3-git-2018-3-centos-7: name: CentOS 7 2018.3 Py3 Git runs-on: ubuntu-latest @@ -760,7 +850,7 @@ jobs: bundle exec kitchen destroy py3-git-2018-3-centos-7 - centos-7-2019-2-py2-stable: + py2-stable-2019-2-centos-7: name: CentOS 7 2019.2 Py2 Stable runs-on: ubuntu-latest @@ -805,7 +895,7 @@ jobs: bundle exec kitchen destroy py2-stable-2019-2-centos-7 - centos-7-2019-2-py2-git: + py2-git-2019-2-centos-7: name: CentOS 7 2019.2 Py2 Git runs-on: ubuntu-latest @@ -850,7 +940,7 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-centos-7 - centos-7-2019-2-py3-stable: + py3-stable-2019-2-centos-7: name: CentOS 7 2019.2 Py3 Stable runs-on: ubuntu-latest @@ -895,7 +985,7 @@ jobs: bundle exec kitchen destroy py3-stable-2019-2-centos-7 - centos-7-2019-2-py3-git: + py3-git-2019-2-centos-7: name: CentOS 7 2019.2 Py3 Git runs-on: ubuntu-latest @@ -940,7 +1030,52 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-centos-7 - centos-8-2019-2-py3-stable: + latest-centos-7: + name: CentOS 7 Latest packaged release + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-centos-7 || bundle exec kitchen create latest-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-centos-7 + + + py3-stable-2019-2-centos-8: name: CentOS 8 2019.2 Py3 Stable runs-on: ubuntu-latest @@ -985,7 +1120,7 @@ jobs: bundle exec kitchen destroy py3-stable-2019-2-centos-8 - centos-8-2019-2-py3-git: + py3-git-2019-2-centos-8: name: CentOS 8 2019.2 Py3 Git runs-on: ubuntu-latest @@ -1030,7 +1165,7 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-centos-8 - debian-10-2019-2-py3-stable: + py3-stable-2019-2-debian-10: name: Debian 10 2019.2 Py3 Stable runs-on: ubuntu-latest @@ -1075,7 +1210,7 @@ jobs: bundle exec kitchen destroy py3-stable-2019-2-debian-10 - debian-10-2019-2-py3-git: + py3-git-2019-2-debian-10: name: Debian 10 2019.2 Py3 Git runs-on: ubuntu-latest @@ -1120,7 +1255,7 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-debian-10 - debian-8-2018-3-py2-stable: + py2-stable-2018-3-debian-8: name: Debian 8 2018.3 Py2 Stable runs-on: ubuntu-latest @@ -1165,7 +1300,7 @@ jobs: bundle exec kitchen destroy py2-stable-2018-3-debian-8 - debian-8-2018-3-py2-git: + py2-git-2018-3-debian-8: name: Debian 8 2018.3 Py2 Git runs-on: ubuntu-latest @@ -1210,7 +1345,7 @@ jobs: bundle exec kitchen destroy py2-git-2018-3-debian-8 - debian-8-2019-2-py2-stable: + py2-stable-2019-2-debian-8: name: Debian 8 2019.2 Py2 Stable runs-on: ubuntu-latest @@ -1255,7 +1390,7 @@ jobs: bundle exec kitchen destroy py2-stable-2019-2-debian-8 - debian-8-2019-2-py2-git: + py2-git-2019-2-debian-8: name: Debian 8 2019.2 Py2 Git runs-on: ubuntu-latest @@ -1300,7 +1435,52 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-debian-8 - debian-9-2018-3-py2-stable: + latest-debian-8: + name: Debian 8 Latest packaged release + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-debian-8 || bundle exec kitchen create latest-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-debian-8 + + + py2-stable-2018-3-debian-9: name: Debian 9 2018.3 Py2 Stable runs-on: ubuntu-latest @@ -1345,7 +1525,7 @@ jobs: bundle exec kitchen destroy py2-stable-2018-3-debian-9 - debian-9-2018-3-py2-git: + py2-git-2018-3-debian-9: name: Debian 9 2018.3 Py2 Git runs-on: ubuntu-latest @@ -1390,7 +1570,7 @@ jobs: bundle exec kitchen destroy py2-git-2018-3-debian-9 - debian-9-2018-3-py3-stable: + py3-stable-2018-3-debian-9: name: Debian 9 2018.3 Py3 Stable runs-on: ubuntu-latest @@ -1435,7 +1615,7 @@ jobs: bundle exec kitchen destroy py3-stable-2018-3-debian-9 - debian-9-2018-3-py3-git: + py3-git-2018-3-debian-9: name: Debian 9 2018.3 Py3 Git runs-on: ubuntu-latest @@ -1480,7 +1660,7 @@ jobs: bundle exec kitchen destroy py3-git-2018-3-debian-9 - debian-9-2019-2-py2-stable: + py2-stable-2019-2-debian-9: name: Debian 9 2019.2 Py2 Stable runs-on: ubuntu-latest @@ -1525,7 +1705,7 @@ jobs: bundle exec kitchen destroy py2-stable-2019-2-debian-9 - debian-9-2019-2-py2-git: + py2-git-2019-2-debian-9: name: Debian 9 2019.2 Py2 Git runs-on: ubuntu-latest @@ -1570,7 +1750,7 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-debian-9 - debian-9-2019-2-py3-stable: + py3-stable-2019-2-debian-9: name: Debian 9 2019.2 Py3 Stable runs-on: ubuntu-latest @@ -1615,7 +1795,7 @@ jobs: bundle exec kitchen destroy py3-stable-2019-2-debian-9 - debian-9-2019-2-py3-git: + py3-git-2019-2-debian-9: name: Debian 9 2019.2 Py3 Git runs-on: ubuntu-latest @@ -1660,7 +1840,52 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-debian-9 - fedora-30-2018-3-py2-stable: + latest-debian-9: + name: Debian 9 Latest packaged release + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-debian-9 || bundle exec kitchen create latest-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-debian-9 + + + py2-stable-2018-3-fedora-30: name: Fedora 30 2018.3 Py2 Stable runs-on: ubuntu-latest @@ -1705,7 +1930,7 @@ jobs: bundle exec kitchen destroy py2-stable-2018-3-fedora-30 - fedora-30-2018-3-py2-git: + py2-git-2018-3-fedora-30: name: Fedora 30 2018.3 Py2 Git runs-on: ubuntu-latest @@ -1750,7 +1975,7 @@ jobs: bundle exec kitchen destroy py2-git-2018-3-fedora-30 - fedora-30-2018-3-py3-stable: + py3-stable-2018-3-fedora-30: name: Fedora 30 2018.3 Py3 Stable runs-on: ubuntu-latest @@ -1795,7 +2020,7 @@ jobs: bundle exec kitchen destroy py3-stable-2018-3-fedora-30 - fedora-30-2018-3-py3-git: + py3-git-2018-3-fedora-30: name: Fedora 30 2018.3 Py3 Git runs-on: ubuntu-latest @@ -1840,7 +2065,7 @@ jobs: bundle exec kitchen destroy py3-git-2018-3-fedora-30 - fedora-30-2019-2-py2-stable: + py2-stable-2019-2-fedora-30: name: Fedora 30 2019.2 Py2 Stable runs-on: ubuntu-latest @@ -1885,7 +2110,7 @@ jobs: bundle exec kitchen destroy py2-stable-2019-2-fedora-30 - fedora-30-2019-2-py2-git: + py2-git-2019-2-fedora-30: name: Fedora 30 2019.2 Py2 Git runs-on: ubuntu-latest @@ -1930,7 +2155,7 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-fedora-30 - fedora-30-2019-2-py3-stable: + py3-stable-2019-2-fedora-30: name: Fedora 30 2019.2 Py3 Stable runs-on: ubuntu-latest @@ -1975,7 +2200,7 @@ jobs: bundle exec kitchen destroy py3-stable-2019-2-fedora-30 - fedora-30-2019-2-py3-git: + py3-git-2019-2-fedora-30: name: Fedora 30 2019.2 Py3 Git runs-on: ubuntu-latest @@ -2020,7 +2245,52 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-fedora-30 - opensuse-15-2018-3-py2-git: + latest-fedora-30: + name: Fedora 30 Latest packaged release + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-fedora-30 || bundle exec kitchen create latest-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-fedora-30 + + + py2-git-2018-3-opensuse-15: name: Opensuse 15 2018.3 Py2 Git runs-on: ubuntu-latest @@ -2065,7 +2335,7 @@ jobs: bundle exec kitchen destroy py2-git-2018-3-opensuse-15 - opensuse-15-2019-2-py2-git: + py2-git-2019-2-opensuse-15: name: Opensuse 15 2019.2 Py2 Git runs-on: ubuntu-latest @@ -2110,7 +2380,52 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-opensuse-15 - ubuntu-1604-2018-3-py2-stable: + latest-opensuse-15: + name: Opensuse 15 Latest packaged release + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-opensuse-15 || bundle exec kitchen create latest-opensuse-15 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-opensuse-15 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-opensuse-15 + + + py2-stable-2018-3-ubuntu-1604: name: Ubuntu 16.04 2018.3 Py2 Stable runs-on: ubuntu-latest @@ -2155,7 +2470,7 @@ jobs: bundle exec kitchen destroy py2-stable-2018-3-ubuntu-1604 - ubuntu-1604-2018-3-py2-git: + py2-git-2018-3-ubuntu-1604: name: Ubuntu 16.04 2018.3 Py2 Git runs-on: ubuntu-latest @@ -2200,7 +2515,7 @@ jobs: bundle exec kitchen destroy py2-git-2018-3-ubuntu-1604 - ubuntu-1604-2018-3-py3-stable: + py3-stable-2018-3-ubuntu-1604: name: Ubuntu 16.04 2018.3 Py3 Stable runs-on: ubuntu-latest @@ -2245,7 +2560,7 @@ jobs: bundle exec kitchen destroy py3-stable-2018-3-ubuntu-1604 - ubuntu-1604-2018-3-py3-git: + py3-git-2018-3-ubuntu-1604: name: Ubuntu 16.04 2018.3 Py3 Git runs-on: ubuntu-latest @@ -2290,7 +2605,7 @@ jobs: bundle exec kitchen destroy py3-git-2018-3-ubuntu-1604 - ubuntu-1604-2019-2-py2-stable: + py2-stable-2019-2-ubuntu-1604: name: Ubuntu 16.04 2019.2 Py2 Stable runs-on: ubuntu-latest @@ -2335,7 +2650,7 @@ jobs: bundle exec kitchen destroy py2-stable-2019-2-ubuntu-1604 - ubuntu-1604-2019-2-py2-git: + py2-git-2019-2-ubuntu-1604: name: Ubuntu 16.04 2019.2 Py2 Git runs-on: ubuntu-latest @@ -2380,7 +2695,7 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-ubuntu-1604 - ubuntu-1604-2019-2-py3-stable: + py3-stable-2019-2-ubuntu-1604: name: Ubuntu 16.04 2019.2 Py3 Stable runs-on: ubuntu-latest @@ -2425,7 +2740,7 @@ jobs: bundle exec kitchen destroy py3-stable-2019-2-ubuntu-1604 - ubuntu-1604-2019-2-py3-git: + py3-git-2019-2-ubuntu-1604: name: Ubuntu 16.04 2019.2 Py3 Git runs-on: ubuntu-latest @@ -2470,7 +2785,52 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-ubuntu-1604 - ubuntu-1804-2018-3-py2-stable: + latest-ubuntu-1604: + name: Ubuntu 16.04 Latest packaged release + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-ubuntu-1604 || bundle exec kitchen create latest-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-ubuntu-1604 + + + py2-stable-2018-3-ubuntu-1804: name: Ubuntu 18.04 2018.3 Py2 Stable runs-on: ubuntu-latest @@ -2515,7 +2875,7 @@ jobs: bundle exec kitchen destroy py2-stable-2018-3-ubuntu-1804 - ubuntu-1804-2018-3-py2-git: + py2-git-2018-3-ubuntu-1804: name: Ubuntu 18.04 2018.3 Py2 Git runs-on: ubuntu-latest @@ -2560,7 +2920,7 @@ jobs: bundle exec kitchen destroy py2-git-2018-3-ubuntu-1804 - ubuntu-1804-2018-3-py3-stable: + py3-stable-2018-3-ubuntu-1804: name: Ubuntu 18.04 2018.3 Py3 Stable runs-on: ubuntu-latest @@ -2605,7 +2965,7 @@ jobs: bundle exec kitchen destroy py3-stable-2018-3-ubuntu-1804 - ubuntu-1804-2018-3-py3-git: + py3-git-2018-3-ubuntu-1804: name: Ubuntu 18.04 2018.3 Py3 Git runs-on: ubuntu-latest @@ -2650,7 +3010,7 @@ jobs: bundle exec kitchen destroy py3-git-2018-3-ubuntu-1804 - ubuntu-1804-2019-2-py2-stable: + py2-stable-2019-2-ubuntu-1804: name: Ubuntu 18.04 2019.2 Py2 Stable runs-on: ubuntu-latest @@ -2695,7 +3055,7 @@ jobs: bundle exec kitchen destroy py2-stable-2019-2-ubuntu-1804 - ubuntu-1804-2019-2-py2-git: + py2-git-2019-2-ubuntu-1804: name: Ubuntu 18.04 2019.2 Py2 Git runs-on: ubuntu-latest @@ -2740,7 +3100,7 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-ubuntu-1804 - ubuntu-1804-2019-2-py3-stable: + py3-stable-2019-2-ubuntu-1804: name: Ubuntu 18.04 2019.2 Py3 Stable runs-on: ubuntu-latest @@ -2785,7 +3145,7 @@ jobs: bundle exec kitchen destroy py3-stable-2019-2-ubuntu-1804 - ubuntu-1804-2019-2-py3-git: + py3-git-2019-2-ubuntu-1804: name: Ubuntu 18.04 2019.2 Py3 Git runs-on: ubuntu-latest @@ -2828,3 +3188,48 @@ jobs: if: always() run: | bundle exec kitchen destroy py3-git-2019-2-ubuntu-1804 + + + latest-ubuntu-1804: + name: Ubuntu 18.04 Latest packaged release + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-ubuntu-1804 || bundle exec kitchen create latest-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-ubuntu-1804 diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 44a41fa..8fe946d 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -60,6 +60,13 @@ BLACKLIST_2018 = [ SALT_BRANCHES = [ '2018-3', '2019-2', + 'latest' +] + +LATEST_BLACKLIST = [ + 'arch', # No packages are built + 'centos-8', # Once Neon is out, this can be removed from here + 'debian-10' # Once Neon is out, this can be removed from here ] DISTRO_DISPLAY_NAMES = { @@ -85,6 +92,32 @@ def generate_test_jobs(): for distro in LINUX_DISTROS + OSX + WINDOWS: for branch in SALT_BRANCHES: + if branch == 'latest': + if distro in LATEST_BLACKLIST: + continue + if distro in LINUX_DISTROS: + template = 'linux.yml' + elif distro in OSX: + template = 'osx.yml' + elif distro in WINDOWS: + template = 'windows.yml' + else: + print("Don't know how to handle {}".format(distro)) + + with open(template) as rfh: + test_jobs += '\n{}\n'.format( + rfh.read().replace( + '{python_version}-{bootstrap_type}-{branch}-{distro}', + '{branch}-{distro}' + ).format( + distro=distro, + branch=branch, + display_name='{} Latest packaged release'.format( + DISTRO_DISPLAY_NAMES[distro], + ) + ) + ) + continue for python_version in ('py2', 'py3'): for bootstrap_type in ('stable', 'git'): if bootstrap_type == 'stable' and distro not in STABLE_DISTROS: @@ -124,7 +157,6 @@ def generate_test_jobs(): ) ) - with open('lint.yml') as rfh: lint_job = '\n{}\n'.format(rfh.read()) diff --git a/.github/workflows/templates/linux.yml b/.github/workflows/templates/linux.yml index c0ab1e5..4dab25b 100644 --- a/.github/workflows/templates/linux.yml +++ b/.github/workflows/templates/linux.yml @@ -1,4 +1,4 @@ - {distro}-{branch}-{python_version}-{bootstrap_type}: + {python_version}-{bootstrap_type}-{branch}-{distro}: name: {display_name} runs-on: ubuntu-latest diff --git a/.kitchen.yml b/.kitchen.yml index 3d4db93..9958420 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -162,6 +162,13 @@ suites: - opensuse-15 - arch + - name: latest + provisioner: + salt_version: latest + salt_bootstrap_options: -MP stable %s + excludes: + - arch + verifier: name: shell remote_exec: false From d32f3fe240d2f2062e8d6976da8ad11bacdd96b4 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 28 Jan 2020 17:38:43 +0000 Subject: [PATCH 13/22] Replace the occurrences of the old `develop` salt branch with `master` --- bootstrap-salt.sh | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 00c2952..9651185 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -293,7 +293,7 @@ __usage() { - stable [version] Install a specific version. Only supported for packages available at repo.saltstack.com - testing RHEL-family specific: configure EPEL testing repo - - git Install from the head of the develop branch + - git Install from the head of the master branch - git [ref] Install from any git ref (such as a branch, tag, or commit) @@ -584,7 +584,7 @@ fi # If doing a git install, check what branch/tag/sha will be checked out if [ "$ITYPE" = "git" ]; then if [ "$#" -eq 0 ];then - GIT_REV="develop" + GIT_REV="master" else GIT_REV="$1" shift @@ -4550,7 +4550,7 @@ install_alpine_linux_git_deps() { __git_clone_and_checkout || return 1 if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then apk -U add py2-tornado || return 1 @@ -4603,7 +4603,7 @@ install_alpine_linux_post() { [ $fname = "syndic" ] && [ "$_INSTALL_SYNDIC" -eq $BS_FALSE ] && continue if [ -f /sbin/rc-update ]; then - script_url="${_SALTSTACK_REPO_URL%.git}/raw/develop/pkg/alpine/salt-$fname" + script_url="${_SALTSTACK_REPO_URL%.git}/raw/master/pkg/alpine/salt-$fname" [ -f "/etc/init.d/salt-$fname" ] || __fetch_url "/etc/init.d/salt-$fname" "$script_url" # shellcheck disable=SC2181 @@ -4804,7 +4804,7 @@ install_amazon_linux_ami_git_deps() { fi if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} ${pkg_append}-tornado" @@ -4878,7 +4878,7 @@ install_amazon_linux_ami_2_git_deps() { fi if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} ${pkg_append}${PY_PKG_VER}-tornado" @@ -5125,7 +5125,7 @@ install_arch_linux_git_deps() { __git_clone_and_checkout || return 1 if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then pacman -Su --noconfirm --needed python2-tornado @@ -5566,12 +5566,12 @@ install_smartos_deps() { if [ ! -f "$_SALT_ETC_DIR/minion" ] && [ ! -f "$_TEMP_CONFIG_DIR/minion" ]; then # shellcheck disable=SC2086 curl $_CURL_ARGS -s -o "$_TEMP_CONFIG_DIR/minion" -L \ - https://raw.githubusercontent.com/saltstack/salt/develop/conf/minion || return 1 + https://raw.githubusercontent.com/saltstack/salt/master/conf/minion || return 1 fi if [ ! -f "$_SALT_ETC_DIR/master" ] && [ ! -f $_TEMP_CONFIG_DIR/master ]; then # shellcheck disable=SC2086 curl $_CURL_ARGS -s -o "$_TEMP_CONFIG_DIR/master" -L \ - https://raw.githubusercontent.com/saltstack/salt/develop/conf/master || return 1 + https://raw.githubusercontent.com/saltstack/salt/master/conf/master || return 1 fi fi @@ -5658,7 +5658,7 @@ install_smartos_post() { if [ ! -f "$_TEMP_CONFIG_DIR/salt-$fname.xml" ]; then # shellcheck disable=SC2086 curl $_CURL_ARGS -s -o "$_TEMP_CONFIG_DIR/salt-$fname.xml" -L \ - "https://raw.githubusercontent.com/saltstack/salt/develop/pkg/smartos/salt-$fname.xml" + "https://raw.githubusercontent.com/saltstack/salt/master/pkg/smartos/salt-$fname.xml" fi svccfg import "$_TEMP_CONFIG_DIR/salt-$fname.xml" if [ "${VIRTUAL_TYPE}" = "global" ]; then @@ -5869,7 +5869,7 @@ install_opensuse_git_deps() { __PACKAGES="libzmq5 python-Jinja2 python-m2crypto python-msgpack-python python-pycrypto python-pyzmq python-xml python-futures" if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} python-tornado" @@ -6088,7 +6088,7 @@ install_opensuse_15_git_deps() { __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-xml" if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-tornado" @@ -6178,7 +6178,7 @@ install_suse_12_git_deps() { __PACKAGES="${__PACKAGES} python-pyzmq python-xml" if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} python-tornado" @@ -6274,7 +6274,7 @@ install_suse_11_git_deps() { __PACKAGES="${__PACKAGES} python-pyzmq python-xml python-zypp" if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} python-tornado" From 2adf95a3eea4ccd900fc48f9a34f903d92527c11 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 28 Jan 2020 17:50:45 +0000 Subject: [PATCH 14/22] Detect Salt's new versioning scheme --- bootstrap-salt.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 9651185..c49f4e5 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -1990,6 +1990,22 @@ __git_clone_and_checkout() { ;; esac + if [ "$__TAG_REGEX_MATCH" != "MATCH" ]; then + case ${OS_NAME_L} in + openbsd|freebsd|netbsd|darwin ) + __NEW_VS_TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?3[0-9]{3}(\.[0-9]{1,2})?).*$/MATCH/') + ;; + * ) + __NEW_VS_TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed 's/^.*\(v\?3[[:digit:]]\{3\}\(\.[[:digit:]]\{1,2\}\)\?\).*$/MATCH/') + ;; + esac + + if [ "$__NEW_VS_TAG_REGEX_MATCH" = "MATCH" ]; then + __TAG_REGEX_MATCH="${__NEW_VS_TAG_REGEX_MATCH}" + fi + fi + + __SALT_GIT_CHECKOUT_PARENT_DIR=$(dirname "${_SALT_GIT_CHECKOUT_DIR}" 2>/dev/null) __SALT_GIT_CHECKOUT_PARENT_DIR="${__SALT_GIT_CHECKOUT_PARENT_DIR:-/tmp/git}" __SALT_CHECKOUT_REPONAME="$(basename "${_SALT_GIT_CHECKOUT_DIR}" 2>/dev/null)" From 39ed3f8cb1b0b2b27c4e6ba9099a7b2e2b0d90fb Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 28 Jan 2020 19:20:03 +0000 Subject: [PATCH 15/22] Fix git installs for post Neon releases --- .github/workflows/main.yml | 979 ++++++++++++++++++++++-- .github/workflows/templates/generate.py | 22 +- .kitchen.yml | 13 + bootstrap-salt.sh | 334 ++++++-- 4 files changed, 1223 insertions(+), 125 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1b058ab..0d9a352 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -41,7 +41,7 @@ jobs: py2-stable-2019-2-amazon-2: - name: Amazon 2 2019.2 Py2 Stable + name: Amazon 2 v2019.2 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -86,7 +86,7 @@ jobs: py2-git-2019-2-amazon-2: - name: Amazon 2 2019.2 Py2 Git + name: Amazon 2 v2019.2 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -131,7 +131,7 @@ jobs: py3-stable-2019-2-amazon-2: - name: Amazon 2 2019.2 Py3 Stable + name: Amazon 2 v2019.2 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -176,7 +176,7 @@ jobs: py3-git-2019-2-amazon-2: - name: Amazon 2 2019.2 Py3 Git + name: Amazon 2 v2019.2 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -220,6 +220,96 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-amazon-2 + py2-git-3000-amazon-2: + name: Amazon 2 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-amazon-2 || bundle exec kitchen create py2-git-3000-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-amazon-2 + + + py3-git-3000-amazon-2: + name: Amazon 2 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-amazon-2 || bundle exec kitchen create py3-git-3000-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-amazon-2 + + latest-amazon-2: name: Amazon 2 Latest packaged release runs-on: ubuntu-latest @@ -266,7 +356,7 @@ jobs: py2-git-2018-3-arch: - name: Arch 2018.3 Py2 Git + name: Arch v2018.3 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -311,7 +401,7 @@ jobs: py3-git-2018-3-arch: - name: Arch 2018.3 Py3 Git + name: Arch v2018.3 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -356,7 +446,7 @@ jobs: py2-git-2019-2-arch: - name: Arch 2019.2 Py2 Git + name: Arch v2019.2 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -401,7 +491,7 @@ jobs: py3-git-2019-2-arch: - name: Arch 2019.2 Py3 Git + name: Arch v2019.2 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -445,8 +535,98 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-arch + py2-git-3000-arch: + name: Arch v3000 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-arch || bundle exec kitchen create py2-git-3000-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-arch + + + py3-git-3000-arch: + name: Arch v3000 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-arch || bundle exec kitchen create py3-git-3000-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-arch + + py2-stable-2018-3-centos-6: - name: CentOS 6 2018.3 Py2 Stable + name: CentOS 6 v2018.3 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -491,7 +671,7 @@ jobs: py2-git-2018-3-centos-6: - name: CentOS 6 2018.3 Py2 Git + name: CentOS 6 v2018.3 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -536,7 +716,7 @@ jobs: py2-stable-2019-2-centos-6: - name: CentOS 6 2019.2 Py2 Stable + name: CentOS 6 v2019.2 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -581,7 +761,7 @@ jobs: py2-git-2019-2-centos-6: - name: CentOS 6 2019.2 Py2 Git + name: CentOS 6 v2019.2 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -625,6 +805,51 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-centos-6 + py2-git-3000-centos-6: + name: CentOS 6 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-centos-6 || bundle exec kitchen create py2-git-3000-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-centos-6 + + latest-centos-6: name: CentOS 6 Latest packaged release runs-on: ubuntu-latest @@ -671,7 +896,7 @@ jobs: py2-stable-2018-3-centos-7: - name: CentOS 7 2018.3 Py2 Stable + name: CentOS 7 v2018.3 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -716,7 +941,7 @@ jobs: py2-git-2018-3-centos-7: - name: CentOS 7 2018.3 Py2 Git + name: CentOS 7 v2018.3 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -761,7 +986,7 @@ jobs: py3-stable-2018-3-centos-7: - name: CentOS 7 2018.3 Py3 Stable + name: CentOS 7 v2018.3 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -806,7 +1031,7 @@ jobs: py3-git-2018-3-centos-7: - name: CentOS 7 2018.3 Py3 Git + name: CentOS 7 v2018.3 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -851,7 +1076,7 @@ jobs: py2-stable-2019-2-centos-7: - name: CentOS 7 2019.2 Py2 Stable + name: CentOS 7 v2019.2 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -896,7 +1121,7 @@ jobs: py2-git-2019-2-centos-7: - name: CentOS 7 2019.2 Py2 Git + name: CentOS 7 v2019.2 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -941,7 +1166,7 @@ jobs: py3-stable-2019-2-centos-7: - name: CentOS 7 2019.2 Py3 Stable + name: CentOS 7 v2019.2 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -986,7 +1211,7 @@ jobs: py3-git-2019-2-centos-7: - name: CentOS 7 2019.2 Py3 Git + name: CentOS 7 v2019.2 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -1030,6 +1255,96 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-centos-7 + py2-git-3000-centos-7: + name: CentOS 7 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-centos-7 || bundle exec kitchen create py2-git-3000-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-centos-7 + + + py3-git-3000-centos-7: + name: CentOS 7 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-centos-7 || bundle exec kitchen create py3-git-3000-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-centos-7 + + latest-centos-7: name: CentOS 7 Latest packaged release runs-on: ubuntu-latest @@ -1076,7 +1391,7 @@ jobs: py3-stable-2019-2-centos-8: - name: CentOS 8 2019.2 Py3 Stable + name: CentOS 8 v2019.2 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -1121,7 +1436,7 @@ jobs: py3-git-2019-2-centos-8: - name: CentOS 8 2019.2 Py3 Git + name: CentOS 8 v2019.2 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -1165,8 +1480,53 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-centos-8 + py3-git-3000-centos-8: + name: CentOS 8 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-centos-8 || bundle exec kitchen create py3-git-3000-centos-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-centos-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-centos-8 + + py3-stable-2019-2-debian-10: - name: Debian 10 2019.2 Py3 Stable + name: Debian 10 v2019.2 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -1211,7 +1571,7 @@ jobs: py3-git-2019-2-debian-10: - name: Debian 10 2019.2 Py3 Git + name: Debian 10 v2019.2 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -1255,8 +1615,53 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-debian-10 + py3-git-3000-debian-10: + name: Debian 10 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-debian-10 || bundle exec kitchen create py3-git-3000-debian-10 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-debian-10 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-debian-10 + + py2-stable-2018-3-debian-8: - name: Debian 8 2018.3 Py2 Stable + name: Debian 8 v2018.3 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -1301,7 +1706,7 @@ jobs: py2-git-2018-3-debian-8: - name: Debian 8 2018.3 Py2 Git + name: Debian 8 v2018.3 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -1346,7 +1751,7 @@ jobs: py2-stable-2019-2-debian-8: - name: Debian 8 2019.2 Py2 Stable + name: Debian 8 v2019.2 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -1391,7 +1796,7 @@ jobs: py2-git-2019-2-debian-8: - name: Debian 8 2019.2 Py2 Git + name: Debian 8 v2019.2 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -1435,6 +1840,51 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-debian-8 + py2-git-3000-debian-8: + name: Debian 8 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-debian-8 || bundle exec kitchen create py2-git-3000-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-debian-8 + + latest-debian-8: name: Debian 8 Latest packaged release runs-on: ubuntu-latest @@ -1481,7 +1931,7 @@ jobs: py2-stable-2018-3-debian-9: - name: Debian 9 2018.3 Py2 Stable + name: Debian 9 v2018.3 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -1526,7 +1976,7 @@ jobs: py2-git-2018-3-debian-9: - name: Debian 9 2018.3 Py2 Git + name: Debian 9 v2018.3 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -1571,7 +2021,7 @@ jobs: py3-stable-2018-3-debian-9: - name: Debian 9 2018.3 Py3 Stable + name: Debian 9 v2018.3 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -1616,7 +2066,7 @@ jobs: py3-git-2018-3-debian-9: - name: Debian 9 2018.3 Py3 Git + name: Debian 9 v2018.3 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -1661,7 +2111,7 @@ jobs: py2-stable-2019-2-debian-9: - name: Debian 9 2019.2 Py2 Stable + name: Debian 9 v2019.2 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -1706,7 +2156,7 @@ jobs: py2-git-2019-2-debian-9: - name: Debian 9 2019.2 Py2 Git + name: Debian 9 v2019.2 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -1751,7 +2201,7 @@ jobs: py3-stable-2019-2-debian-9: - name: Debian 9 2019.2 Py3 Stable + name: Debian 9 v2019.2 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -1796,7 +2246,7 @@ jobs: py3-git-2019-2-debian-9: - name: Debian 9 2019.2 Py3 Git + name: Debian 9 v2019.2 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -1840,6 +2290,96 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-debian-9 + py2-git-3000-debian-9: + name: Debian 9 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-debian-9 || bundle exec kitchen create py2-git-3000-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-debian-9 + + + py3-git-3000-debian-9: + name: Debian 9 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-debian-9 || bundle exec kitchen create py3-git-3000-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-debian-9 + + latest-debian-9: name: Debian 9 Latest packaged release runs-on: ubuntu-latest @@ -1886,7 +2426,7 @@ jobs: py2-stable-2018-3-fedora-30: - name: Fedora 30 2018.3 Py2 Stable + name: Fedora 30 v2018.3 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -1931,7 +2471,7 @@ jobs: py2-git-2018-3-fedora-30: - name: Fedora 30 2018.3 Py2 Git + name: Fedora 30 v2018.3 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -1976,7 +2516,7 @@ jobs: py3-stable-2018-3-fedora-30: - name: Fedora 30 2018.3 Py3 Stable + name: Fedora 30 v2018.3 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -2021,7 +2561,7 @@ jobs: py3-git-2018-3-fedora-30: - name: Fedora 30 2018.3 Py3 Git + name: Fedora 30 v2018.3 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -2066,7 +2606,7 @@ jobs: py2-stable-2019-2-fedora-30: - name: Fedora 30 2019.2 Py2 Stable + name: Fedora 30 v2019.2 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -2111,7 +2651,7 @@ jobs: py2-git-2019-2-fedora-30: - name: Fedora 30 2019.2 Py2 Git + name: Fedora 30 v2019.2 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -2156,7 +2696,7 @@ jobs: py3-stable-2019-2-fedora-30: - name: Fedora 30 2019.2 Py3 Stable + name: Fedora 30 v2019.2 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -2201,7 +2741,7 @@ jobs: py3-git-2019-2-fedora-30: - name: Fedora 30 2019.2 Py3 Git + name: Fedora 30 v2019.2 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -2245,6 +2785,96 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-fedora-30 + py2-git-3000-fedora-30: + name: Fedora 30 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-fedora-30 || bundle exec kitchen create py2-git-3000-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-fedora-30 + + + py3-git-3000-fedora-30: + name: Fedora 30 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-fedora-30 || bundle exec kitchen create py3-git-3000-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-fedora-30 + + latest-fedora-30: name: Fedora 30 Latest packaged release runs-on: ubuntu-latest @@ -2291,7 +2921,7 @@ jobs: py2-git-2018-3-opensuse-15: - name: Opensuse 15 2018.3 Py2 Git + name: Opensuse 15 v2018.3 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -2336,7 +2966,7 @@ jobs: py2-git-2019-2-opensuse-15: - name: Opensuse 15 2019.2 Py2 Git + name: Opensuse 15 v2019.2 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -2380,6 +3010,51 @@ jobs: bundle exec kitchen destroy py2-git-2019-2-opensuse-15 + py2-git-3000-opensuse-15: + name: Opensuse 15 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-opensuse-15 || bundle exec kitchen create py2-git-3000-opensuse-15 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-opensuse-15 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-opensuse-15 + + latest-opensuse-15: name: Opensuse 15 Latest packaged release runs-on: ubuntu-latest @@ -2426,7 +3101,7 @@ jobs: py2-stable-2018-3-ubuntu-1604: - name: Ubuntu 16.04 2018.3 Py2 Stable + name: Ubuntu 16.04 v2018.3 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -2471,7 +3146,7 @@ jobs: py2-git-2018-3-ubuntu-1604: - name: Ubuntu 16.04 2018.3 Py2 Git + name: Ubuntu 16.04 v2018.3 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -2516,7 +3191,7 @@ jobs: py3-stable-2018-3-ubuntu-1604: - name: Ubuntu 16.04 2018.3 Py3 Stable + name: Ubuntu 16.04 v2018.3 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -2561,7 +3236,7 @@ jobs: py3-git-2018-3-ubuntu-1604: - name: Ubuntu 16.04 2018.3 Py3 Git + name: Ubuntu 16.04 v2018.3 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -2606,7 +3281,7 @@ jobs: py2-stable-2019-2-ubuntu-1604: - name: Ubuntu 16.04 2019.2 Py2 Stable + name: Ubuntu 16.04 v2019.2 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -2651,7 +3326,7 @@ jobs: py2-git-2019-2-ubuntu-1604: - name: Ubuntu 16.04 2019.2 Py2 Git + name: Ubuntu 16.04 v2019.2 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -2696,7 +3371,7 @@ jobs: py3-stable-2019-2-ubuntu-1604: - name: Ubuntu 16.04 2019.2 Py3 Stable + name: Ubuntu 16.04 v2019.2 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -2741,7 +3416,7 @@ jobs: py3-git-2019-2-ubuntu-1604: - name: Ubuntu 16.04 2019.2 Py3 Git + name: Ubuntu 16.04 v2019.2 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -2785,6 +3460,96 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-ubuntu-1604 + py2-git-3000-ubuntu-1604: + name: Ubuntu 16.04 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-ubuntu-1604 || bundle exec kitchen create py2-git-3000-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-ubuntu-1604 + + + py3-git-3000-ubuntu-1604: + name: Ubuntu 16.04 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-ubuntu-1604 || bundle exec kitchen create py3-git-3000-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-ubuntu-1604 + + latest-ubuntu-1604: name: Ubuntu 16.04 Latest packaged release runs-on: ubuntu-latest @@ -2831,7 +3596,7 @@ jobs: py2-stable-2018-3-ubuntu-1804: - name: Ubuntu 18.04 2018.3 Py2 Stable + name: Ubuntu 18.04 v2018.3 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -2876,7 +3641,7 @@ jobs: py2-git-2018-3-ubuntu-1804: - name: Ubuntu 18.04 2018.3 Py2 Git + name: Ubuntu 18.04 v2018.3 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -2921,7 +3686,7 @@ jobs: py3-stable-2018-3-ubuntu-1804: - name: Ubuntu 18.04 2018.3 Py3 Stable + name: Ubuntu 18.04 v2018.3 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -2966,7 +3731,7 @@ jobs: py3-git-2018-3-ubuntu-1804: - name: Ubuntu 18.04 2018.3 Py3 Git + name: Ubuntu 18.04 v2018.3 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -3011,7 +3776,7 @@ jobs: py2-stable-2019-2-ubuntu-1804: - name: Ubuntu 18.04 2019.2 Py2 Stable + name: Ubuntu 18.04 v2019.2 Py2 Stable runs-on: ubuntu-latest needs: Lint @@ -3056,7 +3821,7 @@ jobs: py2-git-2019-2-ubuntu-1804: - name: Ubuntu 18.04 2019.2 Py2 Git + name: Ubuntu 18.04 v2019.2 Py2 Git runs-on: ubuntu-latest needs: Lint @@ -3101,7 +3866,7 @@ jobs: py3-stable-2019-2-ubuntu-1804: - name: Ubuntu 18.04 2019.2 Py3 Stable + name: Ubuntu 18.04 v2019.2 Py3 Stable runs-on: ubuntu-latest needs: Lint @@ -3146,7 +3911,7 @@ jobs: py3-git-2019-2-ubuntu-1804: - name: Ubuntu 18.04 2019.2 Py3 Git + name: Ubuntu 18.04 v2019.2 Py3 Git runs-on: ubuntu-latest needs: Lint @@ -3190,6 +3955,96 @@ jobs: bundle exec kitchen destroy py3-git-2019-2-ubuntu-1804 + py2-git-3000-ubuntu-1804: + name: Ubuntu 18.04 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-ubuntu-1804 || bundle exec kitchen create py2-git-3000-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-ubuntu-1804 + + + py3-git-3000-ubuntu-1804: + name: Ubuntu 18.04 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: Lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-ubuntu-1804 || bundle exec kitchen create py3-git-3000-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-ubuntu-1804 + + latest-ubuntu-1804: name: Ubuntu 18.04 Latest packaged release runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 8fe946d..a912db8 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -60,10 +60,22 @@ BLACKLIST_2018 = [ SALT_BRANCHES = [ '2018-3', '2019-2', + '3000', 'latest' ] -LATEST_BLACKLIST = [ +BRANCH_DISPLAY_NAMES = { + '2018-3': 'v2018.3', + '2019-2': 'v2019.2', + '3000': 'v3000', + 'latest': 'Latest' +} + +STABLE_BRANCH_BLACKLIST = [ + '3000' +] + +LATEST_PKG_BLACKLIST = [ 'arch', # No packages are built 'centos-8', # Once Neon is out, this can be removed from here 'debian-10' # Once Neon is out, this can be removed from here @@ -93,7 +105,7 @@ def generate_test_jobs(): for distro in LINUX_DISTROS + OSX + WINDOWS: for branch in SALT_BRANCHES: if branch == 'latest': - if distro in LATEST_BLACKLIST: + if distro in LATEST_PKG_BLACKLIST: continue if distro in LINUX_DISTROS: template = 'linux.yml' @@ -118,11 +130,15 @@ def generate_test_jobs(): ) ) continue + for python_version in ('py2', 'py3'): for bootstrap_type in ('stable', 'git'): if bootstrap_type == 'stable' and distro not in STABLE_DISTROS: continue + if bootstrap_type == 'stable' and branch in STABLE_BRANCH_BLACKLIST: + continue + if branch == '2018-3' and distro in BLACKLIST_2018: continue @@ -150,7 +166,7 @@ def generate_test_jobs(): bootstrap_type=bootstrap_type, display_name='{} {} {} {}'.format( DISTRO_DISPLAY_NAMES[distro], - branch.replace('-', '.'), + BRANCH_DISPLAY_NAMES[branch], python_version.capitalize(), bootstrap_type.capitalize() ) diff --git a/.kitchen.yml b/.kitchen.yml index 9958420..3c5faba 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -105,6 +105,9 @@ suites: - name: py2-git-2019-2 provisioner: salt_version: 2019.2 + - name: py2-git-3000 + provisioner: + salt_version: 3000.0rc2 - name: py2-git-master provisioner: salt_version: master @@ -122,6 +125,7 @@ suites: excludes: - arch - opensuse-15 + - name: py3-git-2018-3 provisioner: salt_version: 2018.3 @@ -132,6 +136,15 @@ suites: - debian-8 - opensuse-15 - amazon-2 + - name: py3-git-3000 + provisioner: + salt_version: 3000.0rc2 + salt_bootstrap_options: -x python3 -MPfq git %s + excludes: + - amazon-1 + - centos-6 + - debian-8 + - opensuse-15 - name: py3-git-2019-2 provisioner: salt_version: 2019.2 diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index c49f4e5..8ace425 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -271,6 +271,7 @@ _REPO_URL="repo.saltstack.com" _PY_EXE="" _INSTALL_PY="$BS_FALSE" _TORNADO_MAX_PY3_VERSION="5.0" +_POST_NEON_INSTALL=$BS_FALSE # Defaults for install arguments ITYPE="stable" @@ -1817,6 +1818,61 @@ if [ "${DISTRO_NAME_L}" != "ubuntu" ] && [ $_PIP_ALL -eq $BS_TRUE ]; then exit 1 fi +if [ "$ITYPE" = "git" ]; then + + if [ "${GIT_REV}" = "master" ]; then + _POST_NEON_INSTALL=$BS_TRUE + __TAG_REGEX_MATCH="MATCH" + else + case ${OS_NAME_L} in + openbsd|freebsd|netbsd|darwin ) + __NEW_VS_TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?3[0-9]{3}(\.[0-9]{1,2})?).*$/MATCH/') + if [ "$__NEW_VS_TAG_REGEX_MATCH" = "MATCH" ]; then + _POST_NEON_INSTALL=$BS_TRUE + __TAG_REGEX_MATCH="${__NEW_VS_TAG_REGEX_MATCH}" + if [ "$(echo "${GIT_REV}" | cut -c -1)" != "v" ]; then + # We do this to properly clone tags + GIT_REV="v${GIT_REV}" + fi + echodebug "Post Neon Tag Regex Match On: ${GIT_REV}" + else + __TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?[0-9]{1,4}\.[0-9]{1,2})(\.[0-9]{1,2})?.*$/MATCH/') + echodebug "Pre Neon Tag Regex Match On: ${GIT_REV}" + fi + ;; + * ) + __NEW_VS_TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed 's/^.*\(v\?3[[:digit:]]\{3\}\(\.[[:digit:]]\{1,2\}\)\?\).*$/MATCH/') + if [ "$__NEW_VS_TAG_REGEX_MATCH" = "MATCH" ]; then + _POST_NEON_INSTALL=$BS_TRUE + __TAG_REGEX_MATCH="${__NEW_VS_TAG_REGEX_MATCH}" + if [ "$(echo "${GIT_REV}" | cut -c -1)" != "v" ]; then + # We do this to properly clone tags + GIT_REV="v${GIT_REV}" + fi + echodebug "Post Neon Tag Regex Match On: ${GIT_REV}" + else + __TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed 's/^.*\(v\?[[:digit:]]\{1,4\}\.[[:digit:]]\{1,2\}\)\(\.[[:digit:]]\{1,2\}\)\?.*$/MATCH/') + echodebug "Pre Neon Tag Regex Match On: ${GIT_REV}" + fi + ;; + esac + fi + + if [ "$_POST_NEON_INSTALL" -eq $BS_TRUE ]; then + echo + echowarn "Post Neon git based installations will always install salt and it's dependencies using pip" + echowarn "You have 10 seconds to cancel and stop the bootstrap process" + echo + sleep 10 + _PIP_ALLOWED=$BS_TRUE + # Let's trigger config_salt() + if [ "$_TEMP_CONFIG_DIR" = "null" ]; then + _TEMP_CONFIG_DIR="${_SALT_GIT_CHECKOUT_DIR}/conf/" + CONFIG_SALT_FUNC="config_salt" + fi + fi +fi + #--- FUNCTION ------------------------------------------------------------------------------------------------------- # NAME: __function_defined @@ -1981,31 +2037,6 @@ __git_clone_and_checkout() { export GIT_SSL_NO_VERIFY=1 fi - case ${OS_NAME_L} in - openbsd|freebsd|netbsd|darwin ) - __TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?[0-9]{1,4}\.[0-9]{1,2})(\.[0-9]{1,2})?.*$/MATCH/') - ;; - * ) - __TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed 's/^.*\(v\?[[:digit:]]\{1,4\}\.[[:digit:]]\{1,2\}\)\(\.[[:digit:]]\{1,2\}\)\?.*$/MATCH/') - ;; - esac - - if [ "$__TAG_REGEX_MATCH" != "MATCH" ]; then - case ${OS_NAME_L} in - openbsd|freebsd|netbsd|darwin ) - __NEW_VS_TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?3[0-9]{3}(\.[0-9]{1,2})?).*$/MATCH/') - ;; - * ) - __NEW_VS_TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed 's/^.*\(v\?3[[:digit:]]\{3\}\(\.[[:digit:]]\{1,2\}\)\?\).*$/MATCH/') - ;; - esac - - if [ "$__NEW_VS_TAG_REGEX_MATCH" = "MATCH" ]; then - __TAG_REGEX_MATCH="${__NEW_VS_TAG_REGEX_MATCH}" - fi - fi - - __SALT_GIT_CHECKOUT_PARENT_DIR=$(dirname "${_SALT_GIT_CHECKOUT_DIR}" 2>/dev/null) __SALT_GIT_CHECKOUT_PARENT_DIR="${__SALT_GIT_CHECKOUT_PARENT_DIR:-/tmp/git}" __SALT_CHECKOUT_REPONAME="$(basename "${_SALT_GIT_CHECKOUT_DIR}" 2>/dev/null)" @@ -2599,6 +2630,48 @@ __install_pip_deps() { pip install -U -r ${requirements_file} ${__PIP_PACKAGES} } # ---------- end of function __install_pip_deps ---------- +#--- FUNCTION ------------------------------------------------------------------------------------------------------- +# NAME: __install_salt_from_repo_post_neon +# DESCRIPTION: Return 0 or 1 if successfully able to install. Can provide a different python version to +# install pip packages with. If $py_exe is not specified it will use the default python version. +# PARAMETERS: py_exe +#---------------------------------------------------------------------------------------------------------------------- +__install_salt_from_repo_post_neon() { + _py_exe="$1" + + if [ "${_py_exe}" = "" ]; then + _py_exe='python' + fi + + echodebug "__install_salt_from_repo_post_neon py_exe=$_py_exe" + + _py_pkg=$(echo "$_py_exe" | sed -E "s/\\.//g") + _pip_cmd="${_py_exe} -m pip" + + __check_pip_allowed + + # Install pip and pip dependencies + if ! __check_command_exists "${_pip_cmd} --version"; then + __PACKAGES="${_py_pkg}-pip gcc" + # shellcheck disable=SC2086 + if [ "$DISTRO_NAME_L" = "debian" ];then + __PACKAGES="${__PACKAGES} ${_py_pkg}-dev" + __apt_get_install_noinput ${__PACKAGES} || return 1 + else + __PACKAGES="${__PACKAGES} ${_py_pkg}-devel" + __yum_install_noinput ${__PACKAGES} || return 1 + fi + + fi + + ${_pip_cmd} install -U pip + + echoinfo "Installing salt using ${_py_exe}" + cd "${_SALT_GIT_CHECKOUT_DIR}" || return 1 + + ${_pip_cmd} install . || return 1 +} # ---------- end of function __install_salt_from_repo_post_neon ---------- + ####################################################################################################################### # @@ -2840,6 +2913,10 @@ install_ubuntu_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="" # See how we are installing packages @@ -2927,6 +3004,11 @@ install_ubuntu_git() { _PYEXE=python2.7 fi + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then # shellcheck disable=SC2086 "${_PYEXE}" setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1 @@ -3209,6 +3291,10 @@ install_debian_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="libzmq3 libzmq3-dev lsb-release python-apt python-backports.ssl-match-hostname" __PACKAGES="${__PACKAGES} python-crypto python-jinja2 python-msgpack python-m2crypto" __PACKAGES="${__PACKAGES} python-requests python-tornado python-yaml python-zmq" @@ -3250,6 +3336,10 @@ install_debian_8_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="libzmq3 libzmq3-dev lsb-release python-apt python-crypto python-jinja2" __PACKAGES="${__PACKAGES} python-m2crypto python-msgpack python-requests python-systemd" __PACKAGES="${__PACKAGES} python-yaml python-zmq python-concurrent.futures" @@ -3314,6 +3404,10 @@ install_debian_9_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="libzmq5 lsb-release" if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then @@ -3349,6 +3443,10 @@ install_debian_9_git_deps() { install_debian_10_git_deps() { install_debian_git_pre || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then _py=${_PY_EXE} PY_PKG_VER=3 @@ -3413,6 +3511,11 @@ install_debian_git() { _PYEXE=python fi + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then # shellcheck disable=SC2086 "${_PYEXE}" setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1 @@ -3617,12 +3720,21 @@ install_fedora_git_deps() { fi __PACKAGES="${__PACKAGES:=}" - if [ "$_INSECURE_DL" -eq $BS_FALSE ] && [ "${_SALT_REPO_URL%%://*}" = "https" ]; then - __PACKAGES="${__PACKAGES} ca-certificates" - fi if ! __check_command_exists git; then __PACKAGES="${__PACKAGES} git" fi + install_fedora_deps || return 1 + + __git_clone_and_checkout || return 1 + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + + __PACKAGES="${__PACKAGES:=}" + if [ "$_INSECURE_DL" -eq $BS_FALSE ] && [ "${_SALT_REPO_URL%%://*}" = "https" ]; then + __PACKAGES="${__PACKAGES} ca-certificates" + fi if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ]; then __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-libcloud python${PY_PKG_VER}-netaddr" fi @@ -3636,8 +3748,6 @@ install_fedora_git_deps() { install_fedora_deps || return 1 - __git_clone_and_checkout || return 1 - # Fedora 28+ needs tornado <5.0 from pip # https://github.com/saltstack/salt-bootstrap/issues/1220 if [ "${PY_PKG_VER}" -eq 3 ] && [ "$DISTRO_MAJOR_VERSION" -ge 28 ]; then @@ -3665,6 +3775,11 @@ install_fedora_git() { _PYEXE='python2' fi + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then ${_PYEXE} setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --prefix=/usr || return 1 else @@ -3825,26 +3940,28 @@ install_centos_stable_deps() { __PACKAGES="yum-utils chkconfig" fi - if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then - # YAML module is used for generating custom master/minion configs - if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then - __PACKAGES="${__PACKAGES} python3-pyyaml" + if [ "${_POST_NEON_INSTALL}" -eq $BS_FALSE ]; then + if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then + # YAML module is used for generating custom master/minion configs + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + __PACKAGES="${__PACKAGES} python3-pyyaml" + else + __PACKAGES="${__PACKAGES} python2-pyyaml" + fi + elif [ "$DISTRO_MAJOR_VERSION" -eq 7 ]; then + # YAML module is used for generating custom master/minion configs + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + __PACKAGES="${__PACKAGES} python36-PyYAML" + else + __PACKAGES="${__PACKAGES} PyYAML" + fi else - __PACKAGES="${__PACKAGES} python2-pyyaml" - fi - elif [ "$DISTRO_MAJOR_VERSION" -eq 7 ]; then - # YAML module is used for generating custom master/minion configs - if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then - __PACKAGES="${__PACKAGES} python36-PyYAML" - else - __PACKAGES="${__PACKAGES} PyYAML" - fi - else - # YAML module is used for generating custom master/minion configs - if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then - __PACKAGES="${__PACKAGES} python34-PyYAML" - else - __PACKAGES="${__PACKAGES} PyYAML" + # YAML module is used for generating custom master/minion configs + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + __PACKAGES="${__PACKAGES} python34-PyYAML" + else + __PACKAGES="${__PACKAGES} PyYAML" + fi fi fi @@ -3927,6 +4044,9 @@ install_centos_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi __PACKAGES="" _install_m2crypto_req=false @@ -4025,6 +4145,12 @@ install_centos_git() { _PYEXE='python2' fi + echodebug "_PY_EXE: $_PY_EXE" + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then $_PYEXE setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --prefix=/usr || return 1 else @@ -4555,16 +4681,22 @@ install_alpine_linux_stable_deps() { install_alpine_linux_git_deps() { install_alpine_linux_stable_deps || return 1 - apk -U add python2 py-virtualenv py2-crypto py2-m2crypto py2-setuptools \ - py2-jinja2 py2-yaml py2-markupsafe py2-msgpack py2-psutil \ - py2-zmq zeromq py2-requests || return 1 - if ! __check_command_exists git; then apk -U add git || return 1 fi __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + apk -U add python2 py2-pip || return 1 + _PY_EXE=python2 + return 0 + fi + + apk -U add python2 py-virtualenv py2-crypto py2-m2crypto py2-setuptools \ + py2-jinja2 py2-yaml py2-markupsafe py2-msgpack py2-psutil \ + py2-zmq zeromq py2-requests || return 1 + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" @@ -4602,6 +4734,12 @@ install_alpine_linux_stable() { } install_alpine_linux_git() { + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then python2 setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install || return 1 else @@ -4810,6 +4948,10 @@ install_amazon_linux_ami_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="" __PIP_PACKAGES="" @@ -4875,6 +5017,10 @@ install_amazon_linux_ami_2_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="" __PIP_PACKAGES="" @@ -5133,13 +5279,18 @@ install_arch_linux_git_deps() { if ! __check_command_exists git; then pacman -Sy --noconfirm --needed git || return 1 fi + + __git_clone_and_checkout || return 1 + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + pacman -R --noconfirm python2-distribute pacman -Su --noconfirm --needed python2-crypto python2-setuptools python2-jinja \ python2-m2crypto python2-futures python2-markupsafe python2-msgpack python2-psutil \ python2-pyzmq zeromq python2-requests python2-systemd || return 1 - __git_clone_and_checkout || return 1 - if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" @@ -5175,6 +5326,12 @@ install_arch_linux_stable() { } install_arch_linux_git() { + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then python2 setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install || return 1 else @@ -5322,11 +5479,14 @@ install_freebsd_git_deps() { if ! __check_command_exists git; then /usr/local/sbin/pkg install -y git || return 1 fi + __git_clone_and_checkout || return 1 + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi /usr/local/sbin/pkg install -y py37-requests || return 1 - __git_clone_and_checkout || return 1 - echodebug "Adapting paths to FreeBSD" # The list of files was taken from Salt's BSD port Makefile for file in doc/man/salt-key.1 doc/man/salt-cp.1 doc/man/salt-minion.1 \ @@ -5381,6 +5541,11 @@ install_freebsd_git() { __PYTHON_PATH=$(readlink -f "$(command -v python3)") __ESCAPED_PYTHON_PATH=$(echo "${__PYTHON_PATH}" | sed 's/\//\\\//g') + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${__PYTHON_PATH}" || return 1 + return 0 + fi + # Install from git if [ ! -f salt/syspaths.py ]; then # We still can't provide the system paths, salt 0.16.x @@ -5486,6 +5651,11 @@ install_openbsd_git_deps() { _TEMP_CONFIG_DIR="${_SALT_GIT_CHECKOUT_DIR}/conf/" CONFIG_SALT_FUNC="config_salt" fi + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + return 0 } @@ -5493,6 +5663,11 @@ install_openbsd_git() { # # Install from git # + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ ! -f salt/syspaths.py ]; then # We still can't provide the system paths, salt 0.16.x /usr/local/bin/python2.7 setup.py ${SETUP_PY_INSTALL_ARGS} install || return 1 @@ -5611,6 +5786,12 @@ install_smartos_git_deps() { pkgin -y install git || return 1 fi + __git_clone_and_checkout || return 1 + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then # Install whichever tornado is in the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" @@ -5635,7 +5816,6 @@ install_smartos_git_deps() { fi fi - __git_clone_and_checkout || return 1 # Let's trigger config_salt() if [ "$_TEMP_CONFIG_DIR" = "null" ]; then _TEMP_CONFIG_DIR="${_SALT_GIT_CHECKOUT_DIR}/conf/" @@ -5651,6 +5831,12 @@ install_smartos_stable() { } install_smartos_git() { + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + # Use setuptools in order to also install dependencies # lets force our config path on the setup for now, since salt/syspaths.py only got fixed in 2015.5.0 USE_SETUPTOOLS=1 /opt/local/bin/python setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install || return 1 @@ -5878,10 +6064,14 @@ install_opensuse_git_deps() { __zypper_install git || return 1 fi - __zypper_install patch || return 1 - __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + + __zypper_install patch || return 1 + __PACKAGES="libzmq5 python-Jinja2 python-m2crypto python-msgpack-python python-pycrypto python-pyzmq python-xml python-futures" if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then @@ -5931,6 +6121,12 @@ install_opensuse_stable() { } install_opensuse_git() { + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + python setup.py ${SETUP_PY_INSTALL_ARGS} install --prefix=/usr || return 1 return 0 } @@ -6087,6 +6283,10 @@ install_opensuse_15_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + # Py3 is the default bootstrap install for Leap 15 # However, git installs might specify "-x python2" if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 2 ]; then @@ -6136,6 +6336,11 @@ install_opensuse_15_git() { _PYEXE=python3 fi + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + ${_PYEXE} setup.py ${SETUP_PY_INSTALL_ARGS} install --prefix=/usr || return 1 return 0 } @@ -6662,6 +6867,10 @@ install_macosx_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PIP_REQUIREMENTS="dev_python27.txt" if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then __PIP_REQUIREMENTS="dev_python34.txt" @@ -6691,6 +6900,11 @@ install_macosx_git() { _PYEXE=python2.7 fi + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then $_PYEXE setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --prefix=/opt/salt || return 1 else From 646a44ce1c95d065cdc54d2bc28e2beb1fa31133 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 28 Jan 2020 19:35:12 +0000 Subject: [PATCH 16/22] Lint depends on the workflow action generation step --- .github/workflows/main.yml | 188 +++++++++++---------- .github/workflows/templates/lint.yml | 6 +- .github/workflows/templates/linux.yml | 2 +- .github/workflows/templates/pre-commit.yml | 20 +++ 4 files changed, 122 insertions(+), 94 deletions(-) create mode 100644 .github/workflows/templates/pre-commit.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0d9a352..ed6b914 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,11 +27,15 @@ jobs: - name: Generate Workflow Actions run: | - pre-commit run -v generate-actions-workflow + pre-commit run -av generate-actions-workflow - Lint: + lint: + name: Lint runs-on: ubuntu-latest + + needs: generate-actions-workflow + container: koalaman/shellcheck-alpine:v0.6.0 steps: - uses: actions/checkout@v1 @@ -44,7 +48,7 @@ jobs: name: Amazon 2 v2019.2 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -89,7 +93,7 @@ jobs: name: Amazon 2 v2019.2 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -134,7 +138,7 @@ jobs: name: Amazon 2 v2019.2 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -179,7 +183,7 @@ jobs: name: Amazon 2 v2019.2 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -224,7 +228,7 @@ jobs: name: Amazon 2 v3000 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -269,7 +273,7 @@ jobs: name: Amazon 2 v3000 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -314,7 +318,7 @@ jobs: name: Amazon 2 Latest packaged release runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -359,7 +363,7 @@ jobs: name: Arch v2018.3 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -404,7 +408,7 @@ jobs: name: Arch v2018.3 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -449,7 +453,7 @@ jobs: name: Arch v2019.2 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -494,7 +498,7 @@ jobs: name: Arch v2019.2 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -539,7 +543,7 @@ jobs: name: Arch v3000 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -584,7 +588,7 @@ jobs: name: Arch v3000 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -629,7 +633,7 @@ jobs: name: CentOS 6 v2018.3 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -674,7 +678,7 @@ jobs: name: CentOS 6 v2018.3 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -719,7 +723,7 @@ jobs: name: CentOS 6 v2019.2 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -764,7 +768,7 @@ jobs: name: CentOS 6 v2019.2 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -809,7 +813,7 @@ jobs: name: CentOS 6 v3000 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -854,7 +858,7 @@ jobs: name: CentOS 6 Latest packaged release runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -899,7 +903,7 @@ jobs: name: CentOS 7 v2018.3 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -944,7 +948,7 @@ jobs: name: CentOS 7 v2018.3 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -989,7 +993,7 @@ jobs: name: CentOS 7 v2018.3 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1034,7 +1038,7 @@ jobs: name: CentOS 7 v2018.3 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1079,7 +1083,7 @@ jobs: name: CentOS 7 v2019.2 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1124,7 +1128,7 @@ jobs: name: CentOS 7 v2019.2 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1169,7 +1173,7 @@ jobs: name: CentOS 7 v2019.2 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1214,7 +1218,7 @@ jobs: name: CentOS 7 v2019.2 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1259,7 +1263,7 @@ jobs: name: CentOS 7 v3000 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1304,7 +1308,7 @@ jobs: name: CentOS 7 v3000 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1349,7 +1353,7 @@ jobs: name: CentOS 7 Latest packaged release runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1394,7 +1398,7 @@ jobs: name: CentOS 8 v2019.2 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1439,7 +1443,7 @@ jobs: name: CentOS 8 v2019.2 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1484,7 +1488,7 @@ jobs: name: CentOS 8 v3000 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1529,7 +1533,7 @@ jobs: name: Debian 10 v2019.2 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1574,7 +1578,7 @@ jobs: name: Debian 10 v2019.2 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1619,7 +1623,7 @@ jobs: name: Debian 10 v3000 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1664,7 +1668,7 @@ jobs: name: Debian 8 v2018.3 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1709,7 +1713,7 @@ jobs: name: Debian 8 v2018.3 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1754,7 +1758,7 @@ jobs: name: Debian 8 v2019.2 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1799,7 +1803,7 @@ jobs: name: Debian 8 v2019.2 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1844,7 +1848,7 @@ jobs: name: Debian 8 v3000 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1889,7 +1893,7 @@ jobs: name: Debian 8 Latest packaged release runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1934,7 +1938,7 @@ jobs: name: Debian 9 v2018.3 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -1979,7 +1983,7 @@ jobs: name: Debian 9 v2018.3 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2024,7 +2028,7 @@ jobs: name: Debian 9 v2018.3 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2069,7 +2073,7 @@ jobs: name: Debian 9 v2018.3 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2114,7 +2118,7 @@ jobs: name: Debian 9 v2019.2 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2159,7 +2163,7 @@ jobs: name: Debian 9 v2019.2 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2204,7 +2208,7 @@ jobs: name: Debian 9 v2019.2 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2249,7 +2253,7 @@ jobs: name: Debian 9 v2019.2 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2294,7 +2298,7 @@ jobs: name: Debian 9 v3000 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2339,7 +2343,7 @@ jobs: name: Debian 9 v3000 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2384,7 +2388,7 @@ jobs: name: Debian 9 Latest packaged release runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2429,7 +2433,7 @@ jobs: name: Fedora 30 v2018.3 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2474,7 +2478,7 @@ jobs: name: Fedora 30 v2018.3 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2519,7 +2523,7 @@ jobs: name: Fedora 30 v2018.3 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2564,7 +2568,7 @@ jobs: name: Fedora 30 v2018.3 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2609,7 +2613,7 @@ jobs: name: Fedora 30 v2019.2 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2654,7 +2658,7 @@ jobs: name: Fedora 30 v2019.2 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2699,7 +2703,7 @@ jobs: name: Fedora 30 v2019.2 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2744,7 +2748,7 @@ jobs: name: Fedora 30 v2019.2 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2789,7 +2793,7 @@ jobs: name: Fedora 30 v3000 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2834,7 +2838,7 @@ jobs: name: Fedora 30 v3000 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2879,7 +2883,7 @@ jobs: name: Fedora 30 Latest packaged release runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2924,7 +2928,7 @@ jobs: name: Opensuse 15 v2018.3 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -2969,7 +2973,7 @@ jobs: name: Opensuse 15 v2019.2 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3014,7 +3018,7 @@ jobs: name: Opensuse 15 v3000 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3059,7 +3063,7 @@ jobs: name: Opensuse 15 Latest packaged release runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3104,7 +3108,7 @@ jobs: name: Ubuntu 16.04 v2018.3 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3149,7 +3153,7 @@ jobs: name: Ubuntu 16.04 v2018.3 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3194,7 +3198,7 @@ jobs: name: Ubuntu 16.04 v2018.3 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3239,7 +3243,7 @@ jobs: name: Ubuntu 16.04 v2018.3 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3284,7 +3288,7 @@ jobs: name: Ubuntu 16.04 v2019.2 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3329,7 +3333,7 @@ jobs: name: Ubuntu 16.04 v2019.2 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3374,7 +3378,7 @@ jobs: name: Ubuntu 16.04 v2019.2 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3419,7 +3423,7 @@ jobs: name: Ubuntu 16.04 v2019.2 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3464,7 +3468,7 @@ jobs: name: Ubuntu 16.04 v3000 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3509,7 +3513,7 @@ jobs: name: Ubuntu 16.04 v3000 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3554,7 +3558,7 @@ jobs: name: Ubuntu 16.04 Latest packaged release runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3599,7 +3603,7 @@ jobs: name: Ubuntu 18.04 v2018.3 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3644,7 +3648,7 @@ jobs: name: Ubuntu 18.04 v2018.3 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3689,7 +3693,7 @@ jobs: name: Ubuntu 18.04 v2018.3 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3734,7 +3738,7 @@ jobs: name: Ubuntu 18.04 v2018.3 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3779,7 +3783,7 @@ jobs: name: Ubuntu 18.04 v2019.2 Py2 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3824,7 +3828,7 @@ jobs: name: Ubuntu 18.04 v2019.2 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3869,7 +3873,7 @@ jobs: name: Ubuntu 18.04 v2019.2 Py3 Stable runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3914,7 +3918,7 @@ jobs: name: Ubuntu 18.04 v2019.2 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -3959,7 +3963,7 @@ jobs: name: Ubuntu 18.04 v3000 Py2 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -4004,7 +4008,7 @@ jobs: name: Ubuntu 18.04 v3000 Py3 Git runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 @@ -4049,7 +4053,7 @@ jobs: name: Ubuntu 18.04 Latest packaged release runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 diff --git a/.github/workflows/templates/lint.yml b/.github/workflows/templates/lint.yml index aa2cd93..204056c 100644 --- a/.github/workflows/templates/lint.yml +++ b/.github/workflows/templates/lint.yml @@ -1,5 +1,9 @@ - Lint: + lint: + name: Lint runs-on: ubuntu-latest + + needs: generate-actions-workflow + container: koalaman/shellcheck-alpine:v0.6.0 steps: - uses: actions/checkout@v1 diff --git a/.github/workflows/templates/linux.yml b/.github/workflows/templates/linux.yml index 4dab25b..ae066bf 100644 --- a/.github/workflows/templates/linux.yml +++ b/.github/workflows/templates/linux.yml @@ -2,7 +2,7 @@ name: {display_name} runs-on: ubuntu-latest - needs: Lint + needs: lint steps: - uses: actions/checkout@v1 diff --git a/.github/workflows/templates/pre-commit.yml b/.github/workflows/templates/pre-commit.yml new file mode 100644 index 0000000..654d2a5 --- /dev/null +++ b/.github/workflows/templates/pre-commit.yml @@ -0,0 +1,20 @@ + generate-actions-workflow: + name: Generate The Actions Workflow + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Pre-Commit + run: | + pip install -U pip + pip install pre-commit + pre-commit install + + - name: Generate Workflow Actions + run: | + pre-commit run -av generate-actions-workflow From 8ba4bf3b028c6c6951b7197a4adc37b0a92a87de Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 29 Jan 2020 14:12:06 +0000 Subject: [PATCH 17/22] Update to the final Neon version --- .kitchen.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.kitchen.yml b/.kitchen.yml index 3c5faba..a4a369e 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -107,7 +107,7 @@ suites: salt_version: 2019.2 - name: py2-git-3000 provisioner: - salt_version: 3000.0rc2 + salt_version: 3000 - name: py2-git-master provisioner: salt_version: master @@ -138,7 +138,7 @@ suites: - amazon-2 - name: py3-git-3000 provisioner: - salt_version: 3000.0rc2 + salt_version: 3000 salt_bootstrap_options: -x python3 -MPfq git %s excludes: - amazon-1 From 879f6d1b11c703a4a5ea0c7942a9e0dded9c6b54 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 29 Jan 2020 16:12:42 +0000 Subject: [PATCH 18/22] Remove duplicate entry in pre-commit config --- .pre-commit-config.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 16045bc..d285259 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,7 +10,6 @@ repos: - id: mixed-line-ending # Replaces or checks mixed line ending. args: [--fix=lf] - id: end-of-file-fixer # Makes sure files end in a newline and only a newline. - - id: check-merge-conflict # Check for files that contain merge conflict strings. - repo: local hooks: From 36638ec29173eee2b195be4e151aa4961e820e18 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 29 Jan 2020 16:13:33 +0000 Subject: [PATCH 19/22] Update ChangeLog for release --- ChangeLog | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 07bc592..1304dd1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,14 +1,18 @@ Version TBD (In Progress on the Develop Branch): +Version 2020.01.29: + * FreeBSD fixes (cedwards) #1413 + * Support the upcoming Neon release (s0undt3ch) #1420 + Version 2020.01.21: - * FreeBSD fixes (kgbsd) #1376 - * Fix macOS support (s0undt3ch) #1397 + * FreeBSD fixes (kgbsd) #1376 + * Fix macOS support (s0undt3ch) #1397 Version 2019.11.04: - * Fix busybox mktemp compatibility (stanzgy) #1369 - * Install debian 10 packages on debian 10 instead of 9 (kiemlicz) #1375 - * move centos to python36, use python specified by -x (Ch3LL,bryceml) #1380 - * Add debian 10 git install support (Ch3LL) #1378 + * Fix busybox mktemp compatibility (stanzgy) #1369 + * Install debian 10 packages on debian 10 instead of 9 (kiemlicz) #1375 + * move centos to python36, use python specified by -x (Ch3LL,bryceml) #1380 + * Add debian 10 git install support (Ch3LL) #1378 Version 2019.10.03: * Fix possible typo with `gnupg-curl` vs `gnupg curl` (zahiar) From 77e7735945687b404b1648fcac995dd3a31ebc38 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 29 Jan 2020 16:14:03 +0000 Subject: [PATCH 20/22] Bump version for release --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 8ace425..716f24b 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -23,7 +23,7 @@ #====================================================================================================================== set -o nounset # Treat unset variables as an error -__ScriptVersion="2020.01.21" +__ScriptVersion="2020.01.29" __ScriptName="bootstrap-salt.sh" __ScriptFullName="$0" From 7c0e4fca7bd1ccc7d493179cde9f3d408388d5aa Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 29 Jan 2020 16:20:08 +0000 Subject: [PATCH 21/22] FreeBSD versions lower than 11 are EOL and unsupported --- README.rst | 2 +- bootstrap-salt.sh | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index fd54abe..eb3f315 100644 --- a/README.rst +++ b/README.rst @@ -329,7 +329,7 @@ UNIX systems **BSD**: - OpenBSD (``pip`` installation) -- FreeBSD 9/10/11/12 +- FreeBSD 11/12 **SunOS**: diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 716f24b..43d3ea1 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -1688,10 +1688,9 @@ __check_end_of_life_versions() { ;; freebsd) - # FreeBSD versions lower than 9.1 are not supported. - if { [ "$DISTRO_MAJOR_VERSION" -eq 9 ] && [ "$DISTRO_MINOR_VERSION" -lt 01 ]; } || \ - [ "$DISTRO_MAJOR_VERSION" -lt 9 ]; then - echoerror "Versions lower than FreeBSD 9.1 are not supported." + # FreeBSD versions lower than 11 are EOL + if [ "$DISTRO_MAJOR_VERSION" -lt 11 ]; then + echoerror "Versions lower than FreeBSD 11 are EOL and no longer supported." exit 1 fi ;; From 336f3c528be35844dc57afd3929f95b6ce3fb88b Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 29 Jan 2020 17:02:17 +0000 Subject: [PATCH 22/22] Disable github workflows for now --- .github/{workflows => .workflows}/main.yml | 0 .github/{workflows => .workflows}/templates/generate.py | 0 .github/{workflows => .workflows}/templates/lint.yml | 0 .github/{workflows => .workflows}/templates/linux.yml | 0 .github/{workflows => .workflows}/templates/main.yml | 0 .github/{workflows => .workflows}/templates/pre-commit.yml | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename .github/{workflows => .workflows}/main.yml (100%) rename .github/{workflows => .workflows}/templates/generate.py (100%) rename .github/{workflows => .workflows}/templates/lint.yml (100%) rename .github/{workflows => .workflows}/templates/linux.yml (100%) rename .github/{workflows => .workflows}/templates/main.yml (100%) rename .github/{workflows => .workflows}/templates/pre-commit.yml (100%) diff --git a/.github/workflows/main.yml b/.github/.workflows/main.yml similarity index 100% rename from .github/workflows/main.yml rename to .github/.workflows/main.yml diff --git a/.github/workflows/templates/generate.py b/.github/.workflows/templates/generate.py similarity index 100% rename from .github/workflows/templates/generate.py rename to .github/.workflows/templates/generate.py diff --git a/.github/workflows/templates/lint.yml b/.github/.workflows/templates/lint.yml similarity index 100% rename from .github/workflows/templates/lint.yml rename to .github/.workflows/templates/lint.yml diff --git a/.github/workflows/templates/linux.yml b/.github/.workflows/templates/linux.yml similarity index 100% rename from .github/workflows/templates/linux.yml rename to .github/.workflows/templates/linux.yml diff --git a/.github/workflows/templates/main.yml b/.github/.workflows/templates/main.yml similarity index 100% rename from .github/workflows/templates/main.yml rename to .github/.workflows/templates/main.yml diff --git a/.github/workflows/templates/pre-commit.yml b/.github/.workflows/templates/pre-commit.yml similarity index 100% rename from .github/workflows/templates/pre-commit.yml rename to .github/.workflows/templates/pre-commit.yml