From 50ac60bc2896811e9bf24033a4cf6e3c2bba2031 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Fri, 17 Sep 2021 10:01:48 +0000 Subject: [PATCH 001/113] Update README.rst with 2021.09.17 release sha256sum --- README.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/README.rst b/README.rst index 788ec94..dd21613 100644 --- a/README.rst +++ b/README.rst @@ -32,6 +32,7 @@ sum** of the downloaded ``bootstrap-salt.sh`` file. The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is: +- 2021.09.17: ``090d652cd6290debce0e3a4eded65086a4272e69446e711eb26f87160593b6a2`` - 2021.09.14: ``30fdcba972f449630b4f13492cb5525e69e08fa2cdb66a6dc78f1536ad279e52`` - 2021.08.19: ``ee40a9d8d057cce88a288fc1cb94b1d31408a61d262db6f77b34ad63d66f0806`` - 2021.06.23: ``35b397dd0a50f832af453c17f138fd29e3692e492d7f463c404a57e1fac10665`` From d663b20b6efdb79cea5963e225466fda4aa22aa7 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Fri, 17 Sep 2021 12:18:12 +0200 Subject: [PATCH 002/113] Re-add CI for Ubuntu-16 --- .github/workflows/main.yml | 368 ++++++++++++++++++++++++ .github/workflows/templates/generate.py | 5 + kitchen.yml | 3 + 3 files changed, 376 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6f78804..2dd7961 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5472,6 +5472,374 @@ jobs: bundle exec kitchen destroy latest-rockylinux-8 + py3-stable-3001-ubuntu-1604: + name: Ubuntu 16.04 v3001 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3001-ubuntu-1604 || bundle exec kitchen create py3-stable-3001-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3001-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3001-ubuntu-1604 + + + py3-git-3001-ubuntu-1604: + name: Ubuntu 16.04 v3001 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3001-ubuntu-1604 || bundle exec kitchen create py3-git-3001-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3001-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3001-ubuntu-1604 + + + py3-stable-3001-0-ubuntu-1604: + name: Ubuntu 16.04 v3001.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3001-0-ubuntu-1604 || bundle exec kitchen create py3-stable-3001-0-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3001-0-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3001-0-ubuntu-1604 + + + py3-stable-3002-ubuntu-1604: + name: Ubuntu 16.04 v3002 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3002-ubuntu-1604 || bundle exec kitchen create py3-stable-3002-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3002-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3002-ubuntu-1604 + + + py3-git-3002-ubuntu-1604: + name: Ubuntu 16.04 v3002 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3002-ubuntu-1604 || bundle exec kitchen create py3-git-3002-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3002-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3002-ubuntu-1604 + + + py3-stable-3002-0-ubuntu-1604: + name: Ubuntu 16.04 v3002.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3002-0-ubuntu-1604 || bundle exec kitchen create py3-stable-3002-0-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3002-0-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3002-0-ubuntu-1604 + + + py3-git-master-ubuntu-1604: + name: Ubuntu 16.04 Master Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-master-ubuntu-1604 || bundle exec kitchen create py3-git-master-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-master-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-master-ubuntu-1604 + + + latest-ubuntu-1604: + name: Ubuntu 16.04 Latest packaged release + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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 + + py3-stable-3001-ubuntu-1804: name: Ubuntu 18.04 v3001 Py3 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index acf480c..dfebca7 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -24,6 +24,7 @@ LINUX_DISTROS = [ "oraclelinux-7", "oraclelinux-8", "rockylinux-8", + "ubuntu-1604", "ubuntu-1804", "ubuntu-2004", "ubuntu-2104", @@ -45,6 +46,7 @@ STABLE_DISTROS = [ "gentoo-systemd", "oraclelinux-7", "oraclelinux-8", + "ubuntu-1604", "ubuntu-1804", "ubuntu-2004", "ubuntu-2104", @@ -84,6 +86,7 @@ BLACKLIST_3002_0 = [ BLACKLIST_3003 = [ "rockylinux-8", + "ubuntu-1604", ] BLACKLIST_3003_0 = [ @@ -91,6 +94,7 @@ BLACKLIST_3003_0 = [ "gentoo", "gentoo-systemd", "rockylinux-8", + "ubuntu-1604", ] SALT_BRANCHES = [ @@ -138,6 +142,7 @@ DISTRO_DISPLAY_NAMES = { "oraclelinux-7": "Oracle Linux 7", "oraclelinux-8": "Oracle Linux 8", "rockylinux-8": "Rocky Linux 8", + "ubuntu-1604": "Ubuntu 16.04", "ubuntu-1804": "Ubuntu 18.04", "ubuntu-2004": "Ubuntu 20.04", "ubuntu-2104": "Ubuntu 21.04", diff --git a/kitchen.yml b/kitchen.yml index d6b1e52..080c79c 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -102,6 +102,9 @@ platforms: - name: ubuntu-18.04 driver: run_command: /lib/systemd/systemd + - name: ubuntu-16.04 + driver_config: + run_command: /lib/systemd/systemd suites: - name: py3-git-3001 From c5a55a3fbbe668de03239751dd60e8c27538b2d3 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Thu, 23 Sep 2021 08:32:01 +0200 Subject: [PATCH 003/113] Sort help alphabetically --- bootstrap-salt.sh | 128 +++++++++++++++++++++++----------------------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index d825359..c6b0171 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -314,86 +314,86 @@ __usage() { - ${__ScriptName} git 06f249901a2e2f1ed310d58ea3921a129f214358 Options: - -h Display this message - -v Display script version - -n No colours - -D Show debug output + -a Pip install all Python pkg dependencies for Salt. Requires -V to install + all pip pkgs into the virtualenv. + (Only available for Ubuntu based distributions) + -A Pass the salt-master DNS name or IP. This will be stored under + \${BS_SALT_ETC_DIR}/minion.d/99-master-address.conf + -b Assume that dependencies are already installed and software sources are + set up. If git is selected, git tree is still checked out as dependency + step. -c Temporary configuration directory - -g Salt Git repository URL. Default: ${_SALTSTACK_REPO_URL} - -w Install packages from downstream package repository rather than - upstream, saltstack package repository. This is currently only - implemented for SUSE. - -k Temporary directory holding the minion keys which will pre-seed - the master. - -s Sleep time used when waiting for daemons to start, restart and when - checking for the services running. Default: ${__DEFAULT_SLEEP} - -L Also install salt-cloud and required python-libcloud package - -M Also install salt-master - -S Also install salt-syndic - -N Do not install salt-minion - -X Do not start daemons after installation - -d Disables checking if Salt services are enabled to start on system boot. - You can also do this by touching /tmp/disable_salt_checks on the target - host. Default: \${BS_FALSE} - -P Allow pip based installations. On some distributions the required salt - packages or its dependencies are not available as a package for that - distribution. Using this flag allows the script to use pip as a last - resort method. NOTE: This only works for functions which actually - implement pip based installations. - -U If set, fully upgrade the system prior to bootstrapping Salt - -I If set, allow insecure connections while downloading any files. For - example, pass '--no-check-certificate' to 'wget' or '--insecure' to - 'curl'. On Debian and Ubuntu, using this option with -U allows obtaining - GnuPG archive keys insecurely if distro has changed release signatures. - -F Allow copied files to overwrite existing (config, init.d, etc) - -K If set, keep the temporary files in the temporary directories specified - with -c and -k -C Only run the configuration function. Implies -F (forced overwrite). To overwrite Master or Syndic configs, -M or -S, respectively, must also be specified. Salt installation will be ommitted, but some of the dependencies could be installed to write configuration with -j or -J. - -A Pass the salt-master DNS name or IP. This will be stored under - \${BS_SALT_ETC_DIR}/minion.d/99-master-address.conf - -i Pass the salt-minion id. This will be stored under - \${BS_SALT_ETC_DIR}/minion_id - -p Extra-package to install while installing Salt dependencies. One package - per -p flag. You are responsible for providing the proper package name. - -H Use the specified HTTP proxy for all download URLs (including https://). - For example: http://myproxy.example.com:3128 - -b Assume that dependencies are already installed and software sources are - set up. If git is selected, git tree is still checked out as dependency - step. + -d Disables checking if Salt services are enabled to start on system boot. + You can also do this by touching /tmp/disable_salt_checks on the target + host. Default: \${BS_FALSE} + -D Show debug output -f Force shallow cloning for git installations. This may result in an "n/a" in the version number. - -l Disable ssl checks. When passed, switches "https" calls to "http" where - possible. - -V Install Salt into virtualenv - (only available for Ubuntu based distributions) - -a Pip install all Python pkg dependencies for Salt. Requires -V to install - all pip pkgs into the virtualenv. - (Only available for Ubuntu based distributions) - -r Disable all repository configuration performed by this script. This - option assumes all necessary repository configuration is already present - on the system. - -R Specify a custom repository URL. Assumes the custom repository URL - points to a repository that mirrors Salt packages located at - repo.saltproject.io. The option passed with -R replaces the - "repo.saltproject.io". If -R is passed, -r is also set. Currently only - works on CentOS/RHEL and Debian based distributions. - -J Replace the Master config file with data passed in as a JSON string. If - a Master config file is found, a reasonable effort will be made to save - the file with a ".bak" extension. If used in conjunction with -C or -F, - no ".bak" file will be created as either of those options will force - a complete overwrite of the file. + -F Allow copied files to overwrite existing (config, init.d, etc) + -g Salt Git repository URL. Default: ${_SALTSTACK_REPO_URL} + -h Display this message + -H Use the specified HTTP proxy for all download URLs (including https://). + For example: http://myproxy.example.com:3128 + -i Pass the salt-minion id. This will be stored under + \${BS_SALT_ETC_DIR}/minion_id + -I If set, allow insecure connections while downloading any files. For + example, pass '--no-check-certificate' to 'wget' or '--insecure' to + 'curl'. On Debian and Ubuntu, using this option with -U allows obtaining + GnuPG archive keys insecurely if distro has changed release signatures. -j Replace the Minion config file with data passed in as a JSON string. If a Minion config file is found, a reasonable effort will be made to save the file with a ".bak" extension. If used in conjunction with -C or -F, no ".bak" file will be created as either of those options will force a complete overwrite of the file. + -J Replace the Master config file with data passed in as a JSON string. If + a Master config file is found, a reasonable effort will be made to save + the file with a ".bak" extension. If used in conjunction with -C or -F, + no ".bak" file will be created as either of those options will force + a complete overwrite of the file. + -k Temporary directory holding the minion keys which will pre-seed + the master. + -K If set, keep the temporary files in the temporary directories specified + with -c and -k + -l Disable ssl checks. When passed, switches "https" calls to "http" where + possible. + -L Also install salt-cloud and required python-libcloud package + -M Also install salt-master + -n No colours + -N Do not install salt-minion + -p Extra-package to install while installing Salt dependencies. One package + per -p flag. You are responsible for providing the proper package name. + -P Allow pip based installations. On some distributions the required salt + packages or its dependencies are not available as a package for that + distribution. Using this flag allows the script to use pip as a last + resort method. NOTE: This only works for functions which actually + implement pip based installations. -q Quiet salt installation from git (setup.py install -q) + -R Specify a custom repository URL. Assumes the custom repository URL + points to a repository that mirrors Salt packages located at + repo.saltproject.io. The option passed with -R replaces the + "repo.saltproject.io". If -R is passed, -r is also set. Currently only + works on CentOS/RHEL and Debian based distributions. + -s Sleep time used when waiting for daemons to start, restart and when + checking for the services running. Default: ${__DEFAULT_SLEEP} + -S Also install salt-syndic + -r Disable all repository configuration performed by this script. This + option assumes all necessary repository configuration is already present + on the system. + -U If set, fully upgrade the system prior to bootstrapping Salt + -v Display script version + -V Install Salt into virtualenv + (only available for Ubuntu based distributions) + -w Install packages from downstream package repository rather than + upstream, saltstack package repository. This is currently only + implemented for SUSE. -x Changes the Python version used to install Salt. For CentOS 6 git installations python2.7 is supported. Fedora git installation, CentOS 7, Debian 9, Ubuntu 16.04 and 18.04 support python3. + -X Do not start daemons after installation -y Installs a different python version on host. Currently this has only been tested with CentOS 6 and is considered experimental. This will install the ius repo on the box if disable repo is false. This must be used in conjunction From ca52074f0b20c94d556ff79e880f4a2235556806 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Fri, 1 Oct 2021 20:00:39 +0100 Subject: [PATCH 004/113] ci(kitchen): add `ssh-rsa` to `PubkeyAcceptedAlgorithms` on Arch Linux --- kitchen.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/kitchen.yml b/kitchen.yml index 080c79c..db71165 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -42,6 +42,7 @@ platforms: provision_command: - pacman -Syu --noconfirm --needed systemd grep awk procps which - systemctl enable sshd + - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config - name: centos-8 - name: centos-7 - name: debian-9 From aadb93b4c12109d11b63253d849119af115fa09a Mon Sep 17 00:00:00 2001 From: Nascire Date: Wed, 6 Oct 2021 18:07:20 +0200 Subject: [PATCH 005/113] Fix git master install on alpine 3.12+ With default version 3003.3, you run into https://github.com/saltstack/salt/issues/55159, which was fixed by https://github.com/saltstack/salt/pull/60811 If you want to install from git master, it fails because py2-pip is unavailable - Alpine 3.11 was the last version to include py2-pip This PR changes the git master process to python3 and adds all requirements for a successful build --- bootstrap-salt.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index c6b0171..e3dd8d8 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -5011,8 +5011,8 @@ install_alpine_linux_git_deps() { fi fi else - apk -U add python2 py2-pip py2-setuptools || return 1 - _PY_EXE=python2 + apk -U add python3 python3-dev py3-pip py3-setuptools g++ linux-headers zeromq-dev || return 1 + _PY_EXE=python3 return 0 fi From 02dc9999f0347bd540b58aef2eb490d0867c3e9b Mon Sep 17 00:00:00 2001 From: Bryce Larson Date: Thu, 7 Oct 2021 15:37:49 +0000 Subject: [PATCH 006/113] fix pre-commit --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index dd21613..ff0b33d 100644 --- a/README.rst +++ b/README.rst @@ -535,8 +535,8 @@ UNIX systems Using a custom salt bootstrap ----------------------------- -By default the ``salt-cloud -p`` provisioning command will use the latest release from this -repository to bootstrap new minions. If +By default the ``salt-cloud -p`` provisioning command will use the latest release from this +repository to bootstrap new minions. If - your needs are not met by that script, - you want to lock salt bootstrap to a specific release, or From 43e325a9304358c105452120fe46ecd15746da5c Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 9 Oct 2021 13:38:50 +0100 Subject: [PATCH 007/113] ci(centos-stream8): add platform --- .github/workflows/main.yml | 230 ++++++++++++++++++++++++ .github/workflows/templates/generate.py | 7 + kitchen.yml | 3 + 3 files changed, 240 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2dd7961..9749fcf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1884,6 +1884,236 @@ jobs: bundle exec kitchen destroy latest-centos-8 + py3-stable-3003-centos-stream8: + name: CentOS Stream 8 v3003 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3003-centos-stream8 || bundle exec kitchen create py3-stable-3003-centos-stream8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3003-centos-stream8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3003-centos-stream8 + + + py3-git-3003-centos-stream8: + name: CentOS Stream 8 v3003 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3003-centos-stream8 || bundle exec kitchen create py3-git-3003-centos-stream8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3003-centos-stream8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3003-centos-stream8 + + + py3-stable-3003-0-centos-stream8: + name: CentOS Stream 8 v3003.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3003-0-centos-stream8 || bundle exec kitchen create py3-stable-3003-0-centos-stream8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3003-0-centos-stream8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3003-0-centos-stream8 + + + py3-git-master-centos-stream8: + name: CentOS Stream 8 Master Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-master-centos-stream8 || bundle exec kitchen create py3-git-master-centos-stream8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-master-centos-stream8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-master-centos-stream8 + + + latest-centos-stream8: + name: CentOS Stream 8 Latest packaged release + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-stream8 || bundle exec kitchen create latest-centos-stream8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-centos-stream8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-centos-stream8 + + py3-stable-3001-debian-10: name: Debian 10 v3001 Py3 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index dfebca7..e79b276 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -11,6 +11,7 @@ LINUX_DISTROS = [ "arch", "centos-7", "centos-8", + "centos-stream8", "debian-10", "debian-11", "debian-9", @@ -36,6 +37,7 @@ STABLE_DISTROS = [ "amazon-2", "centos-7", "centos-8", + "centos-stream8", "debian-10", "debian-11", "debian-9", @@ -54,6 +56,7 @@ STABLE_DISTROS = [ BLACKLIST_3001 = [ "almalinux-8", + "centos-stream8", "debian-11", "rockylinux-8", "ubuntu-2104", @@ -62,6 +65,7 @@ BLACKLIST_3001 = [ BLACKLIST_3001_0 = [ "almalinux-8", "amazon-2", + "centos-stream8", "debian-11", "gentoo", "gentoo-systemd", @@ -71,12 +75,14 @@ BLACKLIST_3001_0 = [ BLACKLIST_3002 = [ "almalinux-8", + "centos-stream8", "rockylinux-8", ] BLACKLIST_3002_0 = [ "almalinux-8", "amazon-2", + "centos-stream8", "debian-11", "gentoo", "gentoo-systemd", @@ -129,6 +135,7 @@ DISTRO_DISPLAY_NAMES = { "arch": "Arch", "centos-7": "CentOS 7", "centos-8": "CentOS 8", + "centos-stream8": "CentOS Stream 8", "debian-10": "Debian 10", "debian-11": "Debian 11", "debian-9": "Debian 9", diff --git a/kitchen.yml b/kitchen.yml index db71165..06452bf 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -43,6 +43,9 @@ platforms: - pacman -Syu --noconfirm --needed systemd grep awk procps which - systemctl enable sshd - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config + - name: centos-stream8 + driver: + image: quay.io/centos/centos:stream8 - name: centos-8 - name: centos-7 - name: debian-9 From 360494b18e3c4b8e7ed2c8568a31160f8697dce0 Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Wed, 23 Dec 2020 16:46:01 -0600 Subject: [PATCH 008/113] Add CentOS GPG key for RHEL7 for successful builds --- bootstrap-salt.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index e3dd8d8..ddb7c09 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4120,7 +4120,11 @@ __install_saltstack_rhel_repository() { # Avoid using '$releasever' variable for yum. # Instead, this should work correctly on all RHEL variants. base_url="${HTTP_VAL}://${_REPO_URL}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/${repo_rev}/" - gpg_key="SALTSTACK-GPG-KEY.pub" + if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then + gpg_key="${base_url}SALTSTACK-GPG-KEY.pub","${base_url}base/RPM-GPG-KEY-CentOS-7" + else + gpg_key="${base_url}SALTSTACK-GPG-KEY.pub" + fi repo_file="/etc/yum.repos.d/salt.repo" if [ ! -s "$repo_file" ] || [ "$_FORCE_OVERWRITE" -eq $BS_TRUE ]; then @@ -4130,7 +4134,7 @@ name=SaltStack ${repo_rev} Release Channel for RHEL/CentOS \$releasever baseurl=${base_url} skip_if_unavailable=True gpgcheck=1 -gpgkey=${base_url}${gpg_key} +gpgkey=${gpg_key} enabled=1 enabled_metadata=1 _eof From 20cae336f300525bc737135f12cc703e410ad6e7 Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Wed, 23 Dec 2020 18:57:05 -0600 Subject: [PATCH 009/113] fix quotes --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index ddb7c09..5a56a15 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4121,7 +4121,7 @@ __install_saltstack_rhel_repository() { # Instead, this should work correctly on all RHEL variants. base_url="${HTTP_VAL}://${_REPO_URL}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/${repo_rev}/" if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then - gpg_key="${base_url}SALTSTACK-GPG-KEY.pub","${base_url}base/RPM-GPG-KEY-CentOS-7" + gpg_key="${base_url}SALTSTACK-GPG-KEY.pub,${base_url}base/RPM-GPG-KEY-CentOS-7" else gpg_key="${base_url}SALTSTACK-GPG-KEY.pub" fi From 30a680d183949efe6081beef2be4902f4c31ceeb Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Thu, 24 Dec 2020 11:35:25 -0600 Subject: [PATCH 010/113] fix key import --- bootstrap-salt.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 5a56a15..08fe665 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4139,8 +4139,12 @@ enabled=1 enabled_metadata=1 _eof - fetch_url="${HTTP_VAL}://${_REPO_URL}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/${CPU_ARCH_L}/${repo_rev}/" - __rpm_import_gpg "${fetch_url}${gpg_key}" || return 1 + Field_Separator=$IFS + IFS=, + for key in $gpg_key; do + __rpm_import_gpg "$key" || return 1 + done + IFS=$Field_Separator yum clean metadata || return 1 elif [ "$repo_rev" != "latest" ]; then echowarn "salt.repo already exists, ignoring salt version argument." From 03c6900b32d4f1aa9fad29218ee57a7f9cd72a61 Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Thu, 24 Dec 2020 12:00:40 -0600 Subject: [PATCH 011/113] fix fetch url --- bootstrap-salt.sh | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 08fe665..cae3713 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4121,10 +4121,19 @@ __install_saltstack_rhel_repository() { # Instead, this should work correctly on all RHEL variants. base_url="${HTTP_VAL}://${_REPO_URL}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/${repo_rev}/" if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then - gpg_key="${base_url}SALTSTACK-GPG-KEY.pub,${base_url}base/RPM-GPG-KEY-CentOS-7" + gpg_key="SALTSTACK-GPG-KEY.pub,base/RPM-GPG-KEY-CentOS-7" else - gpg_key="${base_url}SALTSTACK-GPG-KEY.pub" + gpg_key="SALTSTACK-GPG-KEY.pub" fi + + Field_Separator=$IFS + IFS=, + gpg_key_urls="" + for key in $gpg_key; do + gpg_key_urls+="${base_url}${key}," + done + IFS=$Field_Separator + repo_file="/etc/yum.repos.d/salt.repo" if [ ! -s "$repo_file" ] || [ "$_FORCE_OVERWRITE" -eq $BS_TRUE ]; then @@ -4134,17 +4143,19 @@ name=SaltStack ${repo_rev} Release Channel for RHEL/CentOS \$releasever baseurl=${base_url} skip_if_unavailable=True gpgcheck=1 -gpgkey=${gpg_key} +gpgkey=${gpg_key_urls} enabled=1 enabled_metadata=1 _eof + fetch_url="${HTTP_VAL}://${_REPO_URL}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/${CPU_ARCH_L}/${repo_rev}/" Field_Separator=$IFS IFS=, for key in $gpg_key; do - __rpm_import_gpg "$key" || return 1 + __rpm_import_gpg "${fetch_url}${key}" || return 1 done IFS=$Field_Separator + yum clean metadata || return 1 elif [ "$repo_rev" != "latest" ]; then echowarn "salt.repo already exists, ignoring salt version argument." From 1f6447ce6c80269dcf68d0f71e653d36696a55a5 Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Thu, 24 Dec 2020 16:23:12 -0600 Subject: [PATCH 012/113] fix lint for sh --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index cae3713..c91acf2 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4130,7 +4130,7 @@ __install_saltstack_rhel_repository() { IFS=, gpg_key_urls="" for key in $gpg_key; do - gpg_key_urls+="${base_url}${key}," + gpg_key_urls=$(printf "${base_url}${key},%s" "$gpg_key_urls") done IFS=$Field_Separator From 4697887bf920f552f8db410752a591610fab9886 Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Thu, 7 Jan 2021 15:09:11 -0600 Subject: [PATCH 013/113] correct install location --- bootstrap-salt.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index c91acf2..c8140db 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4217,6 +4217,14 @@ install_centos_stable_deps() { __PACKAGES="${__PACKAGES} PyYAML" fi fi + else + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then + __PACKAGES="${__PACKAGES} python3-setuptools" + else + __PACKAGES="${__PACKAGES} python36-setuptools" + fi + fi fi # shellcheck disable=SC2086 From 6069f7f78b8e2757427a352c818f13522bec445d Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Thu, 7 Jan 2021 15:44:11 -0600 Subject: [PATCH 014/113] correct install --- bootstrap-salt.sh | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index c8140db..fc852b2 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4198,33 +4198,25 @@ install_centos_stable_deps() { 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" + __PACKAGES="${__PACKAGES} python3-pyyaml python3-setuptools" 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" + __PACKAGES="${__PACKAGES} python36-PyYAML python36-setuptools" 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" + __PACKAGES="${__PACKAGES} python34-PyYAML python34-setuptools" else __PACKAGES="${__PACKAGES} PyYAML" fi fi - else - if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then - if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then - __PACKAGES="${__PACKAGES} python3-setuptools" - else - __PACKAGES="${__PACKAGES} python36-setuptools" - fi - fi fi # shellcheck disable=SC2086 From c16735656a5b52d304b2dad8f2feb3c346b58083 Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Thu, 7 Jan 2021 10:32:13 -0600 Subject: [PATCH 015/113] add rhel ubi tests and needed package --- bootstrap-salt.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index fc852b2..14161a4 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4351,6 +4351,7 @@ install_centos_git_deps() { __PACKAGES="${__PACKAGES} m2crypto python${PY_PKG_VER}-crypto" fi + __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-setuptools" __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-jinja2" __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-msgpack python${PY_PKG_VER}-requests" __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-tornado python${PY_PKG_VER}-zmq" From fe3d3bf75513719177db7a21c59ad634f60928ed Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Thu, 7 Jan 2021 15:09:11 -0600 Subject: [PATCH 016/113] correct install location --- bootstrap-salt.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 14161a4..887777a 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4217,6 +4217,14 @@ install_centos_stable_deps() { __PACKAGES="${__PACKAGES} PyYAML" fi fi + else + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then + __PACKAGES="${__PACKAGES} python3-setuptools" + else + __PACKAGES="${__PACKAGES} python36-setuptools" + fi + fi fi # shellcheck disable=SC2086 @@ -4351,7 +4359,6 @@ install_centos_git_deps() { __PACKAGES="${__PACKAGES} m2crypto python${PY_PKG_VER}-crypto" fi - __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-setuptools" __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-jinja2" __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-msgpack python${PY_PKG_VER}-requests" __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-tornado python${PY_PKG_VER}-zmq" From 6be1f869af73e5e9890a62308a00b04b20d79b6b Mon Sep 17 00:00:00 2001 From: Jeff Neel <10672501+jeff350@users.noreply.github.com> Date: Thu, 7 Jan 2021 15:44:11 -0600 Subject: [PATCH 017/113] correct install --- bootstrap-salt.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 887777a..fc852b2 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4217,14 +4217,6 @@ install_centos_stable_deps() { __PACKAGES="${__PACKAGES} PyYAML" fi fi - else - if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then - if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then - __PACKAGES="${__PACKAGES} python3-setuptools" - else - __PACKAGES="${__PACKAGES} python36-setuptools" - fi - fi fi # shellcheck disable=SC2086 From 71406d70e89f7624d91f90656ffdc65f156ba48f Mon Sep 17 00:00:00 2001 From: Bryce Larson Date: Mon, 11 Oct 2021 17:47:07 +0000 Subject: [PATCH 018/113] fix indentation, remove unnecessary IFS changes --- bootstrap-salt.sh | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index fc852b2..88d5e87 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4121,18 +4121,15 @@ __install_saltstack_rhel_repository() { # Instead, this should work correctly on all RHEL variants. base_url="${HTTP_VAL}://${_REPO_URL}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/${repo_rev}/" if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then - gpg_key="SALTSTACK-GPG-KEY.pub,base/RPM-GPG-KEY-CentOS-7" + gpg_key="SALTSTACK-GPG-KEY.pub base/RPM-GPG-KEY-CentOS-7" else gpg_key="SALTSTACK-GPG-KEY.pub" fi - Field_Separator=$IFS - IFS=, gpg_key_urls="" for key in $gpg_key; do - gpg_key_urls=$(printf "${base_url}${key},%s" "$gpg_key_urls") + gpg_key_urls=$(printf "${base_url}${key},%s" "$gpg_key_urls") done - IFS=$Field_Separator repo_file="/etc/yum.repos.d/salt.repo" @@ -4149,12 +4146,9 @@ enabled_metadata=1 _eof fetch_url="${HTTP_VAL}://${_REPO_URL}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/${CPU_ARCH_L}/${repo_rev}/" - Field_Separator=$IFS - IFS=, - for key in $gpg_key; do + for key in $gpg_key; do __rpm_import_gpg "${fetch_url}${key}" || return 1 done - IFS=$Field_Separator yum clean metadata || return 1 elif [ "$repo_rev" != "latest" ]; then From ddf7cb5b2334a6c7c433815a2cb73d6ab29737de Mon Sep 17 00:00:00 2001 From: krionbsd Date: Tue, 12 Oct 2021 16:14:18 +0200 Subject: [PATCH 019/113] Add openrc to alpine:latest dependencies --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 88d5e87..1ac37b3 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -5024,7 +5024,7 @@ install_alpine_linux_git_deps() { fi fi else - apk -U add python3 python3-dev py3-pip py3-setuptools g++ linux-headers zeromq-dev || return 1 + apk -U add python3 python3-dev py3-pip py3-setuptools g++ linux-headers zeromq-dev openrc || return 1 _PY_EXE=python3 return 0 fi From dc4cf126144d99b5577b881fa7a8e000c3667d86 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Wed, 10 Nov 2021 14:33:33 +0000 Subject: [PATCH 020/113] ci(kitchen): add `ssh-rsa` to `PubkeyAcceptedAlgorithms` on Tumbleweed --- kitchen.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/kitchen.yml b/kitchen.yml index 06452bf..e18731d 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -84,14 +84,18 @@ platforms: - name: opensuse-15 driver: image: opensuse/leap:15.3 - provision_command: &opensuse_provision_command - - zypper --non-interactive install --auto-agree-with-licenses dbus-1 - - zypper --non-interactive install --auto-agree-with-licenses sudo openssh which curl systemd - - systemctl enable sshd.service + provision_command: + - &opensuse_provision_command_01 zypper --non-interactive install --auto-agree-with-licenses dbus-1 + - &opensuse_provision_command_02 zypper --non-interactive install --auto-agree-with-licenses sudo openssh which curl systemd + - &opensuse_provision_command_03 systemctl enable sshd.service - name: opensuse-tumbleweed driver: image: opensuse/tumbleweed:latest - provision_command: *opensuse_provision_command + provision_command: + - *opensuse_provision_command_01 + - *opensuse_provision_command_02 + - *opensuse_provision_command_03 + - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config - name: oraclelinux-8 - name: oraclelinux-7 - name: rockylinux-8 From 8be8dbe7e6f33d218f9e66b7bf3490f8a7158316 Mon Sep 17 00:00:00 2001 From: Jille Timmermans Date: Sun, 14 Nov 2021 12:10:58 +0100 Subject: [PATCH 021/113] Add support for Raspbian 11 Tested on my Raspberry Pi. This solves the error `ERROR: No dependencies installation function found. Exiting...` when running on Raspbian 11. --- bootstrap-salt.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 1ac37b3..e712b00 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -1492,6 +1492,7 @@ __debian_derivatives_translation() { raspbian_8_debian_base="8.0" raspbian_9_debian_base="9.0" raspbian_10_debian_base="10.0" + raspbian_11_debian_base="11.0" bunsenlabs_9_debian_base="9.0" turnkey_9_debian_base="9.0" From b090555ce93b4da5d4dc65a0363844a4804507a7 Mon Sep 17 00:00:00 2001 From: Simon TheUser Date: Tue, 16 Nov 2021 13:34:40 -0500 Subject: [PATCH 022/113] Create new process with all command-line parameters when UAC is enabled --- bootstrap-salt.ps1 | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/bootstrap-salt.ps1 b/bootstrap-salt.ps1 index a0d7042..ff857f8 100644 --- a/bootstrap-salt.ps1 +++ b/bootstrap-salt.ps1 @@ -133,13 +133,11 @@ If (!(Get-IsAdministrator)) { # Specify the current script path and name as a parameter` $parameters = "" - If($minion -ne "not-specified") {$parameters = "-minion $minion"} - If($master -ne "not-specified") {$parameters = "$parameters -master $master"} - If($runservice -eq $false) {$parameters = "$parameters -runservice false"} - If($version -ne '') {$parameters = "$parameters -version $version"} - If($pythonVersion -ne "") {$parameters = "$parameters -pythonVersion $pythonVersion"} + foreach ($boundParam in $PSBoundParameters.GetEnumerator()) + { + $parameters = "$parameters -{0} '{1}'" -f $boundParam.Key, $boundParam.Value + } $newProcess.Arguments = $myInvocation.MyCommand.Definition, $parameters - # Specify the current working directory $newProcess.WorkingDirectory = "$script_path" From 21449bd05f6c1a8a4a0b4b6339ef6d40d280763c Mon Sep 17 00:00:00 2001 From: Simon TheUser Date: Tue, 16 Nov 2021 13:52:38 -0500 Subject: [PATCH 023/113] Restored extra line --- bootstrap-salt.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/bootstrap-salt.ps1 b/bootstrap-salt.ps1 index ff857f8..0282121 100644 --- a/bootstrap-salt.ps1 +++ b/bootstrap-salt.ps1 @@ -138,6 +138,7 @@ If (!(Get-IsAdministrator)) { $parameters = "$parameters -{0} '{1}'" -f $boundParam.Key, $boundParam.Value } $newProcess.Arguments = $myInvocation.MyCommand.Definition, $parameters + # Specify the current working directory $newProcess.WorkingDirectory = "$script_path" From 9225bfdc1397d117e1e42486feea9e989655e826 Mon Sep 17 00:00:00 2001 From: Dafydd Jones Date: Sat, 18 Dec 2021 18:44:57 +0000 Subject: [PATCH 024/113] ci(proxy): fix setting up WinRM Same fix as provided for the SaltStack Formulas organisation: * https://github.com/myii/ssf-formula/pull/392 --- .github/workflows/kitchen.windows.yml | 12 ++++-------- kitchen.windows.yml | 1 + 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/kitchen.windows.yml b/.github/workflows/kitchen.windows.yml index 8906328..0b2d2c1 100644 --- a/.github/workflows/kitchen.windows.yml +++ b/.github/workflows/kitchen.windows.yml @@ -74,10 +74,8 @@ jobs: New-LocalUser $env:machine_user -Password $password Add-LocalGroupMember -Group "Administrators" -Member $env:machine_user - name: 'Set up WinRM' - run: > - Set-WSManQuickConfig -Force; - Set-WSManInstance -ResourceURI winrm/config/service - -ValueSet @{AllowUnencrypted="true"} + run: | + Set-WSManQuickConfig -Force - name: 'Run Bundler' run: | ruby --version @@ -131,10 +129,8 @@ jobs: New-LocalUser $env:machine_user -Password $password Add-LocalGroupMember -Group "Administrators" -Member $env:machine_user - name: 'Set up WinRM' - run: > - Set-WSManQuickConfig -Force; - Set-WSManInstance -ResourceURI winrm/config/service - -ValueSet @{AllowUnencrypted="true"} + run: | + Set-WSManQuickConfig -Force - name: 'Run Bundler' run: | ruby --version diff --git a/kitchen.windows.yml b/kitchen.windows.yml index 993dbff..109f97e 100644 --- a/kitchen.windows.yml +++ b/kitchen.windows.yml @@ -29,6 +29,7 @@ suites: - name: latest provisioner: salt_version: latest + salt_call_command: c:\Program Files\Salt Project\Salt\salt-call.bat verifier: command: pytest --cache-clear -v -s -ra --log-cli-level=debug -k "not test_ping" tests/integration/ From d2d6f380bc0df441c6908d5b33303d0de396941d Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Tue, 14 Dec 2021 12:00:07 +0000 Subject: [PATCH 025/113] ci(freebsd): replace `12.2` with newly released `12.3` box * https://app.vagrantup.com/bento/boxes/freebsd-12.3 --- .github/workflows/kitchen.vagrant.yml | 10 +++++----- kitchen.vagrant.yml | 4 ++-- kitchen.yml | 12 ++++++------ 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/kitchen.vagrant.yml b/.github/workflows/kitchen.vagrant.yml index a3c6e9b..d22dfe1 100644 --- a/.github/workflows/kitchen.vagrant.yml +++ b/.github/workflows/kitchen.vagrant.yml @@ -42,19 +42,19 @@ jobs: matrix: instance: - py3-git-3001-freebsd-130 - - py3-git-3001-freebsd-122 + - py3-git-3001-freebsd-123 # - py3-git-3001-openbsd-6 - py3-git-3002-freebsd-130 - - py3-git-3002-freebsd-122 + - py3-git-3002-freebsd-123 # - py3-git-3002-openbsd-6 - py3-git-3003-freebsd-130 - - py3-git-3003-freebsd-122 + - py3-git-3003-freebsd-123 # - py3-git-3003-openbsd-6 - py3-git-master-freebsd-130 - - py3-git-master-freebsd-122 + - py3-git-master-freebsd-123 # - py3-git-master-openbsd-6 - latest-freebsd-130 - - latest-freebsd-122 + - latest-freebsd-123 - latest-openbsd-6 steps: - name: 'Check out code' diff --git a/kitchen.vagrant.yml b/kitchen.vagrant.yml index 1e5a4c8..327728b 100644 --- a/kitchen.vagrant.yml +++ b/kitchen.vagrant.yml @@ -24,9 +24,9 @@ platforms: - name: freebsd-130 driver: box: bento/freebsd-13.0 - - name: freebsd-122 + - name: freebsd-123 driver: - box: bento/freebsd-12.2 + box: bento/freebsd-12.3 - name: openbsd-6 driver: box: generic/openbsd6 diff --git a/kitchen.yml b/kitchen.yml index e18731d..05c33ad 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -141,7 +141,7 @@ suites: - gentoo-systemd - ubuntu-2104 - freebsd-130 - - freebsd-122 + - freebsd-123 - openbsd-6 - name: py3-stable-3001 provisioner: @@ -154,7 +154,7 @@ suites: - arch - ubuntu-2104 - freebsd-130 - - freebsd-122 + - freebsd-123 - openbsd-6 - name: py3-stable-3002-0 provisioner: @@ -169,7 +169,7 @@ suites: - gentoo - gentoo-systemd - freebsd-130 - - freebsd-122 + - freebsd-123 - openbsd-6 - name: py3-stable-3003-0 provisioner: @@ -183,7 +183,7 @@ suites: - gentoo - gentoo-systemd - freebsd-130 - - freebsd-122 + - freebsd-123 - openbsd-6 - name: py3-stable-3002 provisioner: @@ -194,7 +194,7 @@ suites: - opensuse-tumbleweed - arch - freebsd-130 - - freebsd-122 + - freebsd-123 - openbsd-6 - name: py3-stable-3003 provisioner: @@ -205,7 +205,7 @@ suites: - opensuse-tumbleweed - arch - freebsd-130 - - freebsd-122 + - freebsd-123 - openbsd-6 - name: py3-git-master provisioner: From 4125b68629d3beb71cdc0a5d6655f2478f2dedc6 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 18 Dec 2021 19:22:42 +0000 Subject: [PATCH 026/113] ci(proxy): replace deprecated `windows-2016` with `windows-2022` * https://github.com/actions/virtual-environments/issues/4312 --- .github/workflows/kitchen.windows.yml | 110 +++++++++++++------------- kitchen.windows.yml | 2 +- 2 files changed, 56 insertions(+), 56 deletions(-) diff --git a/.github/workflows/kitchen.windows.yml b/.github/workflows/kitchen.windows.yml index 0b2d2c1..214173e 100644 --- a/.github/workflows/kitchen.windows.yml +++ b/.github/workflows/kitchen.windows.yml @@ -36,6 +36,61 @@ jobs: - name: 'ShellCheck' run: | shellcheck -s sh -f tty bootstrap-salt.sh + test-2022: + runs-on: 'windows-2022' + timeout-minutes: 20 + needs: 'lint' + strategy: + fail-fast: false + matrix: + instance: + - py3-stable-3001-windows-2022 + - py3-stable-3002-windows-2022 + - py3-stable-3003-windows-2022 + - latest-windows-2022 + steps: + - name: 'Check out code' + uses: 'actions/checkout@v2' + - name: 'Install Chef' + uses: 'actionshub/chef-install@1.1.0' + with: + project: 'chef' + version: '16.10.8' + - name: 'Add Chef bindir to PATH' + uses: 'myci-actions/export-env-var-powershell@1' + with: + name: 'PATH' + value: "C:\\opscode\\chef\\bin;\ + C:\\opscode\\chef\\embedded\\bin;$env:PATH" + - name: 'Set up Bundler cache' + uses: 'actions/cache@v1' + with: + path: 'vendor/bundle' + key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" + restore-keys: "${{ runner.os }}-gems-" + - name: 'Set up test user' + run: | + $password = ConvertTo-SecureString $env:machine_pass -AsPlainText -Force + New-LocalUser $env:machine_user -Password $password + Add-LocalGroupMember -Group "Administrators" -Member $env:machine_user + - name: 'Set up WinRM' + run: | + Set-WSManQuickConfig -Force + - name: 'Run Bundler' + run: | + ruby --version + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 + - 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: 'Run Test Kitchen' + run: 'bundle exec kitchen test ${{ matrix.instance }}' test-2019: runs-on: 'windows-2019' timeout-minutes: 20 @@ -91,58 +146,3 @@ jobs: pip install -r tests/requirements.txt - name: 'Run Test Kitchen' run: 'bundle exec kitchen test ${{ matrix.instance }}' - test-2016: - runs-on: 'windows-2016' - timeout-minutes: 20 - needs: 'lint' - strategy: - fail-fast: false - matrix: - instance: - - py3-stable-3001-windows-2016 - - py3-stable-3002-windows-2016 - - py3-stable-3003-windows-2016 - - latest-windows-2016 - steps: - - name: 'Check out code' - uses: 'actions/checkout@v2' - - name: 'Install Chef' - uses: 'actionshub/chef-install@1.1.0' - with: - project: 'chef' - version: '16.10.8' - - name: 'Add Chef bindir to PATH' - uses: 'myci-actions/export-env-var-powershell@1' - with: - name: 'PATH' - value: "C:\\opscode\\chef\\bin;\ - C:\\opscode\\chef\\embedded\\bin;$env:PATH" - - name: 'Set up Bundler cache' - uses: 'actions/cache@v1' - with: - path: 'vendor/bundle' - key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" - restore-keys: "${{ runner.os }}-gems-" - - name: 'Set up test user' - run: | - $password = ConvertTo-SecureString $env:machine_pass -AsPlainText -Force - New-LocalUser $env:machine_user -Password $password - Add-LocalGroupMember -Group "Administrators" -Member $env:machine_user - - name: 'Set up WinRM' - run: | - Set-WSManQuickConfig -Force - - name: 'Run Bundler' - run: | - ruby --version - bundle config path vendor/bundle - bundle install --jobs 4 --retry 3 - - 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: 'Run Test Kitchen' - run: 'bundle exec kitchen test ${{ matrix.instance }}' diff --git a/kitchen.windows.yml b/kitchen.windows.yml index 109f97e..1ed2446 100644 --- a/kitchen.windows.yml +++ b/kitchen.windows.yml @@ -13,8 +13,8 @@ provisioner: init_environment: '' platforms: + - name: windows-2022 - name: windows-2019 - - name: windows-2016 suites: - name: py3-stable-3001 From 8c31ed62e8c3e302b9906608dbd463d64d4d4ef0 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Fri, 24 Dec 2021 12:13:40 +0000 Subject: [PATCH 027/113] ci(vagrant): use conditional local settings (inc. `synced_folders`) --- kitchen.vagrant.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kitchen.vagrant.yml b/kitchen.vagrant.yml index 327728b..0d855e7 100644 --- a/kitchen.vagrant.yml +++ b/kitchen.vagrant.yml @@ -7,9 +7,15 @@ driver: customize: usbxhci: 'off' gui: false - linked_clone: true ssh: shell: /bin/sh + <% unless ENV['CI'] %> + linked_clone: true + synced_folders: + - - '.kitchen/kitchen-vagrant/%{instance_name}/vagrant' + - '/vagrant' + - 'create: true, disabled: false' + <% end %> provisioner: init_environment: | @@ -32,6 +38,7 @@ platforms: box: generic/openbsd6 ssh: shell: /bin/ksh + synced_folders: [] provisioner: init_environment: | echo 'auto_accept: true' > /tmp/auto-accept-keys.conf From 9fa7ae4564b56eac427052d0dcab0be405d1697f Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Wed, 5 Jan 2022 06:11:40 +0000 Subject: [PATCH 028/113] ci(kitchen): add `ssh-rsa` to `PubkeyAcceptedAlgorithms` on Gentoo --- kitchen.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kitchen.yml b/kitchen.yml index 05c33ad..7a5750e 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -75,12 +75,14 @@ platforms: run_command: /sbin/init provision_command: - rc-update add sshd default + - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config - name: gentoo-systemd driver: image: gentoo/stage3:systemd run_command: /lib/systemd/systemd provision_command: - systemctl enable sshd.service + - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config - name: opensuse-15 driver: image: opensuse/leap:15.3 From cd2181908096da8c6840bc84e4bc526f030c0e43 Mon Sep 17 00:00:00 2001 From: Bo Zhang Date: Fri, 7 Jan 2022 09:06:27 +0800 Subject: [PATCH 029/113] Support Non-LTS Ubuntu 21.04 & 21.10 Ubuntu 21.10 is out, adjust the script accordingly. --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index e712b00..6a9168a 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -2919,7 +2919,7 @@ __enable_universe_repository() { __install_saltstack_ubuntu_repository() { # Workaround for latest non-LTS Ubuntu if { [ "$DISTRO_MAJOR_VERSION" -eq 20 ] && [ "$DISTRO_MINOR_VERSION" -eq 10 ]; } || \ - { [ "$DISTRO_MAJOR_VERSION" -eq 21 ] && [ "$DISTRO_MINOR_VERSION" -eq 04 ]; }; then + [ "$DISTRO_MAJOR_VERSION" -eq 21 ]; then echowarn "Non-LTS Ubuntu detected, but stable packages requested. Trying packages for previous LTS release. You may experience problems." UBUNTU_VERSION=20.04 UBUNTU_CODENAME="focal" From 126d3c3cde1434f4f4b3b78a4995a05502cdb09b Mon Sep 17 00:00:00 2001 From: ptitdoc Date: Fri, 7 Jan 2022 10:53:57 +0100 Subject: [PATCH 030/113] Enable Kali 2021 --- bootstrap-salt.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 6a9168a..874547d 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -1488,6 +1488,7 @@ __debian_derivatives_translation() { devuan_1_debian_base="8.0" devuan_2_debian_base="9.0" kali_1_debian_base="7.0" + kali_2021_debian_base="10.0" linuxmint_1_debian_base="8.0" raspbian_8_debian_base="8.0" raspbian_9_debian_base="9.0" @@ -3771,6 +3772,13 @@ install_debian_git_post() { done } +install_debian_2021_post() { + # Kali 2021 (debian derivative) disables all network services by default + # Using archlinux post function to enable salt systemd services + install_arch_linux_post || return 1 + return 0 +} + install_debian_restart_daemons() { [ "$_START_DAEMONS" -eq $BS_FALSE ] && return 0 From 1902d9224446e4d9af444f36d256a8504724b2db Mon Sep 17 00:00:00 2001 From: krionbsd Date: Fri, 7 Jan 2022 09:52:26 +0100 Subject: [PATCH 031/113] Add CI for Ubuntu-21.10 and remove for 21.04 --- .github/workflows/main.yml | 70 ++++++++++++------------- .github/workflows/templates/generate.py | 12 ++--- kitchen.yml | 6 +-- 3 files changed, 44 insertions(+), 44 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9749fcf..3a169d3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7082,8 +7082,8 @@ jobs: bundle exec kitchen destroy latest-ubuntu-2004 - py3-stable-3002-ubuntu-2104: - name: Ubuntu 21.04 v3002 Py3 Stable + py3-stable-3002-ubuntu-2110: + name: Ubuntu 21.10 v3002 Py3 Stable runs-on: ubuntu-latest timeout-minutes: 20 @@ -7116,20 +7116,20 @@ jobs: - name: Create Test Container run: | - bundle exec kitchen create py3-stable-3002-ubuntu-2104 || bundle exec kitchen create py3-stable-3002-ubuntu-2104 + bundle exec kitchen create py3-stable-3002-ubuntu-2110 || bundle exec kitchen create py3-stable-3002-ubuntu-2110 - name: Test Bootstrap In Test Container run: | - bundle exec kitchen verify py3-stable-3002-ubuntu-2104 + bundle exec kitchen verify py3-stable-3002-ubuntu-2110 - name: Destroy Test Container if: always() run: | - bundle exec kitchen destroy py3-stable-3002-ubuntu-2104 + bundle exec kitchen destroy py3-stable-3002-ubuntu-2110 - py3-git-3002-ubuntu-2104: - name: Ubuntu 21.04 v3002 Py3 Git + py3-git-3002-ubuntu-2110: + name: Ubuntu 21.10 v3002 Py3 Git runs-on: ubuntu-latest timeout-minutes: 20 @@ -7162,20 +7162,20 @@ jobs: - name: Create Test Container run: | - bundle exec kitchen create py3-git-3002-ubuntu-2104 || bundle exec kitchen create py3-git-3002-ubuntu-2104 + bundle exec kitchen create py3-git-3002-ubuntu-2110 || bundle exec kitchen create py3-git-3002-ubuntu-2110 - name: Test Bootstrap In Test Container run: | - bundle exec kitchen verify py3-git-3002-ubuntu-2104 + bundle exec kitchen verify py3-git-3002-ubuntu-2110 - name: Destroy Test Container if: always() run: | - bundle exec kitchen destroy py3-git-3002-ubuntu-2104 + bundle exec kitchen destroy py3-git-3002-ubuntu-2110 - py3-stable-3003-ubuntu-2104: - name: Ubuntu 21.04 v3003 Py3 Stable + py3-stable-3003-ubuntu-2110: + name: Ubuntu 21.10 v3003 Py3 Stable runs-on: ubuntu-latest timeout-minutes: 20 @@ -7208,20 +7208,20 @@ jobs: - name: Create Test Container run: | - bundle exec kitchen create py3-stable-3003-ubuntu-2104 || bundle exec kitchen create py3-stable-3003-ubuntu-2104 + bundle exec kitchen create py3-stable-3003-ubuntu-2110 || bundle exec kitchen create py3-stable-3003-ubuntu-2110 - name: Test Bootstrap In Test Container run: | - bundle exec kitchen verify py3-stable-3003-ubuntu-2104 + bundle exec kitchen verify py3-stable-3003-ubuntu-2110 - name: Destroy Test Container if: always() run: | - bundle exec kitchen destroy py3-stable-3003-ubuntu-2104 + bundle exec kitchen destroy py3-stable-3003-ubuntu-2110 - py3-git-3003-ubuntu-2104: - name: Ubuntu 21.04 v3003 Py3 Git + py3-git-3003-ubuntu-2110: + name: Ubuntu 21.10 v3003 Py3 Git runs-on: ubuntu-latest timeout-minutes: 20 @@ -7254,20 +7254,20 @@ jobs: - name: Create Test Container run: | - bundle exec kitchen create py3-git-3003-ubuntu-2104 || bundle exec kitchen create py3-git-3003-ubuntu-2104 + bundle exec kitchen create py3-git-3003-ubuntu-2110 || bundle exec kitchen create py3-git-3003-ubuntu-2110 - name: Test Bootstrap In Test Container run: | - bundle exec kitchen verify py3-git-3003-ubuntu-2104 + bundle exec kitchen verify py3-git-3003-ubuntu-2110 - name: Destroy Test Container if: always() run: | - bundle exec kitchen destroy py3-git-3003-ubuntu-2104 + bundle exec kitchen destroy py3-git-3003-ubuntu-2110 - py3-stable-3003-0-ubuntu-2104: - name: Ubuntu 21.04 v3003.0 Py3 Stable + py3-stable-3003-0-ubuntu-2110: + name: Ubuntu 21.10 v3003.0 Py3 Stable runs-on: ubuntu-latest timeout-minutes: 20 @@ -7300,20 +7300,20 @@ jobs: - name: Create Test Container run: | - bundle exec kitchen create py3-stable-3003-0-ubuntu-2104 || bundle exec kitchen create py3-stable-3003-0-ubuntu-2104 + bundle exec kitchen create py3-stable-3003-0-ubuntu-2110 || bundle exec kitchen create py3-stable-3003-0-ubuntu-2110 - name: Test Bootstrap In Test Container run: | - bundle exec kitchen verify py3-stable-3003-0-ubuntu-2104 + bundle exec kitchen verify py3-stable-3003-0-ubuntu-2110 - name: Destroy Test Container if: always() run: | - bundle exec kitchen destroy py3-stable-3003-0-ubuntu-2104 + bundle exec kitchen destroy py3-stable-3003-0-ubuntu-2110 - py3-git-master-ubuntu-2104: - name: Ubuntu 21.04 Master Py3 Git + py3-git-master-ubuntu-2110: + name: Ubuntu 21.10 Master Py3 Git runs-on: ubuntu-latest timeout-minutes: 20 @@ -7346,20 +7346,20 @@ jobs: - name: Create Test Container run: | - bundle exec kitchen create py3-git-master-ubuntu-2104 || bundle exec kitchen create py3-git-master-ubuntu-2104 + bundle exec kitchen create py3-git-master-ubuntu-2110 || bundle exec kitchen create py3-git-master-ubuntu-2110 - name: Test Bootstrap In Test Container run: | - bundle exec kitchen verify py3-git-master-ubuntu-2104 + bundle exec kitchen verify py3-git-master-ubuntu-2110 - name: Destroy Test Container if: always() run: | - bundle exec kitchen destroy py3-git-master-ubuntu-2104 + bundle exec kitchen destroy py3-git-master-ubuntu-2110 - latest-ubuntu-2104: - name: Ubuntu 21.04 Latest packaged release + latest-ubuntu-2110: + name: Ubuntu 21.10 Latest packaged release runs-on: ubuntu-latest timeout-minutes: 20 @@ -7392,13 +7392,13 @@ jobs: - name: Create Test Container run: | - bundle exec kitchen create latest-ubuntu-2104 || bundle exec kitchen create latest-ubuntu-2104 + bundle exec kitchen create latest-ubuntu-2110 || bundle exec kitchen create latest-ubuntu-2110 - name: Test Bootstrap In Test Container run: | - bundle exec kitchen verify latest-ubuntu-2104 + bundle exec kitchen verify latest-ubuntu-2110 - name: Destroy Test Container if: always() run: | - bundle exec kitchen destroy latest-ubuntu-2104 + bundle exec kitchen destroy latest-ubuntu-2110 diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index e79b276..8602fdc 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -28,7 +28,7 @@ LINUX_DISTROS = [ "ubuntu-1604", "ubuntu-1804", "ubuntu-2004", - "ubuntu-2104", + "ubuntu-2110", ] OSX = WINDOWS = [] @@ -51,7 +51,7 @@ STABLE_DISTROS = [ "ubuntu-1604", "ubuntu-1804", "ubuntu-2004", - "ubuntu-2104", + "ubuntu-2110", ] BLACKLIST_3001 = [ @@ -59,7 +59,7 @@ BLACKLIST_3001 = [ "centos-stream8", "debian-11", "rockylinux-8", - "ubuntu-2104", + "ubuntu-2110", ] BLACKLIST_3001_0 = [ @@ -70,7 +70,7 @@ BLACKLIST_3001_0 = [ "gentoo", "gentoo-systemd", "rockylinux-8", - "ubuntu-2104", + "ubuntu-2110", ] BLACKLIST_3002 = [ @@ -87,7 +87,7 @@ BLACKLIST_3002_0 = [ "gentoo", "gentoo-systemd", "rockylinux-8", - "ubuntu-2104", + "ubuntu-2110", ] BLACKLIST_3003 = [ @@ -152,7 +152,7 @@ DISTRO_DISPLAY_NAMES = { "ubuntu-1604": "Ubuntu 16.04", "ubuntu-1804": "Ubuntu 18.04", "ubuntu-2004": "Ubuntu 20.04", - "ubuntu-2104": "Ubuntu 21.04", + "ubuntu-2110": "Ubuntu 21.10", } TIMEOUT_DEFAULT = 20 diff --git a/kitchen.yml b/kitchen.yml index 7a5750e..3d614ec 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -103,7 +103,7 @@ platforms: - name: rockylinux-8 driver: image: rockylinux/rockylinux - - name: ubuntu-21.04 + - name: ubuntu-21.10 driver: run_command: /lib/systemd/systemd - name: ubuntu-20.04 @@ -141,7 +141,7 @@ suites: - arch - gentoo - gentoo-systemd - - ubuntu-2104 + - ubuntu-2110 - freebsd-130 - freebsd-123 - openbsd-6 @@ -154,7 +154,7 @@ suites: - opensuse-15 - opensuse-tumbleweed - arch - - ubuntu-2104 + - ubuntu-2110 - freebsd-130 - freebsd-123 - openbsd-6 From 12f4afd9d19bb70487c4dd649a67ab696fe7514f Mon Sep 17 00:00:00 2001 From: krionbsd Date: Mon, 10 Jan 2022 09:56:28 +0100 Subject: [PATCH 032/113] Add CI for v3004 --- .github/workflows/kitchen.vagrant.yml | 3 + .github/workflows/kitchen.windows.yml | 2 + .github/workflows/main-branch-only.yml | 184 +++ .github/workflows/main.yml | 1978 +++++++++++++++++++++++ .github/workflows/templates/generate.py | 24 + kitchen.windows.yml | 3 + kitchen.yml | 29 + 7 files changed, 2223 insertions(+) diff --git a/.github/workflows/kitchen.vagrant.yml b/.github/workflows/kitchen.vagrant.yml index d22dfe1..62c9c71 100644 --- a/.github/workflows/kitchen.vagrant.yml +++ b/.github/workflows/kitchen.vagrant.yml @@ -50,6 +50,9 @@ jobs: - py3-git-3003-freebsd-130 - py3-git-3003-freebsd-123 # - py3-git-3003-openbsd-6 + - py3-git-3004-freebsd-130 + - py3-git-3004-freebsd-123 + # - py3-git-3004-openbsd-6 - py3-git-master-freebsd-130 - py3-git-master-freebsd-123 # - py3-git-master-openbsd-6 diff --git a/.github/workflows/kitchen.windows.yml b/.github/workflows/kitchen.windows.yml index 214173e..ba211cd 100644 --- a/.github/workflows/kitchen.windows.yml +++ b/.github/workflows/kitchen.windows.yml @@ -47,6 +47,7 @@ jobs: - py3-stable-3001-windows-2022 - py3-stable-3002-windows-2022 - py3-stable-3003-windows-2022 + - py3-stable-3004-windows-2022 - latest-windows-2022 steps: - name: 'Check out code' @@ -102,6 +103,7 @@ jobs: - py3-stable-3001-windows-2019 - py3-stable-3002-windows-2019 - py3-stable-3003-windows-2019 + - py3-stable-3004-windows-2019 - latest-windows-2019 steps: - name: 'Check out code' diff --git a/.github/workflows/main-branch-only.yml b/.github/workflows/main-branch-only.yml index aac06ef..fe72c9a 100644 --- a/.github/workflows/main-branch-only.yml +++ b/.github/workflows/main-branch-only.yml @@ -284,6 +284,98 @@ jobs: bundle exec kitchen destroy py3-git-3003-gentoo + py3-stable-3004-gentoo: + name: Gentoo v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 90 + + + + 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-3004-gentoo || bundle exec kitchen create py3-stable-3004-gentoo + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-gentoo + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-gentoo + + + py3-git-3004-gentoo: + name: Gentoo v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 90 + + + + 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-3004-gentoo || bundle exec kitchen create py3-git-3004-gentoo + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-gentoo + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-gentoo + + py3-git-master-gentoo: name: Gentoo Master Py3 Git runs-on: ubuntu-latest @@ -652,6 +744,98 @@ jobs: bundle exec kitchen destroy py3-git-3003-gentoo-systemd + py3-stable-3004-gentoo-systemd: + name: Gentoo (systemd) v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 90 + + + + 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-3004-gentoo-systemd || bundle exec kitchen create py3-stable-3004-gentoo-systemd + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-gentoo-systemd + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-gentoo-systemd + + + py3-git-3004-gentoo-systemd: + name: Gentoo (systemd) v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 90 + + + + 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-3004-gentoo-systemd || bundle exec kitchen create py3-git-3004-gentoo-systemd + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-gentoo-systemd + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-gentoo-systemd + + py3-git-master-gentoo-systemd: name: Gentoo (systemd) Master Py3 Git runs-on: ubuntu-latest diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3a169d3..6ac27cc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -182,6 +182,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-almalinux-8 + py3-stable-3004-almalinux-8: + name: AlmaLinux 8 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-almalinux-8 || bundle exec kitchen create py3-stable-3004-almalinux-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-almalinux-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-almalinux-8 + + + py3-git-3004-almalinux-8: + name: AlmaLinux 8 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-almalinux-8 || bundle exec kitchen create py3-git-3004-almalinux-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-almalinux-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-almalinux-8 + + + py3-stable-3004-0-almalinux-8: + name: AlmaLinux 8 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-almalinux-8 || bundle exec kitchen create py3-stable-3004-0-almalinux-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-almalinux-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-almalinux-8 + + py3-git-master-almalinux-8: name: AlmaLinux 8 Master Py3 Git runs-on: ubuntu-latest @@ -550,6 +688,98 @@ jobs: bundle exec kitchen destroy py3-git-3003-amazon-2 + py3-stable-3004-amazon-2: + name: Amazon 2 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-amazon-2 || bundle exec kitchen create py3-stable-3004-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-amazon-2 + + + py3-git-3004-amazon-2: + name: Amazon 2 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-amazon-2 || bundle exec kitchen create py3-git-3004-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-amazon-2 + + py3-git-master-amazon-2: name: Amazon 2 Master Py3 Git runs-on: ubuntu-latest @@ -1286,6 +1516,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-centos-7 + py3-stable-3004-centos-7: + name: CentOS 7 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-centos-7 || bundle exec kitchen create py3-stable-3004-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-centos-7 + + + py3-git-3004-centos-7: + name: CentOS 7 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-centos-7 || bundle exec kitchen create py3-git-3004-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-centos-7 + + + py3-stable-3004-0-centos-7: + name: CentOS 7 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-centos-7 || bundle exec kitchen create py3-stable-3004-0-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-centos-7 + + py3-git-master-centos-7: name: CentOS 7 Master Py3 Git runs-on: ubuntu-latest @@ -1792,6 +2160,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-centos-8 + py3-stable-3004-centos-8: + name: CentOS 8 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-centos-8 || bundle exec kitchen create py3-stable-3004-centos-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-centos-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-centos-8 + + + py3-git-3004-centos-8: + name: CentOS 8 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-centos-8 || bundle exec kitchen create py3-git-3004-centos-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-centos-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-centos-8 + + + py3-stable-3004-0-centos-8: + name: CentOS 8 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-centos-8 || bundle exec kitchen create py3-stable-3004-0-centos-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-centos-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-centos-8 + + py3-git-master-centos-8: name: CentOS 8 Master Py3 Git runs-on: ubuntu-latest @@ -2022,6 +2528,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-centos-stream8 + py3-stable-3004-centos-stream8: + name: CentOS Stream 8 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-centos-stream8 || bundle exec kitchen create py3-stable-3004-centos-stream8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-centos-stream8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-centos-stream8 + + + py3-git-3004-centos-stream8: + name: CentOS Stream 8 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-centos-stream8 || bundle exec kitchen create py3-git-3004-centos-stream8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-centos-stream8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-centos-stream8 + + + py3-stable-3004-0-centos-stream8: + name: CentOS Stream 8 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-centos-stream8 || bundle exec kitchen create py3-stable-3004-0-centos-stream8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-centos-stream8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-centos-stream8 + + py3-git-master-centos-stream8: name: CentOS Stream 8 Master Py3 Git runs-on: ubuntu-latest @@ -2528,6 +3172,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-debian-10 + py3-stable-3004-debian-10: + name: Debian 10 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-debian-10 || bundle exec kitchen create py3-stable-3004-debian-10 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-debian-10 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-debian-10 + + + py3-git-3004-debian-10: + name: Debian 10 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-debian-10 || bundle exec kitchen create py3-git-3004-debian-10 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-debian-10 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-debian-10 + + + py3-stable-3004-0-debian-10: + name: Debian 10 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-debian-10 || bundle exec kitchen create py3-stable-3004-0-debian-10 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-debian-10 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-debian-10 + + py3-git-master-debian-10: name: Debian 10 Master Py3 Git runs-on: ubuntu-latest @@ -2850,6 +3632,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-debian-11 + py3-stable-3004-debian-11: + name: Debian 11 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-debian-11 || bundle exec kitchen create py3-stable-3004-debian-11 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-debian-11 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-debian-11 + + + py3-git-3004-debian-11: + name: Debian 11 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-debian-11 || bundle exec kitchen create py3-git-3004-debian-11 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-debian-11 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-debian-11 + + + py3-stable-3004-0-debian-11: + name: Debian 11 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-debian-11 || bundle exec kitchen create py3-stable-3004-0-debian-11 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-debian-11 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-debian-11 + + py3-git-master-debian-11: name: Debian 11 Master Py3 Git runs-on: ubuntu-latest @@ -3356,6 +4276,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-debian-9 + py3-stable-3004-debian-9: + name: Debian 9 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-debian-9 || bundle exec kitchen create py3-stable-3004-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-debian-9 + + + py3-git-3004-debian-9: + name: Debian 9 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-debian-9 || bundle exec kitchen create py3-git-3004-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-debian-9 + + + py3-stable-3004-0-debian-9: + name: Debian 9 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-debian-9 || bundle exec kitchen create py3-stable-3004-0-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-debian-9 + + py3-git-master-debian-9: name: Debian 9 Master Py3 Git runs-on: ubuntu-latest @@ -3586,6 +4644,52 @@ jobs: bundle exec kitchen destroy py3-git-3003-fedora-33 + py3-git-3004-fedora-33: + name: Fedora 33 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-fedora-33 || bundle exec kitchen create py3-git-3004-fedora-33 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-fedora-33 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-fedora-33 + + py3-git-master-fedora-33: name: Fedora 33 Master Py3 Git runs-on: ubuntu-latest @@ -3816,6 +4920,52 @@ jobs: bundle exec kitchen destroy py3-git-3003-fedora-34 + py3-git-3004-fedora-34: + name: Fedora 34 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-fedora-34 || bundle exec kitchen create py3-git-3004-fedora-34 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-fedora-34 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-fedora-34 + + py3-git-master-fedora-34: name: Fedora 34 Master Py3 Git runs-on: ubuntu-latest @@ -4046,6 +5196,52 @@ jobs: bundle exec kitchen destroy py3-git-3003-fedora-35 + py3-git-3004-fedora-35: + name: Fedora 35 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-fedora-35 || bundle exec kitchen create py3-git-3004-fedora-35 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-fedora-35 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-fedora-35 + + py3-git-master-fedora-35: name: Fedora 35 Master Py3 Git runs-on: ubuntu-latest @@ -4276,6 +5472,52 @@ jobs: bundle exec kitchen destroy py3-git-3003-opensuse-15 + py3-git-3004-opensuse-15: + name: Opensuse 15 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-opensuse-15 || bundle exec kitchen create py3-git-3004-opensuse-15 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-opensuse-15 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-opensuse-15 + + py3-git-master-opensuse-15: name: Opensuse 15 Master Py3 Git runs-on: ubuntu-latest @@ -4506,6 +5748,52 @@ jobs: bundle exec kitchen destroy py3-git-3003-opensuse-tumbleweed + py3-git-3004-opensuse-tumbleweed: + name: Opensuse Tumbleweed v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-opensuse-tumbleweed || bundle exec kitchen create py3-git-3004-opensuse-tumbleweed + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-opensuse-tumbleweed + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-opensuse-tumbleweed + + py3-git-master-opensuse-tumbleweed: name: Opensuse Tumbleweed Master Py3 Git runs-on: ubuntu-latest @@ -5012,6 +6300,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-oraclelinux-7 + py3-stable-3004-oraclelinux-7: + name: Oracle Linux 7 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-oraclelinux-7 || bundle exec kitchen create py3-stable-3004-oraclelinux-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-oraclelinux-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-oraclelinux-7 + + + py3-git-3004-oraclelinux-7: + name: Oracle Linux 7 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-oraclelinux-7 || bundle exec kitchen create py3-git-3004-oraclelinux-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-oraclelinux-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-oraclelinux-7 + + + py3-stable-3004-0-oraclelinux-7: + name: Oracle Linux 7 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-oraclelinux-7 || bundle exec kitchen create py3-stable-3004-0-oraclelinux-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-oraclelinux-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-oraclelinux-7 + + py3-git-master-oraclelinux-7: name: Oracle Linux 7 Master Py3 Git runs-on: ubuntu-latest @@ -5518,6 +6944,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-oraclelinux-8 + py3-stable-3004-oraclelinux-8: + name: Oracle Linux 8 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-oraclelinux-8 || bundle exec kitchen create py3-stable-3004-oraclelinux-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-oraclelinux-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-oraclelinux-8 + + + py3-git-3004-oraclelinux-8: + name: Oracle Linux 8 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-oraclelinux-8 || bundle exec kitchen create py3-git-3004-oraclelinux-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-oraclelinux-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-oraclelinux-8 + + + py3-stable-3004-0-oraclelinux-8: + name: Oracle Linux 8 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-oraclelinux-8 || bundle exec kitchen create py3-stable-3004-0-oraclelinux-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-oraclelinux-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-oraclelinux-8 + + py3-git-master-oraclelinux-8: name: Oracle Linux 8 Master Py3 Git runs-on: ubuntu-latest @@ -6484,6 +8048,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-ubuntu-1804 + py3-stable-3004-ubuntu-1804: + name: Ubuntu 18.04 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-ubuntu-1804 || bundle exec kitchen create py3-stable-3004-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-ubuntu-1804 + + + py3-git-3004-ubuntu-1804: + name: Ubuntu 18.04 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-ubuntu-1804 || bundle exec kitchen create py3-git-3004-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-ubuntu-1804 + + + py3-stable-3004-0-ubuntu-1804: + name: Ubuntu 18.04 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-ubuntu-1804 || bundle exec kitchen create py3-stable-3004-0-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-ubuntu-1804 + + py3-git-master-ubuntu-1804: name: Ubuntu 18.04 Master Py3 Git runs-on: ubuntu-latest @@ -6990,6 +8692,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-ubuntu-2004 + py3-stable-3004-ubuntu-2004: + name: Ubuntu 20.04 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-ubuntu-2004 || bundle exec kitchen create py3-stable-3004-ubuntu-2004 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-ubuntu-2004 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-ubuntu-2004 + + + py3-git-3004-ubuntu-2004: + name: Ubuntu 20.04 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-ubuntu-2004 || bundle exec kitchen create py3-git-3004-ubuntu-2004 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-ubuntu-2004 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-ubuntu-2004 + + + py3-stable-3004-0-ubuntu-2004: + name: Ubuntu 20.04 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-ubuntu-2004 || bundle exec kitchen create py3-stable-3004-0-ubuntu-2004 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-ubuntu-2004 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-ubuntu-2004 + + py3-git-master-ubuntu-2004: name: Ubuntu 20.04 Master Py3 Git runs-on: ubuntu-latest @@ -7312,6 +9152,144 @@ jobs: bundle exec kitchen destroy py3-stable-3003-0-ubuntu-2110 + py3-stable-3004-ubuntu-2110: + name: Ubuntu 21.10 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-ubuntu-2110 || bundle exec kitchen create py3-stable-3004-ubuntu-2110 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-ubuntu-2110 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-ubuntu-2110 + + + py3-git-3004-ubuntu-2110: + name: Ubuntu 21.10 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-ubuntu-2110 || bundle exec kitchen create py3-git-3004-ubuntu-2110 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-ubuntu-2110 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-ubuntu-2110 + + + py3-stable-3004-0-ubuntu-2110: + name: Ubuntu 21.10 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-ubuntu-2110 || bundle exec kitchen create py3-stable-3004-0-ubuntu-2110 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-ubuntu-2110 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-ubuntu-2110 + + py3-git-master-ubuntu-2110: name: Ubuntu 21.10 Master Py3 Git runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 8602fdc..0082bb6 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -103,6 +103,21 @@ BLACKLIST_3003_0 = [ "ubuntu-1604", ] +BLACKLIST_3004 = [ + "rockylinux-8", + "ubuntu-1604", + "arch", +] + +BLACKLIST_3004_0 = [ + "amazon-2", + "gentoo", + "gentoo-systemd", + "rockylinux-8", + "ubuntu-1604", + "arch", +] + SALT_BRANCHES = [ "3001", "3001-0", @@ -110,6 +125,8 @@ SALT_BRANCHES = [ "3002-0", "3003", "3003-0", + "3004", + "3004-0", "master", "latest", ] @@ -121,6 +138,8 @@ BRANCH_DISPLAY_NAMES = { "3002-0": "v3002.0", "3003": "v3003", "3003-0": "v3003.0", + "3004": "v3004", + "3004-0": "v3004.0", "master": "Master", "latest": "Latest", } @@ -254,6 +273,11 @@ def generate_test_jobs(): if branch == "3003-0" and distro in BLACKLIST_3003_0: continue + if branch == "3004" and distro in BLACKLIST_3004: + continue + + if branch == "3004-0" and distro in BLACKLIST_3004_0: + continue if distro in LINUX_DISTROS: template = "linux.yml" elif distro in OSX: diff --git a/kitchen.windows.yml b/kitchen.windows.yml index 1ed2446..13fa86f 100644 --- a/kitchen.windows.yml +++ b/kitchen.windows.yml @@ -26,6 +26,9 @@ suites: - name: py3-stable-3003 provisioner: salt_version: 3003 + - name: py3-stable-3004 + provisioner: + salt_version: 3004 - name: latest provisioner: salt_version: latest diff --git a/kitchen.yml b/kitchen.yml index 3d614ec..bf59d09 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -129,6 +129,10 @@ suites: provisioner: salt_version: 3003 salt_bootstrap_options: -x python3 -MPfq git %s + - name: py3-git-3004 + provisioner: + salt_version: 3004 + salt_bootstrap_options: -x python3 -MPfq git %s - name: py3-stable-3001-0 provisioner: salt_version: 3001 @@ -209,6 +213,31 @@ suites: - freebsd-130 - freebsd-123 - openbsd-6 + - name: py3-stable-3004-0 + provisioner: + salt_version: 3004 + salt_bootstrap_options: -x python3 -MP stable 3004.0 + excludes: + - opensuse-15 + - opensuse-tumbleweed + - fedora-33 + - arch + - gentoo + - gentoo-systemd + - freebsd-130 + - freebsd-123 + - openbsd-6 + - name: py3-stable-3004 + provisioner: + salt_version: 3004 + salt_bootstrap_options: -x python3 -MP stable %s + excludes: + - opensuse-15 + - opensuse-tumbleweed + - arch + - freebsd-130 + - freebsd-123 + - openbsd-6 - name: py3-git-master provisioner: salt_version: master From a3ddd94f931a41bf57e571826b02a4adb24f0dab Mon Sep 17 00:00:00 2001 From: krionbsd Date: Tue, 11 Jan 2022 09:18:03 +0100 Subject: [PATCH 033/113] Remove 3001 from CI: EoL --- .github/workflows/kitchen.vagrant.yml | 3 - .github/workflows/kitchen.windows.yml | 2 - .github/workflows/main-branch-only.yml | 184 --- .github/workflows/main.yml | 1610 ----------------------- .github/workflows/templates/generate.py | 31 +- kitchen.windows.yml | 3 - kitchen.yml | 33 - 7 files changed, 1 insertion(+), 1865 deletions(-) diff --git a/.github/workflows/kitchen.vagrant.yml b/.github/workflows/kitchen.vagrant.yml index 62c9c71..71fab7a 100644 --- a/.github/workflows/kitchen.vagrant.yml +++ b/.github/workflows/kitchen.vagrant.yml @@ -41,9 +41,6 @@ jobs: fail-fast: false matrix: instance: - - py3-git-3001-freebsd-130 - - py3-git-3001-freebsd-123 - # - py3-git-3001-openbsd-6 - py3-git-3002-freebsd-130 - py3-git-3002-freebsd-123 # - py3-git-3002-openbsd-6 diff --git a/.github/workflows/kitchen.windows.yml b/.github/workflows/kitchen.windows.yml index ba211cd..572806e 100644 --- a/.github/workflows/kitchen.windows.yml +++ b/.github/workflows/kitchen.windows.yml @@ -44,7 +44,6 @@ jobs: fail-fast: false matrix: instance: - - py3-stable-3001-windows-2022 - py3-stable-3002-windows-2022 - py3-stable-3003-windows-2022 - py3-stable-3004-windows-2022 @@ -100,7 +99,6 @@ jobs: fail-fast: false matrix: instance: - - py3-stable-3001-windows-2019 - py3-stable-3002-windows-2019 - py3-stable-3003-windows-2019 - py3-stable-3004-windows-2019 diff --git a/.github/workflows/main-branch-only.yml b/.github/workflows/main-branch-only.yml index fe72c9a..2f8c437 100644 --- a/.github/workflows/main-branch-only.yml +++ b/.github/workflows/main-branch-only.yml @@ -8,98 +8,6 @@ on: [push] jobs: - py3-stable-3001-gentoo: - name: Gentoo v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3001-gentoo || bundle exec kitchen create py3-stable-3001-gentoo - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-gentoo - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-gentoo - - - py3-git-3001-gentoo: - name: Gentoo v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3001-gentoo || bundle exec kitchen create py3-git-3001-gentoo - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-gentoo - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-gentoo - - py3-stable-3002-gentoo: name: Gentoo v3002 Py3 Stable runs-on: ubuntu-latest @@ -468,98 +376,6 @@ jobs: bundle exec kitchen destroy latest-gentoo - py3-stable-3001-gentoo-systemd: - name: Gentoo (systemd) v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3001-gentoo-systemd || bundle exec kitchen create py3-stable-3001-gentoo-systemd - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-gentoo-systemd - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-gentoo-systemd - - - py3-git-3001-gentoo-systemd: - name: Gentoo (systemd) v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3001-gentoo-systemd || bundle exec kitchen create py3-git-3001-gentoo-systemd - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-gentoo-systemd - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-gentoo-systemd - - py3-stable-3002-gentoo-systemd: name: Gentoo (systemd) v3002 Py3 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6ac27cc..acdfafd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -412,98 +412,6 @@ jobs: bundle exec kitchen destroy latest-almalinux-8 - py3-stable-3001-amazon-2: - name: Amazon 2 v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-amazon-2 || bundle exec kitchen create py3-stable-3001-amazon-2 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-amazon-2 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-amazon-2 - - - py3-git-3001-amazon-2: - name: Amazon 2 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-amazon-2 || bundle exec kitchen create py3-git-3001-amazon-2 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-amazon-2 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-amazon-2 - - py3-stable-3002-amazon-2: name: Amazon 2 v3002 Py3 Stable runs-on: ubuntu-latest @@ -872,52 +780,6 @@ jobs: bundle exec kitchen destroy latest-amazon-2 - py3-git-3001-arch: - name: Arch v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-arch || bundle exec kitchen create py3-git-3001-arch - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-arch - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-arch - - py3-git-3002-arch: name: Arch v3002 Py3 Git runs-on: ubuntu-latest @@ -1102,144 +964,6 @@ jobs: bundle exec kitchen destroy latest-arch - py3-stable-3001-centos-7: - name: CentOS 7 v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-centos-7 || bundle exec kitchen create py3-stable-3001-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-centos-7 - - - py3-git-3001-centos-7: - name: CentOS 7 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-centos-7 || bundle exec kitchen create py3-git-3001-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-centos-7 - - - py3-stable-3001-0-centos-7: - name: CentOS 7 v3001.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-0-centos-7 || bundle exec kitchen create py3-stable-3001-0-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-0-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-0-centos-7 - - py3-stable-3002-centos-7: name: CentOS 7 v3002 Py3 Stable runs-on: ubuntu-latest @@ -1746,144 +1470,6 @@ jobs: bundle exec kitchen destroy latest-centos-7 - py3-stable-3001-centos-8: - name: CentOS 8 v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-centos-8 || bundle exec kitchen create py3-stable-3001-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-centos-8 - - - py3-git-3001-centos-8: - name: CentOS 8 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-centos-8 || bundle exec kitchen create py3-git-3001-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-centos-8 - - - py3-stable-3001-0-centos-8: - name: CentOS 8 v3001.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-0-centos-8 || bundle exec kitchen create py3-stable-3001-0-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-0-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-0-centos-8 - - py3-stable-3002-centos-8: name: CentOS 8 v3002 Py3 Stable runs-on: ubuntu-latest @@ -2758,144 +2344,6 @@ jobs: bundle exec kitchen destroy latest-centos-stream8 - py3-stable-3001-debian-10: - name: Debian 10 v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-debian-10 || bundle exec kitchen create py3-stable-3001-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-debian-10 - - - py3-git-3001-debian-10: - name: Debian 10 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-debian-10 || bundle exec kitchen create py3-git-3001-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-debian-10 - - - py3-stable-3001-0-debian-10: - name: Debian 10 v3001.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-0-debian-10 || bundle exec kitchen create py3-stable-3001-0-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-0-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-0-debian-10 - - py3-stable-3002-debian-10: name: Debian 10 v3002 Py3 Stable runs-on: ubuntu-latest @@ -3862,144 +3310,6 @@ jobs: bundle exec kitchen destroy latest-debian-11 - py3-stable-3001-debian-9: - name: Debian 9 v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-debian-9 || bundle exec kitchen create py3-stable-3001-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-debian-9 - - - py3-git-3001-debian-9: - name: Debian 9 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-debian-9 || bundle exec kitchen create py3-git-3001-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-debian-9 - - - py3-stable-3001-0-debian-9: - name: Debian 9 v3001.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-0-debian-9 || bundle exec kitchen create py3-stable-3001-0-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-0-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-0-debian-9 - - py3-stable-3002-debian-9: name: Debian 9 v3002 Py3 Stable runs-on: ubuntu-latest @@ -4506,52 +3816,6 @@ jobs: bundle exec kitchen destroy latest-debian-9 - py3-git-3001-fedora-33: - name: Fedora 33 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-fedora-33 || bundle exec kitchen create py3-git-3001-fedora-33 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-fedora-33 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-fedora-33 - - py3-git-3002-fedora-33: name: Fedora 33 v3002 Py3 Git runs-on: ubuntu-latest @@ -4782,52 +4046,6 @@ jobs: bundle exec kitchen destroy latest-fedora-33 - py3-git-3001-fedora-34: - name: Fedora 34 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-fedora-34 || bundle exec kitchen create py3-git-3001-fedora-34 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-fedora-34 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-fedora-34 - - py3-git-3002-fedora-34: name: Fedora 34 v3002 Py3 Git runs-on: ubuntu-latest @@ -5058,52 +4276,6 @@ jobs: bundle exec kitchen destroy latest-fedora-34 - py3-git-3001-fedora-35: - name: Fedora 35 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-fedora-35 || bundle exec kitchen create py3-git-3001-fedora-35 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-fedora-35 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-fedora-35 - - py3-git-3002-fedora-35: name: Fedora 35 v3002 Py3 Git runs-on: ubuntu-latest @@ -5334,52 +4506,6 @@ jobs: bundle exec kitchen destroy latest-fedora-35 - py3-git-3001-opensuse-15: - name: Opensuse 15 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-opensuse-15 || bundle exec kitchen create py3-git-3001-opensuse-15 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-opensuse-15 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-opensuse-15 - - py3-git-3002-opensuse-15: name: Opensuse 15 v3002 Py3 Git runs-on: ubuntu-latest @@ -5610,52 +4736,6 @@ jobs: bundle exec kitchen destroy latest-opensuse-15 - py3-git-3001-opensuse-tumbleweed: - name: Opensuse Tumbleweed v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-opensuse-tumbleweed || bundle exec kitchen create py3-git-3001-opensuse-tumbleweed - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-opensuse-tumbleweed - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-opensuse-tumbleweed - - py3-git-3002-opensuse-tumbleweed: name: Opensuse Tumbleweed v3002 Py3 Git runs-on: ubuntu-latest @@ -5886,144 +4966,6 @@ jobs: bundle exec kitchen destroy latest-opensuse-tumbleweed - py3-stable-3001-oraclelinux-7: - name: Oracle Linux 7 v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-oraclelinux-7 || bundle exec kitchen create py3-stable-3001-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-oraclelinux-7 - - - py3-git-3001-oraclelinux-7: - name: Oracle Linux 7 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-oraclelinux-7 || bundle exec kitchen create py3-git-3001-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-oraclelinux-7 - - - py3-stable-3001-0-oraclelinux-7: - name: Oracle Linux 7 v3001.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-0-oraclelinux-7 || bundle exec kitchen create py3-stable-3001-0-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-0-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-0-oraclelinux-7 - - py3-stable-3002-oraclelinux-7: name: Oracle Linux 7 v3002 Py3 Stable runs-on: ubuntu-latest @@ -6530,144 +5472,6 @@ jobs: bundle exec kitchen destroy latest-oraclelinux-7 - py3-stable-3001-oraclelinux-8: - name: Oracle Linux 8 v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-oraclelinux-8 || bundle exec kitchen create py3-stable-3001-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-oraclelinux-8 - - - py3-git-3001-oraclelinux-8: - name: Oracle Linux 8 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-oraclelinux-8 || bundle exec kitchen create py3-git-3001-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-oraclelinux-8 - - - py3-stable-3001-0-oraclelinux-8: - name: Oracle Linux 8 v3001.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-0-oraclelinux-8 || bundle exec kitchen create py3-stable-3001-0-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-0-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-0-oraclelinux-8 - - py3-stable-3002-oraclelinux-8: name: Oracle Linux 8 v3002 Py3 Stable runs-on: ubuntu-latest @@ -7266,144 +6070,6 @@ jobs: bundle exec kitchen destroy latest-rockylinux-8 - py3-stable-3001-ubuntu-1604: - name: Ubuntu 16.04 v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-ubuntu-1604 || bundle exec kitchen create py3-stable-3001-ubuntu-1604 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-ubuntu-1604 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-ubuntu-1604 - - - py3-git-3001-ubuntu-1604: - name: Ubuntu 16.04 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-ubuntu-1604 || bundle exec kitchen create py3-git-3001-ubuntu-1604 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-ubuntu-1604 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-ubuntu-1604 - - - py3-stable-3001-0-ubuntu-1604: - name: Ubuntu 16.04 v3001.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-0-ubuntu-1604 || bundle exec kitchen create py3-stable-3001-0-ubuntu-1604 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-0-ubuntu-1604 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-0-ubuntu-1604 - - py3-stable-3002-ubuntu-1604: name: Ubuntu 16.04 v3002 Py3 Stable runs-on: ubuntu-latest @@ -7634,144 +6300,6 @@ jobs: bundle exec kitchen destroy latest-ubuntu-1604 - py3-stable-3001-ubuntu-1804: - name: Ubuntu 18.04 v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-ubuntu-1804 || bundle exec kitchen create py3-stable-3001-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-ubuntu-1804 - - - py3-git-3001-ubuntu-1804: - name: Ubuntu 18.04 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-ubuntu-1804 || bundle exec kitchen create py3-git-3001-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-ubuntu-1804 - - - py3-stable-3001-0-ubuntu-1804: - name: Ubuntu 18.04 v3001.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-0-ubuntu-1804 || bundle exec kitchen create py3-stable-3001-0-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-0-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-0-ubuntu-1804 - - py3-stable-3002-ubuntu-1804: name: Ubuntu 18.04 v3002 Py3 Stable runs-on: ubuntu-latest @@ -8278,144 +6806,6 @@ jobs: bundle exec kitchen destroy latest-ubuntu-1804 - py3-stable-3001-ubuntu-2004: - name: Ubuntu 20.04 v3001 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-ubuntu-2004 || bundle exec kitchen create py3-stable-3001-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-ubuntu-2004 - - - py3-git-3001-ubuntu-2004: - name: Ubuntu 20.04 v3001 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-ubuntu-2004 || bundle exec kitchen create py3-git-3001-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3001-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3001-ubuntu-2004 - - - py3-stable-3001-0-ubuntu-2004: - name: Ubuntu 20.04 v3001.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3001-0-ubuntu-2004 || bundle exec kitchen create py3-stable-3001-0-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3001-0-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3001-0-ubuntu-2004 - - py3-stable-3002-ubuntu-2004: name: Ubuntu 20.04 v3002 Py3 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 0082bb6..e7eb00b 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -54,25 +54,6 @@ STABLE_DISTROS = [ "ubuntu-2110", ] -BLACKLIST_3001 = [ - "almalinux-8", - "centos-stream8", - "debian-11", - "rockylinux-8", - "ubuntu-2110", -] - -BLACKLIST_3001_0 = [ - "almalinux-8", - "amazon-2", - "centos-stream8", - "debian-11", - "gentoo", - "gentoo-systemd", - "rockylinux-8", - "ubuntu-2110", -] - BLACKLIST_3002 = [ "almalinux-8", "centos-stream8", @@ -119,8 +100,6 @@ BLACKLIST_3004_0 = [ ] SALT_BRANCHES = [ - "3001", - "3001-0", "3002", "3002-0", "3003", @@ -132,8 +111,6 @@ SALT_BRANCHES = [ ] BRANCH_DISPLAY_NAMES = { - "3001": "v3001", - "3001-0": "v3001.0", "3002": "v3002", "3002-0": "v3002.0", "3003": "v3003", @@ -251,16 +228,10 @@ def generate_test_jobs(): continue if bootstrap_type == "git": - # .0 versions are a virtual version for pinning to the first point release of a major release, such as 3001, there is no git version. + # .0 versions are a virtual version for pinning to the first point release of a major release, such as 3002, there is no git version. if branch.endswith("-0"): continue - if branch == "3001" and distro in BLACKLIST_3001: - continue - - if branch == "3001-0" and distro in BLACKLIST_3001_0: - continue - if branch == "3002" and distro in BLACKLIST_3002: continue diff --git a/kitchen.windows.yml b/kitchen.windows.yml index 13fa86f..b858f60 100644 --- a/kitchen.windows.yml +++ b/kitchen.windows.yml @@ -17,9 +17,6 @@ platforms: - name: windows-2019 suites: - - name: py3-stable-3001 - provisioner: - salt_version: 3001.7 - name: py3-stable-3002 provisioner: salt_version: 3002 diff --git a/kitchen.yml b/kitchen.yml index bf59d09..4c798b5 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -117,10 +117,6 @@ platforms: run_command: /lib/systemd/systemd suites: - - name: py3-git-3001 - provisioner: - salt_version: 3001 - salt_bootstrap_options: -x python3 -MPfq git %s - name: py3-git-3002 provisioner: salt_version: 3002 @@ -133,35 +129,6 @@ suites: provisioner: salt_version: 3004 salt_bootstrap_options: -x python3 -MPfq git %s - - name: py3-stable-3001-0 - provisioner: - salt_version: 3001 - salt_bootstrap_options: -x python3 -MP stable 3001.0 - excludes: - - opensuse-15 - - opensuse-tumbleweed - - debian-11 - - fedora-33 - - arch - - gentoo - - gentoo-systemd - - ubuntu-2110 - - freebsd-130 - - freebsd-123 - - openbsd-6 - - name: py3-stable-3001 - provisioner: - salt_version: 3001 - salt_bootstrap_options: -x python3 -MP stable %s - excludes: - - debian-11 - - opensuse-15 - - opensuse-tumbleweed - - arch - - ubuntu-2110 - - freebsd-130 - - freebsd-123 - - openbsd-6 - name: py3-stable-3002-0 provisioner: salt_version: 3002 From 46fb1f492f2939ae7464e8b2dfc8db8df7c053b7 Mon Sep 17 00:00:00 2001 From: Dafydd Jones Date: Tue, 18 Jan 2022 13:23:23 +0000 Subject: [PATCH 034/113] fix(windows): copy configs to correct config dirs (v3004+) --- bootstrap-salt.ps1 | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/bootstrap-salt.ps1 b/bootstrap-salt.ps1 index 0282121..fb6e22a 100644 --- a/bootstrap-salt.ps1 +++ b/bootstrap-salt.ps1 @@ -186,6 +186,15 @@ Else { $ConfiguredAnything = $False +$SaltRegKey = "HKLM:\SOFTWARE\Salt Project\Salt" +$RootDir = If ((Get-ItemProperty $SaltRegKey).root_dir -ne $null) { + (Get-ItemProperty $SaltRegKey).root_dir +} Else { + "C:\salt" +} +$ConfDir = "$RootDir\conf" +$PkiDir = "$ConfDir\pki\minion" + # Create C:\tmp\ New-Item C:\tmp\ -ItemType directory -Force | Out-Null @@ -193,9 +202,9 @@ New-Item C:\tmp\ -ItemType directory -Force | Out-Null # in C:\tmp # Check if minion keys have been uploaded, copy to correct location If (Test-Path C:\tmp\minion.pem) { - New-Item C:\salt\conf\pki\minion\ -ItemType Directory -Force | Out-Null - Copy-Item -Path C:\tmp\minion.pem -Destination C:\salt\conf\pki\minion\ -Force | Out-Null - Copy-Item -Path C:\tmp\minion.pub -Destination C:\salt\conf\pki\minion\ -Force | Out-Null + New-Item $PkiDir -ItemType Directory -Force | Out-Null + Copy-Item -Path C:\tmp\minion.pem -Destination $PkiDir -Force | Out-Null + Copy-Item -Path C:\tmp\minion.pub -Destination $PkiDir -Force | Out-Null $ConfiguredAnything = $True } @@ -203,15 +212,15 @@ If (Test-Path C:\tmp\minion.pem) { # This should be done before the installer is run so that it can be updated with # id: and master: settings when the installer runs If (Test-Path C:\tmp\minion) { - New-Item C:\salt\conf\ -ItemType Directory -Force | Out-Null - Copy-Item -Path C:\tmp\minion -Destination C:\salt\conf\ -Force | Out-Null + New-Item $ConfDir -ItemType Directory -Force | Out-Null + Copy-Item -Path C:\tmp\minion -Destination $ConfDir -Force | Out-Null $ConfiguredAnything = $True } # Check if grains config has been uploaded If (Test-Path C:\tmp\grains) { - New-Item C:\salt\conf\ -ItemType Directory -Force | Out-Null - Copy-Item -Path C:\tmp\grains -Destination C:\salt\conf\ -Force | Out-Null + New-Item $ConfDir -ItemType Directory -Force | Out-Null + Copy-Item -Path C:\tmp\grains -Destination $ConfDir -Force | Out-Null $ConfiguredAnything = $True } From 3ebc4c72f0406da2156144a1f76ba5ac0d147a02 Mon Sep 17 00:00:00 2001 From: Joseph Pacura Date: Fri, 21 Jan 2022 17:40:27 -0500 Subject: [PATCH 035/113] Use native repositories for Debian 11 Remove best-effort support for Debian Testing Remove Ubuntu 20.10 support because it is end-of-life --- .github/workflows/main.yml | 230 ------------------------ .github/workflows/templates/generate.py | 3 + README.rst | 18 +- bootstrap-salt.sh | 17 +- 4 files changed, 12 insertions(+), 256 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index acdfafd..344bdf0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2850,236 +2850,6 @@ jobs: bundle exec kitchen destroy latest-debian-10 - py3-stable-3002-debian-11: - name: Debian 11 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-debian-11 || bundle exec kitchen create py3-stable-3002-debian-11 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-debian-11 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-debian-11 - - - py3-git-3002-debian-11: - name: Debian 11 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-debian-11 || bundle exec kitchen create py3-git-3002-debian-11 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-debian-11 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-debian-11 - - - py3-stable-3003-debian-11: - name: Debian 11 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-debian-11 || bundle exec kitchen create py3-stable-3003-debian-11 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-debian-11 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-debian-11 - - - py3-git-3003-debian-11: - name: Debian 11 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-debian-11 || bundle exec kitchen create py3-git-3003-debian-11 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-debian-11 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-debian-11 - - - py3-stable-3003-0-debian-11: - name: Debian 11 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-debian-11 || bundle exec kitchen create py3-stable-3003-0-debian-11 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-debian-11 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-debian-11 - - py3-stable-3004-debian-11: name: Debian 11 v3004 Py3 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index e7eb00b..6648b9f 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -58,6 +58,7 @@ BLACKLIST_3002 = [ "almalinux-8", "centos-stream8", "rockylinux-8", + "debian-11", ] BLACKLIST_3002_0 = [ @@ -74,6 +75,7 @@ BLACKLIST_3002_0 = [ BLACKLIST_3003 = [ "rockylinux-8", "ubuntu-1604", + "debian-11", ] BLACKLIST_3003_0 = [ @@ -82,6 +84,7 @@ BLACKLIST_3003_0 = [ "gentoo-systemd", "rockylinux-8", "ubuntu-1604", + "debian-11" ] BLACKLIST_3004 = [ diff --git a/README.rst b/README.rst index ff0b33d..5c68fb6 100644 --- a/README.rst +++ b/README.rst @@ -440,24 +440,12 @@ Debian and derivatives ~~~~~~~~~~~~~~~~~~~~~~ - Cumulus Linux 2/3 -- Debian GNU/Linux 7/8/9/10 +- Debian GNU/Linux 9/10/11 - Devuan GNU/Linux 1/2 - Kali Linux 1.0 (based on Debian 7) - Linux Mint Debian Edition 1 (based on Debian 8) - Raspbian 8 (``armhf`` packages) and 9 (using ``git`` installation mode only) -Debian Best Effort Support: Testing Release -******************************************* - -This script provides best-effort support for the upcoming Debian testing release. Package -repositories are not provided on `SaltStack's Debian repository`_ for Debian testing releases. -However, the bootstrap script will attempt to install the packages for the current stable -version of Debian. - -For example, when installing Salt on Debian 11 (Bullseye), the bootstrap script will setup the -repository for Debian 10 (Buster) from `SaltStack's Debian repository`_ and install the -Debian 10 packages. - Red Hat family ~~~~~~~~~~~~~~ @@ -504,7 +492,7 @@ repositories are not provided on `SaltStack's Ubuntu repository`_ for the non-LT bootstrap script will attempt to install the packages for the most closely related LTS Ubuntu release instead. -For example, when installing Salt on Ubuntu 20.10, the bootstrap script will setup the repository +For example, when installing Salt on Ubuntu 21.10, the bootstrap script will setup the repository for Ubuntu 20.04 from `SaltStack's Ubuntu repository`_ and install the 20.04 packages. Non-LTS Ubuntu releases are not supported once the release reaches End-of-Life as defined by @@ -572,9 +560,11 @@ this offering, while limited, is as follows: - Centos 8 - Debian 9 - Debian 10 +- Debian 11 - Fedora (only git installations) - Ubuntu 16.04 - Ubuntu 18.04 +- Ubuntu 20.04 On Fedora, PIP installation must be allowed (-P) due to incompatibility with the shipped Tornado library. diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 6a9168a..6d9d5ba 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -1591,11 +1591,13 @@ __check_end_of_life_versions() { # = 17.04, 17.10 # = 18.10 # = 19.04, 19.10 + # = 20.10 if [ "$DISTRO_MAJOR_VERSION" -lt 16 ] || \ [ "$DISTRO_MAJOR_VERSION" -eq 17 ] || \ [ "$DISTRO_MAJOR_VERSION" -eq 19 ] || \ { [ "$DISTRO_MAJOR_VERSION" -eq 16 ] && [ "$DISTRO_MINOR_VERSION" -eq 10 ]; } || \ - { [ "$DISTRO_MAJOR_VERSION" -eq 18 ] && [ "$DISTRO_MINOR_VERSION" -eq 10 ]; }; then + { [ "$DISTRO_MAJOR_VERSION" -eq 18 ] && [ "$DISTRO_MINOR_VERSION" -eq 10 ]; } || \ + { [ "$DISTRO_MAJOR_VERSION" -eq 20 ] && [ "$DISTRO_MINOR_VERSION" -eq 10 ]; }; then echoerror "End of life distributions are not supported." echoerror "Please consider upgrading to the next stable. See:" echoerror " https://wiki.ubuntu.com/Releases" @@ -3350,17 +3352,8 @@ install_ubuntu_check_services() { # Debian Install Functions # __install_saltstack_debian_repository() { - if [ "$DISTRO_MAJOR_VERSION" -eq 11 ]; then - # Packages for Debian 11 at repo.saltproject.io are not yet available - # Set up repository for Debian 10 for Debian 11 for now until support - # is available at repo.saltproject.io for Debian 11. - echowarn "Debian 11 distribution detected, but stable packages requested. Trying packages from Debian 10. You may experience problems." - DEBIAN_RELEASE="10" - DEBIAN_CODENAME="buster" - else - DEBIAN_RELEASE="$DISTRO_MAJOR_VERSION" - DEBIAN_CODENAME="$DISTRO_CODENAME" - fi + DEBIAN_RELEASE="$DISTRO_MAJOR_VERSION" + DEBIAN_CODENAME="$DISTRO_CODENAME" __PY_VERSION_REPO="apt" if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then From 561b14618ad4328dc2e4d0b96fa03cbcdb22f4b8 Mon Sep 17 00:00:00 2001 From: delucks Date: Sun, 13 Feb 2022 12:59:23 -0500 Subject: [PATCH 036/113] OpenBSD: correct post-Neon package names to python3 versions --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 6d9d5ba..a739d32 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -6010,7 +6010,7 @@ install_openbsd_git_deps() { __git_clone_and_checkout || return 1 if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then - pkg_add -I -v py-pip py-setuptools + pkg_add -I -v py3-pip py3-setuptools fi # From 13a60f400b139883d4620070d471e3e57e110522 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 26 Feb 2022 09:11:49 +0000 Subject: [PATCH 037/113] feat(bootstrap-salt): add AlmaLinux detection and functions Fix #1803. --- bootstrap-salt.sh | 72 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 68 insertions(+), 4 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 6d9d5ba..f01e4b0 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -945,7 +945,7 @@ __strip_duplicates() { __sort_release_files() { KNOWN_RELEASE_FILES=$(echo "(arch|alpine|centos|debian|ubuntu|fedora|redhat|suse|\ mandrake|mandriva|gentoo|slackware|turbolinux|unitedlinux|void|lsb|system|\ - oracle|os)(-|_)(release|version)" | sed -E 's:[[:space:]]::g') + oracle|os|almalinux)(-|_)(release|version)" | sed -E 's:[[:space:]]::g') primary_release_files="" secondary_release_files="" # Sort know VS un-known files first @@ -959,7 +959,7 @@ __sort_release_files() { done # Now let's sort by know files importance, max important goes last in the max_prio list - max_prio="redhat-release centos-release oracle-release fedora-release" + max_prio="redhat-release centos-release oracle-release fedora-release almalinux-release" for entry in $max_prio; do if [ "$(echo "${primary_release_files}" | grep "$entry")" != "" ]; then primary_release_files=$(echo "${primary_release_files}" | sed -e "s:\\(.*\\)\\($entry\\)\\(.*\\):\\2 \\1 \\3:g") @@ -1086,6 +1086,7 @@ __gather_linux_system_info() { unitedlinux ) n="UnitedLinux" ;; void ) n="VoidLinux" ;; oracle ) n="Oracle Linux" ;; + almalinux ) n="AlmaLinux" ;; system ) while read -r line; do [ "${n}x" != "systemx" ] && break @@ -1815,14 +1816,14 @@ elif [ "${DISTRO_NAME_L}" = "debian" ]; then __debian_codename_translation fi -if [ "$(echo "${DISTRO_NAME_L}" | grep -E '(debian|ubuntu|centos|gentoo|red_hat|oracle|scientific|amazon|fedora|macosx)')" = "" ] && [ "$ITYPE" = "stable" ] && [ "$STABLE_REV" != "latest" ]; then +if [ "$(echo "${DISTRO_NAME_L}" | grep -E '(debian|ubuntu|centos|gentoo|red_hat|oracle|scientific|amazon|fedora|macosx|almalinux)')" = "" ] && [ "$ITYPE" = "stable" ] && [ "$STABLE_REV" != "latest" ]; then echoerror "${DISTRO_NAME} does not have major version pegged packages support" exit 1 fi # Only RedHat based distros have testing support if [ "${ITYPE}" = "testing" ]; then - if [ "$(echo "${DISTRO_NAME_L}" | grep -E '(centos|red_hat|amazon|oracle)')" = "" ]; then + if [ "$(echo "${DISTRO_NAME_L}" | grep -E '(centos|red_hat|amazon|oracle|almalinux)')" = "" ]; then echoerror "${DISTRO_NAME} does not have testing packages support" exit 1 fi @@ -4848,6 +4849,69 @@ install_oracle_linux_check_services() { # ####################################################################################################################### +####################################################################################################################### +# +# AlmaLinux Install Functions +# +install_almalinux_stable_deps() { + install_centos_stable_deps || return 1 + return 0 +} + +install_almalinux_git_deps() { + install_centos_git_deps || return 1 + return 0 +} + +install_almalinux_testing_deps() { + install_centos_testing_deps || return 1 + return 0 +} + +install_almalinux_stable() { + install_centos_stable || return 1 + return 0 +} + +install_almalinux_git() { + install_centos_git || return 1 + return 0 +} + +install_almalinux_testing() { + install_centos_testing || return 1 + return 0 +} + +install_almalinux_stable_post() { + install_centos_stable_post || return 1 + return 0 +} + +install_almalinux_git_post() { + install_centos_git_post || return 1 + return 0 +} + +install_almalinux_testing_post() { + install_centos_testing_post || return 1 + return 0 +} + +install_almalinux_restart_daemons() { + install_centos_restart_daemons || return 1 + return 0 +} + +install_almalinux_check_services() { + install_centos_check_services || return 1 + return 0 +} +# +# Ended AlmaLinux Install Functions +# +####################################################################################################################### + ####################################################################################################################### # # Scientific Linux Install Functions From 2f0fe6bcd5932746cf5b5cb99819d09a2fe52ba1 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 26 Feb 2022 09:14:00 +0000 Subject: [PATCH 038/113] feat(bootstrap-salt): add Rocky Linux detection and functions Fix #1803. --- bootstrap-salt.sh | 74 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 70 insertions(+), 4 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index f01e4b0..b6c7359 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -945,7 +945,7 @@ __strip_duplicates() { __sort_release_files() { KNOWN_RELEASE_FILES=$(echo "(arch|alpine|centos|debian|ubuntu|fedora|redhat|suse|\ mandrake|mandriva|gentoo|slackware|turbolinux|unitedlinux|void|lsb|system|\ - oracle|os|almalinux)(-|_)(release|version)" | sed -E 's:[[:space:]]::g') + oracle|os|almalinux|rocky)(-|_)(release|version)" | sed -E 's:[[:space:]]::g') primary_release_files="" secondary_release_files="" # Sort know VS un-known files first @@ -959,7 +959,7 @@ __sort_release_files() { done # Now let's sort by know files importance, max important goes last in the max_prio list - max_prio="redhat-release centos-release oracle-release fedora-release almalinux-release" + max_prio="redhat-release centos-release oracle-release fedora-release almalinux-release rocky-release" for entry in $max_prio; do if [ "$(echo "${primary_release_files}" | grep "$entry")" != "" ]; then primary_release_files=$(echo "${primary_release_files}" | sed -e "s:\\(.*\\)\\($entry\\)\\(.*\\):\\2 \\1 \\3:g") @@ -1028,6 +1028,8 @@ __gather_linux_system_info() { elif [ "${DISTRO_NAME}" = "Arch" ]; then DISTRO_NAME="Arch Linux" return + elif [ "${DISTRO_NAME}" = "Rocky" ]; then + DISTRO_NAME="Rocky Linux" fi rv=$(lsb_release -sr) [ "${rv}" != "" ] && DISTRO_VERSION=$(__parse_version_string "$rv") @@ -1087,6 +1089,7 @@ __gather_linux_system_info() { void ) n="VoidLinux" ;; oracle ) n="Oracle Linux" ;; almalinux ) n="AlmaLinux" ;; + rocky ) n="Rocky Linux" ;; system ) while read -r line; do [ "${n}x" != "systemx" ] && break @@ -1816,14 +1819,14 @@ elif [ "${DISTRO_NAME_L}" = "debian" ]; then __debian_codename_translation fi -if [ "$(echo "${DISTRO_NAME_L}" | grep -E '(debian|ubuntu|centos|gentoo|red_hat|oracle|scientific|amazon|fedora|macosx|almalinux)')" = "" ] && [ "$ITYPE" = "stable" ] && [ "$STABLE_REV" != "latest" ]; then +if [ "$(echo "${DISTRO_NAME_L}" | grep -E '(debian|ubuntu|centos|gentoo|red_hat|oracle|scientific|amazon|fedora|macosx|almalinux|rocky)')" = "" ] && [ "$ITYPE" = "stable" ] && [ "$STABLE_REV" != "latest" ]; then echoerror "${DISTRO_NAME} does not have major version pegged packages support" exit 1 fi # Only RedHat based distros have testing support if [ "${ITYPE}" = "testing" ]; then - if [ "$(echo "${DISTRO_NAME_L}" | grep -E '(centos|red_hat|amazon|oracle|almalinux)')" = "" ]; then + if [ "$(echo "${DISTRO_NAME_L}" | grep -E '(centos|red_hat|amazon|oracle|almalinux|rocky)')" = "" ]; then echoerror "${DISTRO_NAME} does not have testing packages support" exit 1 fi @@ -4912,6 +4915,69 @@ install_almalinux_check_services() { # ####################################################################################################################### +####################################################################################################################### +# +# Rocky Linux Install Functions +# +install_rocky_linux_stable_deps() { + install_centos_stable_deps || return 1 + return 0 +} + +install_rocky_linux_git_deps() { + install_centos_git_deps || return 1 + return 0 +} + +install_rocky_linux_testing_deps() { + install_centos_testing_deps || return 1 + return 0 +} + +install_rocky_linux_stable() { + install_centos_stable || return 1 + return 0 +} + +install_rocky_linux_git() { + install_centos_git || return 1 + return 0 +} + +install_rocky_linux_testing() { + install_centos_testing || return 1 + return 0 +} + +install_rocky_linux_stable_post() { + install_centos_stable_post || return 1 + return 0 +} + +install_rocky_linux_git_post() { + install_centos_git_post || return 1 + return 0 +} + +install_rocky_linux_testing_post() { + install_centos_testing_post || return 1 + return 0 +} + +install_rocky_linux_restart_daemons() { + install_centos_restart_daemons || return 1 + return 0 +} + +install_rocky_linux_check_services() { + install_centos_check_services || return 1 + return 0 +} +# +# Ended Rocky Linux Install Functions +# +####################################################################################################################### + ####################################################################################################################### # # Scientific Linux Install Functions From f11c5856513103cb572ab480db651b5c1c748f1b Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 26 Feb 2022 09:09:57 +0000 Subject: [PATCH 039/113] ci(kitchen): use official Rocky Linux image on Docker Hub * https://hub.docker.com/_/rockylinux?tab=tags --- kitchen.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/kitchen.yml b/kitchen.yml index 4c798b5..5d90c24 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -101,8 +101,6 @@ platforms: - name: oraclelinux-8 - name: oraclelinux-7 - name: rockylinux-8 - driver: - image: rockylinux/rockylinux - name: ubuntu-21.10 driver: run_command: /lib/systemd/systemd From ead451a9e22fe8e0b43a4db91d747703ef6d7734 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 26 Feb 2022 09:41:35 +0000 Subject: [PATCH 040/113] ci(rockylinux): add `3004` testing (`stable` and `git`) --- .github/workflows/main.yml | 138 ++++++++++++++++++++++++ .github/workflows/templates/generate.py | 3 +- 2 files changed, 139 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 344bdf0..cf325f7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5748,6 +5748,144 @@ jobs: bundle exec kitchen destroy latest-oraclelinux-8 + py3-stable-3004-rockylinux-8: + name: Rocky Linux 8 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-rockylinux-8 || bundle exec kitchen create py3-stable-3004-rockylinux-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-rockylinux-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-rockylinux-8 + + + py3-git-3004-rockylinux-8: + name: Rocky Linux 8 v3004 Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-rockylinux-8 || bundle exec kitchen create py3-git-3004-rockylinux-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3004-rockylinux-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3004-rockylinux-8 + + + py3-stable-3004-0-rockylinux-8: + name: Rocky Linux 8 v3004.0 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-0-rockylinux-8 || bundle exec kitchen create py3-stable-3004-0-rockylinux-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-0-rockylinux-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-0-rockylinux-8 + + py3-git-master-rockylinux-8: name: Rocky Linux 8 Master Py3 Git runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 6648b9f..ac619e5 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -48,6 +48,7 @@ STABLE_DISTROS = [ "gentoo-systemd", "oraclelinux-7", "oraclelinux-8", + "rockylinux-8", "ubuntu-1604", "ubuntu-1804", "ubuntu-2004", @@ -88,7 +89,6 @@ BLACKLIST_3003_0 = [ ] BLACKLIST_3004 = [ - "rockylinux-8", "ubuntu-1604", "arch", ] @@ -97,7 +97,6 @@ BLACKLIST_3004_0 = [ "amazon-2", "gentoo", "gentoo-systemd", - "rockylinux-8", "ubuntu-1604", "arch", ] From c845caeba4481d8ce945228b8e131775125cd84f Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 26 Feb 2022 09:26:52 +0000 Subject: [PATCH 041/113] ci(gemfile+lock): update to latest versions --- .gitignore | 1 - Gemfile | 6 ++- Gemfile.lock | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 128 insertions(+), 3 deletions(-) create mode 100644 Gemfile.lock diff --git a/.gitignore b/.gitignore index bf18766..45c7a12 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,3 @@ kitchen.local.yml .kitchen/ .bundle/ -Gemfile.lock diff --git a/Gemfile b/Gemfile index ecb686d..373342b 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,9 @@ +# frozen_string_literal: true + source "https://rubygems.org" -gem 'test-kitchen', '>= 2.0.1' -gem 'kitchen-salt', '>= 0.5' +gem 'test-kitchen', '>= 3.2.2' +gem 'kitchen-salt', '>= 0.7.2' gem 'kitchen-docker', git: 'https://github.com/test-kitchen/kitchen-docker.git' group :vagrant do diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..92cd270 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,124 @@ +GIT + remote: https://github.com/test-kitchen/kitchen-docker.git + revision: 8d2a6f04e77b76bc9f77e0bb8cc52542743b7b6a + specs: + kitchen-docker (2.11.0) + test-kitchen (>= 1.0.0) + +GEM + remote: https://rubygems.org/ + specs: + bcrypt_pbkdf (1.1.0) + builder (3.2.4) + chef-utils (17.9.52) + concurrent-ruby + concurrent-ruby (1.1.9) + ed25519 (1.3.0) + erubi (1.10.0) + ffi (1.15.5) + gssapi (1.3.1) + ffi (>= 1.0.1) + gyoku (1.3.1) + builder (>= 2.1.2) + hashie (5.0.0) + httpclient (2.8.3) + kitchen-salt (0.7.2) + hashie (>= 3.5) + test-kitchen (>= 1.4) + kitchen-vagrant (1.11.0) + test-kitchen (>= 1.4, < 4) + license-acceptance (2.1.13) + pastel (~> 0.7) + tomlrb (>= 1.2, < 3.0) + tty-box (~> 0.6) + tty-prompt (~> 0.20) + little-plugger (1.1.4) + logging (2.3.0) + little-plugger (~> 1.1) + multi_json (~> 1.14) + mixlib-install (3.12.16) + mixlib-shellout + mixlib-versioning + thor + mixlib-shellout (3.2.5) + chef-utils + mixlib-versioning (1.2.12) + multi_json (1.15.0) + net-scp (3.0.0) + net-ssh (>= 2.6.5, < 7.0.0) + net-ssh (6.1.0) + net-ssh-gateway (2.0.0) + net-ssh (>= 4.0.0) + nori (2.6.0) + pastel (0.8.0) + tty-color (~> 0.5) + rubyntlm (0.6.3) + rubyzip (2.3.2) + strings (0.2.1) + strings-ansi (~> 0.2) + unicode-display_width (>= 1.5, < 3.0) + unicode_utils (~> 1.4) + strings-ansi (0.2.0) + test-kitchen (3.2.2) + bcrypt_pbkdf (~> 1.0) + chef-utils (>= 16.4.35) + ed25519 (~> 1.2) + license-acceptance (>= 1.0.11, < 3.0) + mixlib-install (~> 3.6) + mixlib-shellout (>= 1.2, < 4.0) + net-scp (>= 1.1, < 4.0) + net-ssh (>= 2.9, < 7.0) + net-ssh-gateway (>= 1.2, < 3.0) + thor (>= 0.19, < 2.0) + winrm (~> 2.0) + winrm-elevated (~> 1.0) + winrm-fs (~> 1.1) + thor (1.2.1) + tomlrb (2.0.1) + tty-box (0.7.0) + pastel (~> 0.8) + strings (~> 0.2.0) + tty-cursor (~> 0.7) + tty-color (0.6.0) + tty-cursor (0.7.1) + tty-prompt (0.23.1) + pastel (~> 0.8) + tty-reader (~> 0.8) + tty-reader (0.9.0) + tty-cursor (~> 0.7) + tty-screen (~> 0.8) + wisper (~> 2.0) + tty-screen (0.8.1) + unicode-display_width (2.1.0) + unicode_utils (1.4.0) + winrm (2.3.6) + builder (>= 2.1.2) + erubi (~> 1.8) + gssapi (~> 1.2) + gyoku (~> 1.0) + httpclient (~> 2.2, >= 2.2.0.2) + logging (>= 1.6.1, < 3.0) + nori (~> 2.0) + rubyntlm (~> 0.6.0, >= 0.6.3) + winrm-elevated (1.2.3) + erubi (~> 1.8) + winrm (~> 2.0) + winrm-fs (~> 1.0) + winrm-fs (1.3.5) + erubi (~> 1.8) + logging (>= 1.6.1, < 3.0) + rubyzip (~> 2.0) + winrm (~> 2.0) + wisper (2.0.1) + +PLATFORMS + ruby + +DEPENDENCIES + kitchen-docker! + kitchen-salt (>= 0.7.2) + kitchen-vagrant + test-kitchen (>= 3.2.2) + +BUNDLED WITH + 2.1.2 From 0d203ed96270ed209415dde54cab41f5541df401 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 26 Feb 2022 10:02:04 +0000 Subject: [PATCH 042/113] ci: remove `centos-8` (EOL) * https://www.centos.org/centos-linux-eol/ - "CentOS Linux 8 will reach End Of Life (EOL) on December 31st, 2021." --- .github/workflows/main.yml | 506 ------------------------ .github/workflows/templates/generate.py | 3 - kitchen.yml | 1 - 3 files changed, 510 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cf325f7..cb371e5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1470,512 +1470,6 @@ jobs: bundle exec kitchen destroy latest-centos-7 - py3-stable-3002-centos-8: - name: CentOS 8 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-centos-8 || bundle exec kitchen create py3-stable-3002-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-centos-8 - - - py3-git-3002-centos-8: - name: CentOS 8 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-centos-8 || bundle exec kitchen create py3-git-3002-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-centos-8 - - - py3-stable-3002-0-centos-8: - name: CentOS 8 v3002.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-0-centos-8 || bundle exec kitchen create py3-stable-3002-0-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-0-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-0-centos-8 - - - py3-stable-3003-centos-8: - name: CentOS 8 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-centos-8 || bundle exec kitchen create py3-stable-3003-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-centos-8 - - - py3-git-3003-centos-8: - name: CentOS 8 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-centos-8 || bundle exec kitchen create py3-git-3003-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-centos-8 - - - py3-stable-3003-0-centos-8: - name: CentOS 8 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-centos-8 || bundle exec kitchen create py3-stable-3003-0-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-centos-8 - - - py3-stable-3004-centos-8: - name: CentOS 8 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-centos-8 || bundle exec kitchen create py3-stable-3004-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-centos-8 - - - py3-git-3004-centos-8: - name: CentOS 8 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-centos-8 || bundle exec kitchen create py3-git-3004-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-centos-8 - - - py3-stable-3004-0-centos-8: - name: CentOS 8 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-centos-8 || bundle exec kitchen create py3-stable-3004-0-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-centos-8 - - - py3-git-master-centos-8: - name: CentOS 8 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-centos-8 || bundle exec kitchen create py3-git-master-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-centos-8 - - - latest-centos-8: - name: CentOS 8 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-8 || bundle exec kitchen create latest-centos-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-centos-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-centos-8 - - py3-stable-3003-centos-stream8: name: CentOS Stream 8 v3003 Py3 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index ac619e5..fd40140 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -10,7 +10,6 @@ LINUX_DISTROS = [ "amazon-2", "arch", "centos-7", - "centos-8", "centos-stream8", "debian-10", "debian-11", @@ -36,7 +35,6 @@ STABLE_DISTROS = [ "almalinux-8", "amazon-2", "centos-7", - "centos-8", "centos-stream8", "debian-10", "debian-11", @@ -132,7 +130,6 @@ DISTRO_DISPLAY_NAMES = { "amazon-2": "Amazon 2", "arch": "Arch", "centos-7": "CentOS 7", - "centos-8": "CentOS 8", "centos-stream8": "CentOS Stream 8", "debian-10": "Debian 10", "debian-11": "Debian 11", diff --git a/kitchen.yml b/kitchen.yml index 5d90c24..420cb40 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -46,7 +46,6 @@ platforms: - name: centos-stream8 driver: image: quay.io/centos/centos:stream8 - - name: centos-8 - name: centos-7 - name: debian-9 driver: From 393f4f33e464afdce0f995628ef022fe1670bca6 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 26 Feb 2022 15:38:57 +0000 Subject: [PATCH 043/113] ci: remove `fedora-33` (EOL) * https://docs.fedoraproject.org/en-US/releases/eol/ - Release: Fedora Linux 33 - EOL since: 2021-11-30 --- .github/workflows/main.yml | 230 ------------------------ .github/workflows/templates/generate.py | 3 - kitchen.yml | 8 +- 3 files changed, 1 insertion(+), 240 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cb371e5..2078e09 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3080,236 +3080,6 @@ jobs: bundle exec kitchen destroy latest-debian-9 - py3-git-3002-fedora-33: - name: Fedora 33 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-fedora-33 || bundle exec kitchen create py3-git-3002-fedora-33 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-fedora-33 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-fedora-33 - - - py3-git-3003-fedora-33: - name: Fedora 33 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-fedora-33 || bundle exec kitchen create py3-git-3003-fedora-33 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-fedora-33 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-fedora-33 - - - py3-git-3004-fedora-33: - name: Fedora 33 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-fedora-33 || bundle exec kitchen create py3-git-3004-fedora-33 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-fedora-33 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-fedora-33 - - - py3-git-master-fedora-33: - name: Fedora 33 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-fedora-33 || bundle exec kitchen create py3-git-master-fedora-33 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-fedora-33 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-fedora-33 - - - latest-fedora-33: - name: Fedora 33 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-33 || bundle exec kitchen create latest-fedora-33 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-fedora-33 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-fedora-33 - - py3-git-3002-fedora-34: name: Fedora 34 v3002 Py3 Git runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index fd40140..4ceaaba 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -14,7 +14,6 @@ LINUX_DISTROS = [ "debian-10", "debian-11", "debian-9", - "fedora-33", "fedora-34", "fedora-35", "gentoo", @@ -39,7 +38,6 @@ STABLE_DISTROS = [ "debian-10", "debian-11", "debian-9", - "fedora-33", "fedora-34", "fedora-35", "gentoo", @@ -134,7 +132,6 @@ DISTRO_DISPLAY_NAMES = { "debian-10": "Debian 10", "debian-11": "Debian 11", "debian-9": "Debian 9", - "fedora-33": "Fedora 33", "fedora-34": "Fedora 34", "fedora-35": "Fedora 35", "gentoo": "Gentoo", diff --git a/kitchen.yml b/kitchen.yml index 420cb40..a543310 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -57,14 +57,11 @@ platforms: driver: image: debian:bullseye run_command: /lib/systemd/systemd - - name: fedora-33 + - name: fedora-34 driver: provision_command: &fedora_provision_command - dnf -y install procps-ng - sed -i 's/^PubkeyAcceptedKeyTypes.*$/&,ssh-rsa/' /etc/crypto-policies/back-ends/opensshserver.config - - name: fedora-34 - driver: - provision_command: *fedora_provision_command - name: fedora-35 driver: provision_command: *fedora_provision_command @@ -134,7 +131,6 @@ suites: - opensuse-15 - opensuse-tumbleweed - debian-11 - - fedora-33 - arch - gentoo - gentoo-systemd @@ -148,7 +144,6 @@ suites: excludes: - opensuse-15 - opensuse-tumbleweed - - fedora-33 - arch - gentoo - gentoo-systemd @@ -184,7 +179,6 @@ suites: excludes: - opensuse-15 - opensuse-tumbleweed - - fedora-33 - arch - gentoo - gentoo-systemd From 2bc72381231ec96ba70b9d67d61b6303e4396913 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 26 Feb 2022 15:44:02 +0000 Subject: [PATCH 044/113] ci(kitchen): set `LEGACY` crypto policy on Fedora (get `35` working) Using successfully in the `salt-image-builder` for almost a year now: * https://gitlab.com/saltstack-formulas/infrastructure/salt-image-builder/-/commit/ac145f3022a13 --- kitchen.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kitchen.yml b/kitchen.yml index a543310..bc27d41 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -60,8 +60,8 @@ platforms: - name: fedora-34 driver: provision_command: &fedora_provision_command - - dnf -y install procps-ng - - sed -i 's/^PubkeyAcceptedKeyTypes.*$/&,ssh-rsa/' /etc/crypto-policies/back-ends/opensshserver.config + - dnf -y install procps-ng crypto-policies-scripts + - update-crypto-policies --set LEGACY - name: fedora-35 driver: provision_command: *fedora_provision_command From e174a3a546c5ed33c7d260e6d7aaec9ab387b326 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Tue, 15 Mar 2022 10:20:49 +0100 Subject: [PATCH 045/113] Bump version to 2022.03.15 release --- .pre-commit-config.yaml | 2 +- ChangeLog | 12 ++++++++++++ bootstrap-salt.sh | 4 ++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c48dae6..4bd5336 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -27,6 +27,6 @@ repos: - id: shellcheck name: Run ShellCheck against bootstrap-salt.sh - entry: koalaman/shellcheck-alpine:v0.6.0 shellcheck -s sh -f tty + entry: koalaman/shellcheck-alpine:v0.7.0 shellcheck -s sh -f tty files: 'bootstrap-salt\.sh' language: docker_image diff --git a/ChangeLog b/ChangeLog index 34b7f23..bfffef0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ Version TBD (In Progress on the Develop Branch): +Version 2022.03.15: + * Add detection and functions for AlmaLinux and Rocky Linux (myii) #1803 + * Copy configs to correct config dirs (v3004+) (dafyddj) #1798 + * Support Non-LTS Ubuntu 21.04 & 21.10 (blindpirate) #1793 + * Use native repositories for Debian 11 (jpacura) #1615 + * Keep all command-line parameters when UAC is enabled (Simon-TheUser) #1613 + * Add support for Raspbian (Jille) #1612 + * Add openrc to alpine:latest dependencies (krionbsd) #1609 + * Add CentOS 7 base key (bryceml) #1608 + * Fix git master install on alpine 3.12+ (Nascire) #1604 + * Sort help alphabetically (krionbsd) #1601 + Version 2021.09.17: * Re-add Ubuntu-16 support as it's still supported with 3001 and 3002 (krionbsd) #1594 * Add oncoming 3004 release (krionbsd) #1593 diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index b6c7359..4bf19de 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -14,7 +14,7 @@ # # BUGS: https://github.com/saltstack/salt-bootstrap/issues # -# COPYRIGHT: (c) 2012-2021 by the SaltStack Team, see AUTHORS.rst for more +# COPYRIGHT: (c) 2012-2022 by the SaltStack Team, see AUTHORS.rst for more # details. # # LICENSE: Apache 2.0 @@ -23,7 +23,7 @@ #====================================================================================================================== set -o nounset # Treat unset variables as an error -__ScriptVersion="2021.09.17" +__ScriptVersion="2022.03.15" __ScriptName="bootstrap-salt.sh" __ScriptFullName="$0" From f60d4c5a49f18226ad525489844a9e3f1a80138b Mon Sep 17 00:00:00 2001 From: krionbsd Date: Tue, 15 Mar 2022 14:04:34 +0000 Subject: [PATCH 046/113] Update README.rst with 2022.03.15 release sha256sum --- README.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/README.rst b/README.rst index 5c68fb6..29690ae 100644 --- a/README.rst +++ b/README.rst @@ -32,6 +32,7 @@ sum** of the downloaded ``bootstrap-salt.sh`` file. The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is: +- 2022.03.15: ``8f65952c3435f441e7f793941d5162d3ec2033a9ef82722ff1da67a2ef860a2f`` - 2021.09.17: ``090d652cd6290debce0e3a4eded65086a4272e69446e711eb26f87160593b6a2`` - 2021.09.14: ``30fdcba972f449630b4f13492cb5525e69e08fa2cdb66a6dc78f1536ad279e52`` - 2021.08.19: ``ee40a9d8d057cce88a288fc1cb94b1d31408a61d262db6f77b34ad63d66f0806`` From 10c0b114bbe17ee49f3444cf04045a4eb66f2688 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Tue, 15 Mar 2022 15:43:01 +0100 Subject: [PATCH 047/113] Add some info and fixes to RELEASE.md --- RELEASE.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index 64db0f0..8c36c56 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -4,12 +4,12 @@ - Go through the changes since last release, add them to changelog. - Add any new authors to the AUTHORS file. - If there's a new Salt release(major), update the script to add support for it. -- Bump version for release +- Bump version for release. - Open PR against develop with these changes. -- Once the above PR is merged, open a PR against stable with the changes from develop -- Once the above PR is merged, wait until an automatic PR is opened against develop which updates the checksums. +- Once the above PR is merged, open a PR against stable with the changes from develop. +- Once the above PR is merged, wait until an automatic PR is opened against stable which updates the checksums. - Once the above PR is merged, tag the release `v{version-here}` and push the tag. -- Wait until an automatic PR is opened against the develop branch updating the release informtion. Merge it. -- Check that an automated PR was opened against the salt repo updating the bootstrap script. +- Wait until an automatic PR is opened against the develop branch updating the checksums in `README.rst`. Merge it. +- Check that an automated PR was opened against the salt repo updating the bootstrap script, located in `salt/cloud/deploy/bootstrap-salt.sh` - Victory! From f7fcdd2d48f929e03e9f2083371fd7dc4568e74e Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Tue, 29 Mar 2022 09:13:44 +0100 Subject: [PATCH 048/113] fix(bootstrap-salt): install `gcc-c++` for Fedora 35 `git` builds --- bootstrap-salt.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 4bf19de..c462e0a 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -3983,6 +3983,9 @@ install_fedora_git_deps() { done else __PACKAGES="python${PY_PKG_VER}-devel python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools gcc" + if [ "${DISTRO_VERSION}" -ge 35 ]; then + __PACKAGES="${__PACKAGES} gcc-c++" + fi # shellcheck disable=SC2086 __dnf_install_noinput ${__PACKAGES} || return 1 fi From 550f742fe97d99b6d1729461be76b2f8d8e36b0d Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Mon, 4 Apr 2022 07:06:49 +0100 Subject: [PATCH 049/113] ci(leading edge distros): test `git master` and `stable latest` only Various reasons here: * For rolling releases, the additional `git`-based builds aren't working due to Jinja2 incompatibilites (and lack of `3004` patch); besides, no practical use for these. * Gentoo does have `stable` packages for earlier versions but these are hitting the same Jinja2 incompatibilites. --- .github/workflows/kitchen.windows.yml | 1 + .github/workflows/main-branch-only.yml | 557 +------------------- .github/workflows/main.yml | 649 +----------------------- .github/workflows/templates/generate.py | 47 +- .github/workflows/templates/main.yml | 5 +- 5 files changed, 55 insertions(+), 1204 deletions(-) diff --git a/.github/workflows/kitchen.windows.yml b/.github/workflows/kitchen.windows.yml index 572806e..c3e6ff8 100644 --- a/.github/workflows/kitchen.windows.yml +++ b/.github/workflows/kitchen.windows.yml @@ -1,3 +1,4 @@ +# yamllint disable rule:line-length --- name: 'Kitchen (Windows)' 'on': ['push', 'pull_request'] diff --git a/.github/workflows/main-branch-only.yml b/.github/workflows/main-branch-only.yml index 2f8c437..6e13b05 100644 --- a/.github/workflows/main-branch-only.yml +++ b/.github/workflows/main-branch-only.yml @@ -1,289 +1,16 @@ # DO NOT EDIT THIS FILE DIRECTLY! # # This file was generated by .github/workflows/templates/generate.py +# +# yamllint disable rule:line-length rule:empty-lines +--- name: Branch Testing -on: [push] +'on': [push] jobs: - py3-stable-3002-gentoo: - name: Gentoo v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3002-gentoo || bundle exec kitchen create py3-stable-3002-gentoo - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-gentoo - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-gentoo - - - py3-git-3002-gentoo: - name: Gentoo v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3002-gentoo || bundle exec kitchen create py3-git-3002-gentoo - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-gentoo - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-gentoo - - - py3-stable-3003-gentoo: - name: Gentoo v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3003-gentoo || bundle exec kitchen create py3-stable-3003-gentoo - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-gentoo - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-gentoo - - - py3-git-3003-gentoo: - name: Gentoo v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3003-gentoo || bundle exec kitchen create py3-git-3003-gentoo - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-gentoo - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-gentoo - - - py3-stable-3004-gentoo: - name: Gentoo v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3004-gentoo || bundle exec kitchen create py3-stable-3004-gentoo - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-gentoo - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-gentoo - - - py3-git-3004-gentoo: - name: Gentoo v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3004-gentoo || bundle exec kitchen create py3-git-3004-gentoo - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-gentoo - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-gentoo - - py3-git-master-gentoo: name: Gentoo Master Py3 Git runs-on: ubuntu-latest @@ -376,282 +103,6 @@ jobs: bundle exec kitchen destroy latest-gentoo - py3-stable-3002-gentoo-systemd: - name: Gentoo (systemd) v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3002-gentoo-systemd || bundle exec kitchen create py3-stable-3002-gentoo-systemd - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-gentoo-systemd - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-gentoo-systemd - - - py3-git-3002-gentoo-systemd: - name: Gentoo (systemd) v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3002-gentoo-systemd || bundle exec kitchen create py3-git-3002-gentoo-systemd - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-gentoo-systemd - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-gentoo-systemd - - - py3-stable-3003-gentoo-systemd: - name: Gentoo (systemd) v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3003-gentoo-systemd || bundle exec kitchen create py3-stable-3003-gentoo-systemd - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-gentoo-systemd - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-gentoo-systemd - - - py3-git-3003-gentoo-systemd: - name: Gentoo (systemd) v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3003-gentoo-systemd || bundle exec kitchen create py3-git-3003-gentoo-systemd - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-gentoo-systemd - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-gentoo-systemd - - - py3-stable-3004-gentoo-systemd: - name: Gentoo (systemd) v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3004-gentoo-systemd || bundle exec kitchen create py3-stable-3004-gentoo-systemd - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-gentoo-systemd - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-gentoo-systemd - - - py3-git-3004-gentoo-systemd: - name: Gentoo (systemd) v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-3004-gentoo-systemd || bundle exec kitchen create py3-git-3004-gentoo-systemd - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-gentoo-systemd - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-gentoo-systemd - - py3-git-master-gentoo-systemd: name: Gentoo (systemd) Master Py3 Git runs-on: ubuntu-latest diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2078e09..ba26cab 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,10 +1,13 @@ # DO NOT EDIT THIS FILE DIRECTLY! # # This file was generated by .github/workflows/templates/generate.py +# +# yamllint disable rule:line-length rule:empty-lines +--- name: Testing -on: [push, pull_request] +'on': [push, pull_request] jobs: @@ -780,98 +783,6 @@ jobs: bundle exec kitchen destroy latest-amazon-2 - py3-git-3002-arch: - name: Arch v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-arch || bundle exec kitchen create py3-git-3002-arch - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-arch - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-arch - - - py3-git-3003-arch: - name: Arch v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-arch || bundle exec kitchen create py3-git-3003-arch - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-arch - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-arch - - py3-git-master-arch: name: Arch Master Py3 Git runs-on: ubuntu-latest @@ -3080,144 +2991,6 @@ jobs: bundle exec kitchen destroy latest-debian-9 - py3-git-3002-fedora-34: - name: Fedora 34 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-fedora-34 || bundle exec kitchen create py3-git-3002-fedora-34 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-fedora-34 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-fedora-34 - - - py3-git-3003-fedora-34: - name: Fedora 34 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-fedora-34 || bundle exec kitchen create py3-git-3003-fedora-34 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-fedora-34 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-fedora-34 - - - py3-git-3004-fedora-34: - name: Fedora 34 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-fedora-34 || bundle exec kitchen create py3-git-3004-fedora-34 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-fedora-34 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-fedora-34 - - py3-git-master-fedora-34: name: Fedora 34 Master Py3 Git runs-on: ubuntu-latest @@ -3310,144 +3083,6 @@ jobs: bundle exec kitchen destroy latest-fedora-34 - py3-git-3002-fedora-35: - name: Fedora 35 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-fedora-35 || bundle exec kitchen create py3-git-3002-fedora-35 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-fedora-35 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-fedora-35 - - - py3-git-3003-fedora-35: - name: Fedora 35 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-fedora-35 || bundle exec kitchen create py3-git-3003-fedora-35 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-fedora-35 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-fedora-35 - - - py3-git-3004-fedora-35: - name: Fedora 35 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-fedora-35 || bundle exec kitchen create py3-git-3004-fedora-35 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-fedora-35 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-fedora-35 - - py3-git-master-fedora-35: name: Fedora 35 Master Py3 Git runs-on: ubuntu-latest @@ -3540,144 +3175,6 @@ jobs: bundle exec kitchen destroy latest-fedora-35 - py3-git-3002-opensuse-15: - name: Opensuse 15 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-opensuse-15 || bundle exec kitchen create py3-git-3002-opensuse-15 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-opensuse-15 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-opensuse-15 - - - py3-git-3003-opensuse-15: - name: Opensuse 15 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-opensuse-15 || bundle exec kitchen create py3-git-3003-opensuse-15 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-opensuse-15 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-opensuse-15 - - - py3-git-3004-opensuse-15: - name: Opensuse 15 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-opensuse-15 || bundle exec kitchen create py3-git-3004-opensuse-15 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-opensuse-15 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-opensuse-15 - - py3-git-master-opensuse-15: name: Opensuse 15 Master Py3 Git runs-on: ubuntu-latest @@ -3770,144 +3267,6 @@ jobs: bundle exec kitchen destroy latest-opensuse-15 - py3-git-3002-opensuse-tumbleweed: - name: Opensuse Tumbleweed v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-opensuse-tumbleweed || bundle exec kitchen create py3-git-3002-opensuse-tumbleweed - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-opensuse-tumbleweed - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-opensuse-tumbleweed - - - py3-git-3003-opensuse-tumbleweed: - name: Opensuse Tumbleweed v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-opensuse-tumbleweed || bundle exec kitchen create py3-git-3003-opensuse-tumbleweed - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-opensuse-tumbleweed - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-opensuse-tumbleweed - - - py3-git-3004-opensuse-tumbleweed: - name: Opensuse Tumbleweed v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-opensuse-tumbleweed || bundle exec kitchen create py3-git-3004-opensuse-tumbleweed - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-opensuse-tumbleweed - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-opensuse-tumbleweed - - py3-git-master-opensuse-tumbleweed: name: Opensuse Tumbleweed Master Py3 Git runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 4ceaaba..266dca2 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -33,6 +33,7 @@ OSX = WINDOWS = [] STABLE_DISTROS = [ "almalinux-8", "amazon-2", + "arch", "centos-7", "centos-stream8", "debian-10", @@ -42,6 +43,8 @@ STABLE_DISTROS = [ "fedora-35", "gentoo", "gentoo-systemd", + "opensuse-15", + "opensuse-tumbleweed", "oraclelinux-7", "oraclelinux-8", "rockylinux-8", @@ -53,48 +56,82 @@ STABLE_DISTROS = [ BLACKLIST_3002 = [ "almalinux-8", + "arch", "centos-stream8", - "rockylinux-8", "debian-11", + "fedora-34", + "fedora-35", + "gentoo", + "gentoo-systemd", + "opensuse-15", + "opensuse-tumbleweed", + "rockylinux-8", ] BLACKLIST_3002_0 = [ "almalinux-8", "amazon-2", + "arch", "centos-stream8", "debian-11", + "fedora-34", + "fedora-35", "gentoo", "gentoo-systemd", + "opensuse-15", + "opensuse-tumbleweed", "rockylinux-8", "ubuntu-2110", ] BLACKLIST_3003 = [ + "arch", + "debian-11", + "fedora-34", + "fedora-35", + "gentoo", + "gentoo-systemd", + "opensuse-15", + "opensuse-tumbleweed", "rockylinux-8", "ubuntu-1604", - "debian-11", ] BLACKLIST_3003_0 = [ "amazon-2", + "arch", + "debian-11", + "fedora-34", + "fedora-35", "gentoo", "gentoo-systemd", + "opensuse-15", + "opensuse-tumbleweed", "rockylinux-8", "ubuntu-1604", - "debian-11" ] BLACKLIST_3004 = [ - "ubuntu-1604", "arch", + "fedora-34", + "fedora-35", + "gentoo", + "gentoo-systemd", + "opensuse-15", + "opensuse-tumbleweed", + "ubuntu-1604", ] BLACKLIST_3004_0 = [ "amazon-2", + "arch", + "fedora-34", + "fedora-35", "gentoo", "gentoo-systemd", + "opensuse-15", + "opensuse-tumbleweed", "ubuntu-1604", - "arch", ] SALT_BRANCHES = [ diff --git a/.github/workflows/templates/main.yml b/.github/workflows/templates/main.yml index 327536c..5686c00 100644 --- a/.github/workflows/templates/main.yml +++ b/.github/workflows/templates/main.yml @@ -1,10 +1,13 @@ # DO NOT EDIT THIS FILE DIRECTLY! # # This file was generated by .github/workflows/templates/generate.py +# +# yamllint disable rule:line-length rule:empty-lines +--- name: {name} -on: [{on}] +'on': [{on}] jobs: {jobs} From ba346cdfd807e882aa0285f4049c614761b718f5 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Mon, 4 Apr 2022 08:03:03 +0100 Subject: [PATCH 050/113] style(templates/generate): fix `black` violations --- .github/workflows/templates/generate.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 266dca2..54a939d 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -326,7 +326,9 @@ def generate_test_jobs(): rfh.read() .format( jobs="{pre_commit}{lint}{test}".format( - lint=lint_job, test=test_jobs, pre_commit=pre_commit_job, + lint=lint_job, + test=test_jobs, + pre_commit=pre_commit_job, ), on="push, pull_request", name="Testing", @@ -341,7 +343,9 @@ def generate_test_jobs(): "{}\n".format( rfh.read() .format( - jobs="{test}".format(test=branch_only_test_jobs,), + jobs="{test}".format( + test=branch_only_test_jobs, + ), on="push", name="Branch Testing", ) From 62112b6abe08a651eadd4e5e89ac8b7f873640e6 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Mon, 4 Apr 2022 08:29:23 +0100 Subject: [PATCH 051/113] ci(300X.0): remove all instances due to CVE-related archiving All `.0` repos are no longer available at https://repo.saltproject.io/. --- .github/workflows/main.yml | 1380 ----------------------- .github/workflows/templates/generate.py | 56 - 2 files changed, 1436 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ba26cab..df9ed94 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -139,52 +139,6 @@ jobs: bundle exec kitchen destroy py3-git-3003-almalinux-8 - py3-stable-3003-0-almalinux-8: - name: AlmaLinux 8 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-almalinux-8 || bundle exec kitchen create py3-stable-3003-0-almalinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-almalinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-almalinux-8 - - py3-stable-3004-almalinux-8: name: AlmaLinux 8 v3004 Py3 Stable runs-on: ubuntu-latest @@ -277,52 +231,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-almalinux-8 - py3-stable-3004-0-almalinux-8: - name: AlmaLinux 8 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-almalinux-8 || bundle exec kitchen create py3-stable-3004-0-almalinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-almalinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-almalinux-8 - - py3-git-master-almalinux-8: name: AlmaLinux 8 Master Py3 Git runs-on: ubuntu-latest @@ -967,52 +875,6 @@ jobs: bundle exec kitchen destroy py3-git-3002-centos-7 - py3-stable-3002-0-centos-7: - name: CentOS 7 v3002.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-0-centos-7 || bundle exec kitchen create py3-stable-3002-0-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-0-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-0-centos-7 - - py3-stable-3003-centos-7: name: CentOS 7 v3003 Py3 Stable runs-on: ubuntu-latest @@ -1105,52 +967,6 @@ jobs: bundle exec kitchen destroy py3-git-3003-centos-7 - py3-stable-3003-0-centos-7: - name: CentOS 7 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-centos-7 || bundle exec kitchen create py3-stable-3003-0-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-centos-7 - - py3-stable-3004-centos-7: name: CentOS 7 v3004 Py3 Stable runs-on: ubuntu-latest @@ -1243,52 +1059,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-centos-7 - py3-stable-3004-0-centos-7: - name: CentOS 7 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-centos-7 || bundle exec kitchen create py3-stable-3004-0-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-centos-7 - - py3-git-master-centos-7: name: CentOS 7 Master Py3 Git runs-on: ubuntu-latest @@ -1473,52 +1243,6 @@ jobs: bundle exec kitchen destroy py3-git-3003-centos-stream8 - py3-stable-3003-0-centos-stream8: - name: CentOS Stream 8 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-centos-stream8 || bundle exec kitchen create py3-stable-3003-0-centos-stream8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-centos-stream8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-centos-stream8 - - py3-stable-3004-centos-stream8: name: CentOS Stream 8 v3004 Py3 Stable runs-on: ubuntu-latest @@ -1611,52 +1335,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-centos-stream8 - py3-stable-3004-0-centos-stream8: - name: CentOS Stream 8 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-centos-stream8 || bundle exec kitchen create py3-stable-3004-0-centos-stream8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-centos-stream8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-centos-stream8 - - py3-git-master-centos-stream8: name: CentOS Stream 8 Master Py3 Git runs-on: ubuntu-latest @@ -1841,52 +1519,6 @@ jobs: bundle exec kitchen destroy py3-git-3002-debian-10 - py3-stable-3002-0-debian-10: - name: Debian 10 v3002.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-0-debian-10 || bundle exec kitchen create py3-stable-3002-0-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-0-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-0-debian-10 - - py3-stable-3003-debian-10: name: Debian 10 v3003 Py3 Stable runs-on: ubuntu-latest @@ -1979,52 +1611,6 @@ jobs: bundle exec kitchen destroy py3-git-3003-debian-10 - py3-stable-3003-0-debian-10: - name: Debian 10 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-debian-10 || bundle exec kitchen create py3-stable-3003-0-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-debian-10 - - py3-stable-3004-debian-10: name: Debian 10 v3004 Py3 Stable runs-on: ubuntu-latest @@ -2117,52 +1703,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-debian-10 - py3-stable-3004-0-debian-10: - name: Debian 10 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-debian-10 || bundle exec kitchen create py3-stable-3004-0-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-debian-10 - - py3-git-master-debian-10: name: Debian 10 Master Py3 Git runs-on: ubuntu-latest @@ -2347,52 +1887,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-debian-11 - py3-stable-3004-0-debian-11: - name: Debian 11 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-debian-11 || bundle exec kitchen create py3-stable-3004-0-debian-11 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-debian-11 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-debian-11 - - py3-git-master-debian-11: name: Debian 11 Master Py3 Git runs-on: ubuntu-latest @@ -2577,52 +2071,6 @@ jobs: bundle exec kitchen destroy py3-git-3002-debian-9 - py3-stable-3002-0-debian-9: - name: Debian 9 v3002.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-0-debian-9 || bundle exec kitchen create py3-stable-3002-0-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-0-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-0-debian-9 - - py3-stable-3003-debian-9: name: Debian 9 v3003 Py3 Stable runs-on: ubuntu-latest @@ -2715,52 +2163,6 @@ jobs: bundle exec kitchen destroy py3-git-3003-debian-9 - py3-stable-3003-0-debian-9: - name: Debian 9 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-debian-9 || bundle exec kitchen create py3-stable-3003-0-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-debian-9 - - py3-stable-3004-debian-9: name: Debian 9 v3004 Py3 Stable runs-on: ubuntu-latest @@ -2853,52 +2255,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-debian-9 - py3-stable-3004-0-debian-9: - name: Debian 9 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-debian-9 || bundle exec kitchen create py3-stable-3004-0-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-debian-9 - - py3-git-master-debian-9: name: Debian 9 Master Py3 Git runs-on: ubuntu-latest @@ -3451,52 +2807,6 @@ jobs: bundle exec kitchen destroy py3-git-3002-oraclelinux-7 - py3-stable-3002-0-oraclelinux-7: - name: Oracle Linux 7 v3002.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-0-oraclelinux-7 || bundle exec kitchen create py3-stable-3002-0-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-0-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-0-oraclelinux-7 - - py3-stable-3003-oraclelinux-7: name: Oracle Linux 7 v3003 Py3 Stable runs-on: ubuntu-latest @@ -3589,52 +2899,6 @@ jobs: bundle exec kitchen destroy py3-git-3003-oraclelinux-7 - py3-stable-3003-0-oraclelinux-7: - name: Oracle Linux 7 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-oraclelinux-7 || bundle exec kitchen create py3-stable-3003-0-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-oraclelinux-7 - - py3-stable-3004-oraclelinux-7: name: Oracle Linux 7 v3004 Py3 Stable runs-on: ubuntu-latest @@ -3727,52 +2991,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-oraclelinux-7 - py3-stable-3004-0-oraclelinux-7: - name: Oracle Linux 7 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-oraclelinux-7 || bundle exec kitchen create py3-stable-3004-0-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-oraclelinux-7 - - py3-git-master-oraclelinux-7: name: Oracle Linux 7 Master Py3 Git runs-on: ubuntu-latest @@ -3957,52 +3175,6 @@ jobs: bundle exec kitchen destroy py3-git-3002-oraclelinux-8 - py3-stable-3002-0-oraclelinux-8: - name: Oracle Linux 8 v3002.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-0-oraclelinux-8 || bundle exec kitchen create py3-stable-3002-0-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-0-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-0-oraclelinux-8 - - py3-stable-3003-oraclelinux-8: name: Oracle Linux 8 v3003 Py3 Stable runs-on: ubuntu-latest @@ -4095,52 +3267,6 @@ jobs: bundle exec kitchen destroy py3-git-3003-oraclelinux-8 - py3-stable-3003-0-oraclelinux-8: - name: Oracle Linux 8 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-oraclelinux-8 || bundle exec kitchen create py3-stable-3003-0-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-oraclelinux-8 - - py3-stable-3004-oraclelinux-8: name: Oracle Linux 8 v3004 Py3 Stable runs-on: ubuntu-latest @@ -4233,52 +3359,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-oraclelinux-8 - py3-stable-3004-0-oraclelinux-8: - name: Oracle Linux 8 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-oraclelinux-8 || bundle exec kitchen create py3-stable-3004-0-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-oraclelinux-8 - - py3-git-master-oraclelinux-8: name: Oracle Linux 8 Master Py3 Git runs-on: ubuntu-latest @@ -4463,52 +3543,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-rockylinux-8 - py3-stable-3004-0-rockylinux-8: - name: Rocky Linux 8 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-rockylinux-8 || bundle exec kitchen create py3-stable-3004-0-rockylinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-rockylinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-rockylinux-8 - - py3-git-master-rockylinux-8: name: Rocky Linux 8 Master Py3 Git runs-on: ubuntu-latest @@ -4693,52 +3727,6 @@ jobs: bundle exec kitchen destroy py3-git-3002-ubuntu-1604 - py3-stable-3002-0-ubuntu-1604: - name: Ubuntu 16.04 v3002.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-0-ubuntu-1604 || bundle exec kitchen create py3-stable-3002-0-ubuntu-1604 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-0-ubuntu-1604 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-0-ubuntu-1604 - - py3-git-master-ubuntu-1604: name: Ubuntu 16.04 Master Py3 Git runs-on: ubuntu-latest @@ -4923,52 +3911,6 @@ jobs: bundle exec kitchen destroy py3-git-3002-ubuntu-1804 - py3-stable-3002-0-ubuntu-1804: - name: Ubuntu 18.04 v3002.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-0-ubuntu-1804 || bundle exec kitchen create py3-stable-3002-0-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-0-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-0-ubuntu-1804 - - py3-stable-3003-ubuntu-1804: name: Ubuntu 18.04 v3003 Py3 Stable runs-on: ubuntu-latest @@ -5061,52 +4003,6 @@ jobs: bundle exec kitchen destroy py3-git-3003-ubuntu-1804 - py3-stable-3003-0-ubuntu-1804: - name: Ubuntu 18.04 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-ubuntu-1804 || bundle exec kitchen create py3-stable-3003-0-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-ubuntu-1804 - - py3-stable-3004-ubuntu-1804: name: Ubuntu 18.04 v3004 Py3 Stable runs-on: ubuntu-latest @@ -5199,52 +4095,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-ubuntu-1804 - py3-stable-3004-0-ubuntu-1804: - name: Ubuntu 18.04 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-ubuntu-1804 || bundle exec kitchen create py3-stable-3004-0-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-ubuntu-1804 - - py3-git-master-ubuntu-1804: name: Ubuntu 18.04 Master Py3 Git runs-on: ubuntu-latest @@ -5429,52 +4279,6 @@ jobs: bundle exec kitchen destroy py3-git-3002-ubuntu-2004 - py3-stable-3002-0-ubuntu-2004: - name: Ubuntu 20.04 v3002.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-0-ubuntu-2004 || bundle exec kitchen create py3-stable-3002-0-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-0-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-0-ubuntu-2004 - - py3-stable-3003-ubuntu-2004: name: Ubuntu 20.04 v3003 Py3 Stable runs-on: ubuntu-latest @@ -5567,52 +4371,6 @@ jobs: bundle exec kitchen destroy py3-git-3003-ubuntu-2004 - py3-stable-3003-0-ubuntu-2004: - name: Ubuntu 20.04 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-ubuntu-2004 || bundle exec kitchen create py3-stable-3003-0-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-ubuntu-2004 - - py3-stable-3004-ubuntu-2004: name: Ubuntu 20.04 v3004 Py3 Stable runs-on: ubuntu-latest @@ -5705,52 +4463,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-ubuntu-2004 - py3-stable-3004-0-ubuntu-2004: - name: Ubuntu 20.04 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-ubuntu-2004 || bundle exec kitchen create py3-stable-3004-0-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-ubuntu-2004 - - py3-git-master-ubuntu-2004: name: Ubuntu 20.04 Master Py3 Git runs-on: ubuntu-latest @@ -6027,52 +4739,6 @@ jobs: bundle exec kitchen destroy py3-git-3003-ubuntu-2110 - py3-stable-3003-0-ubuntu-2110: - name: Ubuntu 21.10 v3003.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-0-ubuntu-2110 || bundle exec kitchen create py3-stable-3003-0-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-0-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-0-ubuntu-2110 - - py3-stable-3004-ubuntu-2110: name: Ubuntu 21.10 v3004 Py3 Stable runs-on: ubuntu-latest @@ -6165,52 +4831,6 @@ jobs: bundle exec kitchen destroy py3-git-3004-ubuntu-2110 - py3-stable-3004-0-ubuntu-2110: - name: Ubuntu 21.10 v3004.0 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-0-ubuntu-2110 || bundle exec kitchen create py3-stable-3004-0-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-0-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-0-ubuntu-2110 - - py3-git-master-ubuntu-2110: name: Ubuntu 21.10 Master Py3 Git runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 54a939d..dbf79da 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -68,22 +68,6 @@ BLACKLIST_3002 = [ "rockylinux-8", ] -BLACKLIST_3002_0 = [ - "almalinux-8", - "amazon-2", - "arch", - "centos-stream8", - "debian-11", - "fedora-34", - "fedora-35", - "gentoo", - "gentoo-systemd", - "opensuse-15", - "opensuse-tumbleweed", - "rockylinux-8", - "ubuntu-2110", -] - BLACKLIST_3003 = [ "arch", "debian-11", @@ -97,20 +81,6 @@ BLACKLIST_3003 = [ "ubuntu-1604", ] -BLACKLIST_3003_0 = [ - "amazon-2", - "arch", - "debian-11", - "fedora-34", - "fedora-35", - "gentoo", - "gentoo-systemd", - "opensuse-15", - "opensuse-tumbleweed", - "rockylinux-8", - "ubuntu-1604", -] - BLACKLIST_3004 = [ "arch", "fedora-34", @@ -122,36 +92,18 @@ BLACKLIST_3004 = [ "ubuntu-1604", ] -BLACKLIST_3004_0 = [ - "amazon-2", - "arch", - "fedora-34", - "fedora-35", - "gentoo", - "gentoo-systemd", - "opensuse-15", - "opensuse-tumbleweed", - "ubuntu-1604", -] - SALT_BRANCHES = [ "3002", - "3002-0", "3003", - "3003-0", "3004", - "3004-0", "master", "latest", ] BRANCH_DISPLAY_NAMES = { "3002": "v3002", - "3002-0": "v3002.0", "3003": "v3003", - "3003-0": "v3003.0", "3004": "v3004", - "3004-0": "v3004.0", "master": "Master", "latest": "Latest", } @@ -268,20 +220,12 @@ def generate_test_jobs(): if branch == "3002" and distro in BLACKLIST_3002: continue - if branch == "3002-0" and distro in BLACKLIST_3002_0: - continue - if branch == "3003" and distro in BLACKLIST_3003: continue - if branch == "3003-0" and distro in BLACKLIST_3003_0: - continue - if branch == "3004" and distro in BLACKLIST_3004: continue - if branch == "3004-0" and distro in BLACKLIST_3004_0: - continue if distro in LINUX_DISTROS: template = "linux.yml" elif distro in OSX: From 4cd19d42eaa5c9616fa12f9cde7a9678ce735f8f Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Mon, 4 Apr 2022 10:08:36 +0100 Subject: [PATCH 052/113] ci(git): use specific blacklists to disable Jinja2 >= `3.1` failing jobs The fix for this has only just been merged into the `master` branch: * https://github.com/saltstack/salt/pull/61856 --- .github/workflows/kitchen.vagrant.yml | 9 - .github/workflows/main.yml | 690 ------------------------ .github/workflows/templates/generate.py | 78 ++- 3 files changed, 69 insertions(+), 708 deletions(-) diff --git a/.github/workflows/kitchen.vagrant.yml b/.github/workflows/kitchen.vagrant.yml index 71fab7a..7ce5471 100644 --- a/.github/workflows/kitchen.vagrant.yml +++ b/.github/workflows/kitchen.vagrant.yml @@ -41,15 +41,6 @@ jobs: fail-fast: false matrix: instance: - - py3-git-3002-freebsd-130 - - py3-git-3002-freebsd-123 - # - py3-git-3002-openbsd-6 - - py3-git-3003-freebsd-130 - - py3-git-3003-freebsd-123 - # - py3-git-3003-openbsd-6 - - py3-git-3004-freebsd-130 - - py3-git-3004-freebsd-123 - # - py3-git-3004-openbsd-6 - py3-git-master-freebsd-130 - py3-git-master-freebsd-123 # - py3-git-master-openbsd-6 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index df9ed94..f1cbc92 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -369,52 +369,6 @@ jobs: bundle exec kitchen destroy py3-stable-3002-amazon-2 - py3-git-3002-amazon-2: - name: Amazon 2 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-amazon-2 || bundle exec kitchen create py3-git-3002-amazon-2 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-amazon-2 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-amazon-2 - - py3-stable-3003-amazon-2: name: Amazon 2 v3003 Py3 Stable runs-on: ubuntu-latest @@ -461,52 +415,6 @@ jobs: bundle exec kitchen destroy py3-stable-3003-amazon-2 - py3-git-3003-amazon-2: - name: Amazon 2 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-amazon-2 || bundle exec kitchen create py3-git-3003-amazon-2 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-amazon-2 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-amazon-2 - - py3-stable-3004-amazon-2: name: Amazon 2 v3004 Py3 Stable runs-on: ubuntu-latest @@ -553,52 +461,6 @@ jobs: bundle exec kitchen destroy py3-stable-3004-amazon-2 - py3-git-3004-amazon-2: - name: Amazon 2 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-amazon-2 || bundle exec kitchen create py3-git-3004-amazon-2 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-amazon-2 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-amazon-2 - - py3-git-master-amazon-2: name: Amazon 2 Master Py3 Git runs-on: ubuntu-latest @@ -1473,52 +1335,6 @@ jobs: bundle exec kitchen destroy py3-stable-3002-debian-10 - py3-git-3002-debian-10: - name: Debian 10 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-debian-10 || bundle exec kitchen create py3-git-3002-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-debian-10 - - py3-stable-3003-debian-10: name: Debian 10 v3003 Py3 Stable runs-on: ubuntu-latest @@ -1565,52 +1381,6 @@ jobs: bundle exec kitchen destroy py3-stable-3003-debian-10 - py3-git-3003-debian-10: - name: Debian 10 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-debian-10 || bundle exec kitchen create py3-git-3003-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-debian-10 - - py3-stable-3004-debian-10: name: Debian 10 v3004 Py3 Stable runs-on: ubuntu-latest @@ -1657,52 +1427,6 @@ jobs: bundle exec kitchen destroy py3-stable-3004-debian-10 - py3-git-3004-debian-10: - name: Debian 10 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-debian-10 || bundle exec kitchen create py3-git-3004-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-debian-10 - - py3-git-master-debian-10: name: Debian 10 Master Py3 Git runs-on: ubuntu-latest @@ -1841,52 +1565,6 @@ jobs: bundle exec kitchen destroy py3-stable-3004-debian-11 - py3-git-3004-debian-11: - name: Debian 11 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-debian-11 || bundle exec kitchen create py3-git-3004-debian-11 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-debian-11 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-debian-11 - - py3-git-master-debian-11: name: Debian 11 Master Py3 Git runs-on: ubuntu-latest @@ -3635,52 +3313,6 @@ jobs: bundle exec kitchen destroy latest-rockylinux-8 - py3-stable-3002-ubuntu-1604: - name: Ubuntu 16.04 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-ubuntu-1604 || bundle exec kitchen create py3-stable-3002-ubuntu-1604 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-ubuntu-1604 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-ubuntu-1604 - - py3-git-3002-ubuntu-1604: name: Ubuntu 16.04 v3002 Py3 Git runs-on: ubuntu-latest @@ -3773,52 +3405,6 @@ jobs: bundle exec kitchen destroy py3-git-master-ubuntu-1604 - latest-ubuntu-1604: - name: Ubuntu 16.04 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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 - - py3-stable-3002-ubuntu-1804: name: Ubuntu 18.04 v3002 Py3 Stable runs-on: ubuntu-latest @@ -4233,52 +3819,6 @@ jobs: bundle exec kitchen destroy py3-stable-3002-ubuntu-2004 - py3-git-3002-ubuntu-2004: - name: Ubuntu 20.04 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-ubuntu-2004 || bundle exec kitchen create py3-git-3002-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-ubuntu-2004 - - py3-stable-3003-ubuntu-2004: name: Ubuntu 20.04 v3003 Py3 Stable runs-on: ubuntu-latest @@ -4325,52 +3865,6 @@ jobs: bundle exec kitchen destroy py3-stable-3003-ubuntu-2004 - py3-git-3003-ubuntu-2004: - name: Ubuntu 20.04 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-ubuntu-2004 || bundle exec kitchen create py3-git-3003-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-ubuntu-2004 - - py3-stable-3004-ubuntu-2004: name: Ubuntu 20.04 v3004 Py3 Stable runs-on: ubuntu-latest @@ -4417,52 +3911,6 @@ jobs: bundle exec kitchen destroy py3-stable-3004-ubuntu-2004 - py3-git-3004-ubuntu-2004: - name: Ubuntu 20.04 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-ubuntu-2004 || bundle exec kitchen create py3-git-3004-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-ubuntu-2004 - - py3-git-master-ubuntu-2004: name: Ubuntu 20.04 Master Py3 Git runs-on: ubuntu-latest @@ -4601,52 +4049,6 @@ jobs: bundle exec kitchen destroy py3-stable-3002-ubuntu-2110 - py3-git-3002-ubuntu-2110: - name: Ubuntu 21.10 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-ubuntu-2110 || bundle exec kitchen create py3-git-3002-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-ubuntu-2110 - - py3-stable-3003-ubuntu-2110: name: Ubuntu 21.10 v3003 Py3 Stable runs-on: ubuntu-latest @@ -4693,52 +4095,6 @@ jobs: bundle exec kitchen destroy py3-stable-3003-ubuntu-2110 - py3-git-3003-ubuntu-2110: - name: Ubuntu 21.10 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-ubuntu-2110 || bundle exec kitchen create py3-git-3003-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-ubuntu-2110 - - py3-stable-3004-ubuntu-2110: name: Ubuntu 21.10 v3004 Py3 Stable runs-on: ubuntu-latest @@ -4785,52 +4141,6 @@ jobs: bundle exec kitchen destroy py3-stable-3004-ubuntu-2110 - py3-git-3004-ubuntu-2110: - name: Ubuntu 21.10 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-ubuntu-2110 || bundle exec kitchen create py3-git-3004-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-ubuntu-2110 - - py3-git-master-ubuntu-2110: name: Ubuntu 21.10 Master Py3 Git runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index dbf79da..1db2bd6 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -48,7 +48,6 @@ STABLE_DISTROS = [ "oraclelinux-7", "oraclelinux-8", "rockylinux-8", - "ubuntu-1604", "ubuntu-1804", "ubuntu-2004", "ubuntu-2110", @@ -68,6 +67,24 @@ BLACKLIST_3002 = [ "rockylinux-8", ] +BLACKLIST_GIT_3002 = [ + "almalinux-8", + "amazon-2", + "arch", + "centos-stream8", + "debian-10", + "debian-11", + "fedora-34", + "fedora-35", + "gentoo", + "gentoo-systemd", + "opensuse-15", + "opensuse-tumbleweed", + "rockylinux-8", + "ubuntu-2004", + "ubuntu-2110", +] + BLACKLIST_3003 = [ "arch", "debian-11", @@ -81,6 +98,23 @@ BLACKLIST_3003 = [ "ubuntu-1604", ] +BLACKLIST_GIT_3003 = [ + "amazon-2", + "arch", + "debian-10", + "debian-11", + "fedora-34", + "fedora-35", + "gentoo", + "gentoo-systemd", + "opensuse-15", + "opensuse-tumbleweed", + "rockylinux-8", + "ubuntu-1604", + "ubuntu-2004", + "ubuntu-2110", +] + BLACKLIST_3004 = [ "arch", "fedora-34", @@ -92,6 +126,22 @@ BLACKLIST_3004 = [ "ubuntu-1604", ] +BLACKLIST_GIT_3004 = [ + "amazon-2", + "arch", + "debian-10", + "debian-11", + "fedora-34", + "fedora-35", + "gentoo", + "gentoo-systemd", + "opensuse-15", + "opensuse-tumbleweed", + "ubuntu-1604", + "ubuntu-2004", + "ubuntu-2110", +] + SALT_BRANCHES = [ "3002", "3003", @@ -110,7 +160,9 @@ BRANCH_DISPLAY_NAMES = { STABLE_BRANCH_BLACKLIST = [] -LATEST_PKG_BLACKLIST = [] +LATEST_PKG_BLACKLIST = [ + "ubuntu-1604", +] DISTRO_DISPLAY_NAMES = { "almalinux-8": "AlmaLinux 8", @@ -212,18 +264,26 @@ def generate_test_jobs(): # Fedora does not keep old builds around continue + BLACKLIST = { + "3002": BLACKLIST_3002, + "3003": BLACKLIST_3003, + "3004": BLACKLIST_3004, + } if bootstrap_type == "git": + BLACKLIST = { + "3002": BLACKLIST_GIT_3002, + "3003": BLACKLIST_GIT_3003, + "3004": BLACKLIST_GIT_3004, + } + # .0 versions are a virtual version for pinning to the first point release of a major release, such as 3002, there is no git version. if branch.endswith("-0"): continue - if branch == "3002" and distro in BLACKLIST_3002: - continue - - if branch == "3003" and distro in BLACKLIST_3003: - continue - - if branch == "3004" and distro in BLACKLIST_3004: + if ( + branch in ("3002", "3003", "3004") + and distro in BLACKLIST[branch] + ): continue if distro in LINUX_DISTROS: From cb7620799d946bbf765e5fae5133412144a86ca2 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Mon, 4 Apr 2022 11:17:20 +0100 Subject: [PATCH 053/113] ci(kitchen.windows.yml): provide minor version number for `salt_version` --- kitchen.windows.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kitchen.windows.yml b/kitchen.windows.yml index b858f60..0c5b882 100644 --- a/kitchen.windows.yml +++ b/kitchen.windows.yml @@ -19,13 +19,13 @@ platforms: suites: - name: py3-stable-3002 provisioner: - salt_version: 3002 + salt_version: 3002.8-1 - name: py3-stable-3003 provisioner: - salt_version: 3003 + salt_version: 3003.4-1 - name: py3-stable-3004 provisioner: - salt_version: 3004 + salt_version: 3004.1-1 - name: latest provisioner: salt_version: latest From ad5b23490187f43a0ab398e92d5353455d31c7fc Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Sat, 9 Apr 2022 15:07:39 +0100 Subject: [PATCH 054/113] feat(fedora-36): add platform Fedora 36 is due for release on 2022-04-19: * https://en.wikipedia.org/wiki/Fedora_Linux_release_history#Release_history * https://fedorapeople.org/groups/schedule/f-36/f-36-key-tasks.html This commit also contains an override for the service files, to adjust the path to the Salt executables from `/usr/bin/` to `/usr/local/bin/`. --- .github/workflows/main.yml | 92 +++++++++++++++++++++++++ .github/workflows/templates/generate.py | 9 +++ bootstrap-salt.sh | 5 ++ kitchen.yml | 3 + 4 files changed, 109 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f1cbc92..0e245ad 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2209,6 +2209,98 @@ jobs: bundle exec kitchen destroy latest-fedora-35 + py3-git-master-fedora-36: + name: Fedora 36 Master Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-master-fedora-36 || bundle exec kitchen create py3-git-master-fedora-36 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-master-fedora-36 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-master-fedora-36 + + + latest-fedora-36: + name: Fedora 36 Latest packaged release + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-36 || bundle exec kitchen create latest-fedora-36 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-fedora-36 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-fedora-36 + + py3-git-master-opensuse-15: name: Opensuse 15 Master Py3 Git runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 1db2bd6..ee1ad4a 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -16,6 +16,7 @@ LINUX_DISTROS = [ "debian-9", "fedora-34", "fedora-35", + "fedora-36", "gentoo", "gentoo-systemd", "opensuse-15", @@ -41,6 +42,7 @@ STABLE_DISTROS = [ "debian-9", "fedora-34", "fedora-35", + "fedora-36", "gentoo", "gentoo-systemd", "opensuse-15", @@ -60,6 +62,7 @@ BLACKLIST_3002 = [ "debian-11", "fedora-34", "fedora-35", + "fedora-36", "gentoo", "gentoo-systemd", "opensuse-15", @@ -76,6 +79,7 @@ BLACKLIST_GIT_3002 = [ "debian-11", "fedora-34", "fedora-35", + "fedora-36", "gentoo", "gentoo-systemd", "opensuse-15", @@ -90,6 +94,7 @@ BLACKLIST_3003 = [ "debian-11", "fedora-34", "fedora-35", + "fedora-36", "gentoo", "gentoo-systemd", "opensuse-15", @@ -105,6 +110,7 @@ BLACKLIST_GIT_3003 = [ "debian-11", "fedora-34", "fedora-35", + "fedora-36", "gentoo", "gentoo-systemd", "opensuse-15", @@ -119,6 +125,7 @@ BLACKLIST_3004 = [ "arch", "fedora-34", "fedora-35", + "fedora-36", "gentoo", "gentoo-systemd", "opensuse-15", @@ -133,6 +140,7 @@ BLACKLIST_GIT_3004 = [ "debian-11", "fedora-34", "fedora-35", + "fedora-36", "gentoo", "gentoo-systemd", "opensuse-15", @@ -175,6 +183,7 @@ DISTRO_DISPLAY_NAMES = { "debian-9": "Debian 9", "fedora-34": "Fedora 34", "fedora-35": "Fedora 35", + "fedora-36": "Fedora 36", "gentoo": "Gentoo", "gentoo-systemd": "Gentoo (systemd)", "opensuse-15": "Opensuse 15", diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index c462e0a..934ad08 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4031,6 +4031,11 @@ install_fedora_git_post() { __copyfile "${_SALT_GIT_CHECKOUT_DIR}/pkg/rpm/salt-${fname}.service" "/lib/systemd/system/salt-${fname}.service" + # Salt executables are located under `/usr/local/bin/` on Fedora 36+ + if [ "${DISTRO_VERSION}" -ge 36 ]; then + sed -i -e 's:/usr/bin/:/usr/local/bin/:g' /lib/systemd/system/salt-*.service + fi + # Skip salt-api since the service should be opt-in and not necessarily started on boot [ $fname = "api" ] && continue diff --git a/kitchen.yml b/kitchen.yml index bc27d41..515b868 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -65,6 +65,9 @@ platforms: - name: fedora-35 driver: provision_command: *fedora_provision_command + - name: fedora-36 + driver: + provision_command: *fedora_provision_command - name: gentoo driver: image: gentoo/stage3:latest From 3d716dce3a74da6da4d62fe81fd44f0b0a4f3d3e Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Mon, 11 Apr 2022 16:47:01 -0700 Subject: [PATCH 055/113] Adding bits to install Salt packages built using Tiamat. --- bootstrap-salt.sh | 606 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 593 insertions(+), 13 deletions(-) mode change 100644 => 100755 bootstrap-salt.sh diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh old mode 100644 new mode 100755 index c462e0a..649c2ac --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -1,4 +1,4 @@ -#!/bin/sh - +#!/bin/sh +x # WARNING: Changes to this file in the salt repo will be overwritten! # Please submit pull requests against the salt-bootstrap repo: @@ -290,17 +290,20 @@ __usage() { Usage : ${__ScriptName} [options] [install-type-args] Installation types: - - stable Install latest stable release. This is the default - install type - - stable [branch] Install latest version on a branch. Only supported - for packages available at repo.saltproject.io - - stable [version] Install a specific version. Only supported for - packages available at repo.saltproject.io - To pin a 3xxx minor version, specify it as 3xxx.0 - - testing RHEL-family specific: configure EPEL testing repo - - git Install from the head of the master branch - - git [ref] Install from any git ref (such as a branch, tag, or - commit) + - stable Install latest stable release. This is the default + install type + - stable [branch] Install latest version on a branch. Only supported + for packages available at repo.saltproject.io + - stable [version] Install a specific version. Only supported for + packages available at repo.saltproject.io + To pin a 3xxx minor version, specify it as 3xxx.0 + - testing RHEL-family specific: configure EPEL testing repo + - git Install from the head of the master branch + - git [ref] Install from any git ref (such as a branch, tag, or + commit) + - tiamat Install latest tiamat release. + - tiamat [version] Install a specific version. Only supported for + tiamat packages available at repo.saltproject.io Examples: - ${__ScriptName} @@ -312,6 +315,8 @@ __usage() { - ${__ScriptName} git 2017.7 - ${__ScriptName} git v2017.7.2 - ${__ScriptName} git 06f249901a2e2f1ed310d58ea3921a129f214358 + - ${__ScriptName} tiamat + - ${__ScriptName} tiamat 3005 Options: -a Pip install all Python pkg dependencies for Salt. Requires -V to install @@ -582,7 +587,7 @@ if [ "$#" -gt 0 ];then fi # Check installation type -if [ "$(echo "$ITYPE" | grep -E '(stable|testing|git)')" = "" ]; then +if [ "$(echo "$ITYPE" | grep -E '(stable|testing|git|tiamat)')" = "" ]; then echoerror "Installation type \"$ITYPE\" is not known..." exit 1 fi @@ -619,6 +624,10 @@ elif [ "$ITYPE" = "stable" ]; then exit 1 fi fi + +elif [ "$ITYPE" = "tiamat" ]; then + #TIAMET_REV="latest" + TIAMET_REV="" fi # Check for any unparsed arguments. Should be an error. @@ -2964,6 +2973,48 @@ __install_saltstack_ubuntu_repository() { __wait_for_apt apt-get update || return 1 } +__install_saltstack_ubuntu_tiamat_repository() { + # Workaround for latest non-LTS Ubuntu + if { [ "$DISTRO_MAJOR_VERSION" -eq 20 ] && [ "$DISTRO_MINOR_VERSION" -eq 10 ]; } || \ + [ "$DISTRO_MAJOR_VERSION" -eq 21 ]; then + echowarn "Non-LTS Ubuntu detected, but stable packages requested. Trying packages for previous LTS release. You may experience problems." + UBUNTU_VERSION=20.04 + UBUNTU_CODENAME="focal" + else + UBUNTU_VERSION=${DISTRO_VERSION} + UBUNTU_CODENAME=${DISTRO_CODENAME} + fi + + # Install downloader backend for GPG keys fetching + __PACKAGES='wget' + + # Required as it is not installed by default on Ubuntu 18+ + if [ "$DISTRO_MAJOR_VERSION" -ge 18 ]; then + __PACKAGES="${__PACKAGES} gnupg" + fi + + # Make sure https transport is available + if [ "$HTTP_VAL" = "https" ] ; then + __PACKAGES="${__PACKAGES} apt-transport-https ca-certificates" + fi + + # shellcheck disable=SC2086,SC2090 + __apt_get_install_noinput ${__PACKAGES} || return 1 + + __PY_VERSION_REPO="apt" + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + __PY_VERSION_REPO="py3" + fi + + # SaltStack's stable Ubuntu repository: + SALTSTACK_UBUNTU_URL="${HTTP_VAL}://${_REPO_URL}/salt-dev/${__PY_VERSION_REPO}/ubuntu/${UBUNTU_VERSION}/${__REPO_ARCH}/${TIAMAT_REV}" + echo "$__REPO_ARCH_DEB $SALTSTACK_UBUNTU_URL $UBUNTU_CODENAME main" > /etc/apt/sources.list.d/salt.list + + __apt_key_fetch "$SALTSTACK_UBUNTU_URL/salt-archive-keyring.gpg" || return 1 + + __wait_for_apt apt-get update || return 1 +} + install_ubuntu_deps() { if [ $_DISABLE_REPOS -eq $BS_FALSE ]; then # Install add-apt-repository @@ -3133,6 +3184,44 @@ install_ubuntu_git_deps() { return 0 } +install_ubuntu_tiamat_deps() { + if [ "${_SLEEP}" -eq "${__DEFAULT_SLEEP}" ] && [ "$DISTRO_MAJOR_VERSION" -lt 16 ]; then + # The user did not pass a custom sleep value as an argument, let's increase the default value + echodebug "On Ubuntu systems we increase the default sleep value to 10." + echodebug "See https://github.com/saltstack/salt/issues/12248 for more info." + _SLEEP=10 + fi + + if [ $_START_DAEMONS -eq $BS_FALSE ]; then + echowarn "Not starting daemons on Debian based distributions is not working mostly because starting them is the default behaviour." + fi + + # No user interaction, libc6 restart services for example + export DEBIAN_FRONTEND=noninteractive + + __wait_for_apt apt-get update || return 1 + + if [ "${_UPGRADE_SYS}" -eq $BS_TRUE ]; then + if [ "${_INSECURE_DL}" -eq $BS_TRUE ]; then + if [ "$DISTRO_MAJOR_VERSION" -ge 20 ] || [ "$DISTRO_MAJOR_VERSION" -ge 21 ]; then + __apt_get_install_noinput --allow-unauthenticated debian-archive-keyring && apt-get update || return 1 + else + __apt_get_install_noinput --allow-unauthenticated debian-archive-keyring && + apt-key update && apt-get update || return 1 + fi + fi + + __apt_get_upgrade_noinput || return 1 + fi + + if [ "$_DISABLE_REPOS" -eq "$BS_FALSE" ] || [ "$_CUSTOM_REPO_URL" != "null" ]; then + __check_dpkg_architecture || return 1 + __install_saltstack_ubuntu_tiamat_repository || return 1 + fi + + install_ubuntu_deps || return 1 +} + install_ubuntu_stable() { __PACKAGES="" @@ -3192,6 +3281,28 @@ install_ubuntu_git() { return 0 } +install_ubuntu_tiamat() { + __PACKAGES="" + + if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ];then + __PACKAGES="${__PACKAGES} salt-cloud" + fi + if [ "$_INSTALL_MASTER" -eq $BS_TRUE ]; then + __PACKAGES="${__PACKAGES} salt-master" + fi + if [ "$_INSTALL_MINION" -eq $BS_TRUE ]; then + __PACKAGES="${__PACKAGES} salt-minion" + fi + if [ "$_INSTALL_SYNDIC" -eq $BS_TRUE ]; then + __PACKAGES="${__PACKAGES} salt-syndic" + fi + + # shellcheck disable=SC2086 + __apt_get_install_noinput ${__PACKAGES} || return 1 + + return 0 +} + install_ubuntu_stable_post() { for fname in api master minion syndic; do # Skip salt-api since the service should be opt-in and not necessarily started on boot @@ -3389,6 +3500,40 @@ __install_saltstack_debian_repository() { __wait_for_apt apt-get update || return 1 } +__install_saltstack_debian_tiamat_repository() { + DEBIAN_RELEASE="$DISTRO_MAJOR_VERSION" + DEBIAN_CODENAME="$DISTRO_CODENAME" + + __PY_VERSION_REPO="apt" + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + __PY_VERSION_REPO="py3" + fi + + # Install downloader backend for GPG keys fetching + __PACKAGES='wget' + + # Required as it is not installed by default on Debian 9+ + if [ "$DISTRO_MAJOR_VERSION" -ge 9 ]; then + __PACKAGES="${__PACKAGES} gnupg2" + fi + + # Make sure https transport is available + if [ "$HTTP_VAL" = "https" ] ; then + __PACKAGES="${__PACKAGES} apt-transport-https ca-certificates" + fi + + # shellcheck disable=SC2086,SC2090 + __apt_get_install_noinput ${__PACKAGES} || return 1 + + # amd64 is just a part of repository URI, 32-bit pkgs are hosted under the same location + SALTSTACK_DEBIAN_URL="${HTTP_VAL}://${_REPO_URL}/salt-dev/${__PY_VERSION_REPO}/debian/${DEBIAN_RELEASE}/${__REPO_ARCH}/${TIAMAT_REV}" + echo "$__REPO_ARCH_DEB $SALTSTACK_DEBIAN_URL $DEBIAN_CODENAME main" > "/etc/apt/sources.list.d/salt.list" + + __apt_key_fetch "$SALTSTACK_DEBIAN_URL/salt-archive-keyring.gpg" || return 1 + + __wait_for_apt apt-get update || return 1 +} + install_debian_deps() { if [ $_START_DAEMONS -eq $BS_FALSE ]; then echowarn "Not starting daemons on Debian based distributions is not working mostly because starting them is the default behaviour." @@ -3718,6 +3863,28 @@ install_debian_9_git() { return 0 } +install_debian_tiamat() { + __PACKAGES="" + + if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ];then + __PACKAGES="${__PACKAGES} salt-cloud" + fi + if [ "$_INSTALL_MASTER" -eq $BS_TRUE ]; then + __PACKAGES="${__PACKAGES} salt-master" + fi + if [ "$_INSTALL_MINION" -eq $BS_TRUE ]; then + __PACKAGES="${__PACKAGES} salt-minion" + fi + if [ "$_INSTALL_SYNDIC" -eq $BS_TRUE ]; then + __PACKAGES="${__PACKAGES} salt-syndic" + fi + + # shellcheck disable=SC2086 + __apt_get_install_noinput ${__PACKAGES} || return 1 + + return 0 +} + install_debian_git_post() { for fname in api master minion syndic; do # Skip if not meant to be installed @@ -4160,6 +4327,60 @@ _eof return 0 } +__install_saltstack_tiamat_rhel_repository() { + if [ "$ITYPE" = "stable" ]; then + repo_rev="$TIAMAT_REV" + else + repo_rev="latest" + fi + + __PY_VERSION_REPO="yum" + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + __PY_VERSION_REPO="py3" + fi + + # Avoid using '$releasever' variable for yum. + # Instead, this should work correctly on all RHEL variants. + base_url="${HTTP_VAL}://${_REPO_URL}/salt-dev/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/" + if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then + gpg_key="SALTSTACK-GPG-KEY.pub base/RPM-GPG-KEY-CentOS-7" + else + gpg_key="SALTSTACK-GPG-KEY.pub" + fi + + gpg_key_urls="" + for key in $gpg_key; do + gpg_key_urls=$(printf "${base_url}${key},%s" "$gpg_key_urls") + done + + repo_file="/etc/yum.repos.d/salt.repo" + + if [ ! -s "$repo_file" ] || [ "$_FORCE_OVERWRITE" -eq $BS_TRUE ]; then + cat <<_eof > "$repo_file" +[saltstack] +name=SaltStack ${repo_rev} Release Channel for RHEL/CentOS \$releasever +baseurl=${base_url} +skip_if_unavailable=True +gpgcheck=1 +gpgkey=${gpg_key_urls} +enabled=1 +enabled_metadata=1 +_eof + + fetch_url="${HTTP_VAL}://${_REPO_URL}/salt-dev/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/${CPU_ARCH_L}/" + for key in $gpg_key; do + __rpm_import_gpg "${fetch_url}${key}" || return 1 + done + + yum clean metadata || return 1 + elif [ "$repo_rev" != "latest" ]; then + echowarn "salt.repo already exists, ignoring salt version argument." + echowarn "Use -F (forced overwrite) to install $repo_rev." + fi + + return 0 +} + install_centos_stable_deps() { if [ "$_UPGRADE_SYS" -eq $BS_TRUE ]; then yum -y update || return 1 @@ -4464,6 +4685,101 @@ install_centos_git_post() { return 0 } +install_centos_tiamat_deps() { + if [ "$_UPGRADE_SYS" -eq $BS_TRUE ]; then + yum -y update || return 1 + fi + + if [ "$_DISABLE_REPOS" -eq "$BS_TRUE" ] && [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + echowarn "Detected -r or -R option while installing Salt packages for Python 3." + echowarn "Python 3 packages for older Salt releases requires the EPEL repository to be installed." + echowarn "Installing the EPEL repository automatically is disabled when using the -r or -R options." + fi + + if [ "$_DISABLE_REPOS" -eq "$BS_FALSE" ]; then + __install_epel_repository || return 1 + __install_saltstack_tiamat_rhel_repository || return 1 + fi + + # If -R was passed, we need to configure custom repo url with rsync-ed packages + # Which is still handled in __install_saltstack_rhel_repository. This call has + # its own check in case -r was passed without -R. + if [ "$_CUSTOM_REPO_URL" != "null" ]; then + __install_saltstack_tiamat_rhel_repository || return 1 + fi + + if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then + __PACKAGES="dnf-utils chkconfig" + else + __PACKAGES="yum-utils chkconfig" + fi + + # shellcheck disable=SC2086 + __yum_install_noinput ${__PACKAGES} || return 1 + + if [ "${_EXTRA_PACKAGES}" != "" ]; then + echoinfo "Installing the following extra packages as requested: ${_EXTRA_PACKAGES}" + # shellcheck disable=SC2086 + __yum_install_noinput ${_EXTRA_PACKAGES} || return 1 + fi + + + return 0 +} + +install_centos_tiamat() { + __PACKAGES="" + + if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ];then + __PACKAGES="${__PACKAGES} salt-cloud" + fi + if [ "$_INSTALL_MASTER" -eq $BS_TRUE ];then + __PACKAGES="${__PACKAGES} salt-master" + fi + if [ "$_INSTALL_MINION" -eq $BS_TRUE ]; then + __PACKAGES="${__PACKAGES} salt-minion" + fi + if [ "$_INSTALL_SYNDIC" -eq $BS_TRUE ];then + __PACKAGES="${__PACKAGES} salt-syndic" + fi + + # shellcheck disable=SC2086 + __yum_install_noinput ${__PACKAGES} || return 1 + + return 0 +} + +install_centos_tiamat_post() { + SYSTEMD_RELOAD=$BS_FALSE + + for fname in api master minion syndic; do + # Skip salt-api since the service should be opt-in and not necessarily started on boot + [ $fname = "api" ] && continue + + # Skip if not meant to be installed + [ $fname = "master" ] && [ "$_INSTALL_MASTER" -eq $BS_FALSE ] && continue + [ $fname = "minion" ] && [ "$_INSTALL_MINION" -eq $BS_FALSE ] && continue + [ $fname = "syndic" ] && [ "$_INSTALL_SYNDIC" -eq $BS_FALSE ] && continue + + if [ -f /bin/systemctl ]; then + /bin/systemctl is-enabled salt-${fname}.service > /dev/null 2>&1 || ( + /bin/systemctl preset salt-${fname}.service > /dev/null 2>&1 && + /bin/systemctl enable salt-${fname}.service > /dev/null 2>&1 + ) + + SYSTEMD_RELOAD=$BS_TRUE + elif [ -f "/etc/init.d/salt-${fname}" ]; then + /sbin/chkconfig salt-${fname} on + fi + done + + if [ "$SYSTEMD_RELOAD" -eq $BS_TRUE ]; then + /bin/systemctl daemon-reload + fi + + return 0 +} + install_centos_restart_daemons() { [ $_START_DAEMONS -eq $BS_FALSE ] && return @@ -4563,6 +4879,11 @@ install_red_hat_linux_git_deps() { return 0 } +install_red_hat_linux_tiamat_deps() { + install_centos_tiamat_deps || return 1 + return 0 +} + install_red_hat_enterprise_stable_deps() { install_red_hat_linux_stable_deps || return 1 return 0 @@ -4573,6 +4894,11 @@ install_red_hat_enterprise_git_deps() { return 0 } +install_red_hat_enterprise_tiamat_deps() { + install_red_hat_linux_tiamat_deps || return 1 + return 0 +} + install_red_hat_enterprise_linux_stable_deps() { install_red_hat_linux_stable_deps || return 1 return 0 @@ -4583,6 +4909,11 @@ install_red_hat_enterprise_linux_git_deps() { return 0 } +install_red_hat_enterprise_linux_tiamat_deps() { + install_red_hat_linux_tiamat_deps || return 1 + return 0 +} + install_red_hat_enterprise_server_stable_deps() { install_red_hat_linux_stable_deps || return 1 return 0 @@ -4593,6 +4924,11 @@ install_red_hat_enterprise_server_git_deps() { return 0 } +install_red_hat_enterprise_server_tiamat_deps() { + install_red_hat_linux_tiamat_deps || return 1 + return 0 +} + install_red_hat_enterprise_workstation_stable_deps() { install_red_hat_linux_stable_deps || return 1 return 0 @@ -4603,6 +4939,11 @@ install_red_hat_enterprise_workstation_git_deps() { return 0 } +install_red_hat_enterprise_workstation_tiamat_deps() { + install_red_hat_linux_timat_deps || return 1 + return 0 +} + install_red_hat_linux_stable() { install_centos_stable || return 1 return 0 @@ -4613,6 +4954,11 @@ install_red_hat_linux_git() { return 0 } +install_red_hat_linux_tiamat() { + install_centos_tiamat || return 1 + return 0 +} + install_red_hat_enterprise_stable() { install_red_hat_linux_stable || return 1 return 0 @@ -4623,6 +4969,11 @@ install_red_hat_enterprise_git() { return 0 } +install_red_hat_enterprise_tiamat() { + install_red_hat_linux_tiamat || return 1 + return 0 +} + install_red_hat_enterprise_linux_stable() { install_red_hat_linux_stable || return 1 return 0 @@ -4633,6 +4984,11 @@ install_red_hat_enterprise_linux_git() { return 0 } +install_red_hat_enterprise_linux_tiamat() { + install_red_hat_linux_tiamat || return 1 + return 0 +} + install_red_hat_enterprise_server_stable() { install_red_hat_linux_stable || return 1 return 0 @@ -4643,6 +4999,11 @@ install_red_hat_enterprise_server_git() { return 0 } +install_red_hat_enterprise_server_tiamat() { + install_red_hat_linux_tiamat || return 1 + return 0 +} + install_red_hat_enterprise_workstation_stable() { install_red_hat_linux_stable || return 1 return 0 @@ -4653,6 +5014,11 @@ install_red_hat_enterprise_workstation_git() { return 0 } +install_red_hat_enterprise_workstation_tiamat() { + install_red_hat_linux_tiamat || return 1 + return 0 +} + install_red_hat_linux_stable_post() { install_centos_stable_post || return 1 return 0 @@ -4806,6 +5172,11 @@ install_oracle_linux_git_deps() { return 0 } +install_oracle_linux_tiamat_deps() { + install_centos_tiamat_deps || return 1 + return 0 +} + install_oracle_linux_testing_deps() { install_centos_testing_deps || return 1 return 0 @@ -4821,6 +5192,11 @@ install_oracle_linux_git() { return 0 } +install_oracle_linux_tiamat() { + install_centos_tiamat || return 1 + return 0 +} + install_oracle_linux_testing() { install_centos_testing || return 1 return 0 @@ -4869,6 +5245,11 @@ install_almalinux_git_deps() { return 0 } +install_almalinux_tiamat_deps() { + install_centos_tiamat_deps || return 1 + return 0 +} + install_almalinux_testing_deps() { install_centos_testing_deps || return 1 return 0 @@ -4884,6 +5265,11 @@ install_almalinux_git() { return 0 } +install_almalinux_tiamat() { + install_centos_tiamat || return 1 + return 0 +} + install_almalinux_testing() { install_centos_testing || return 1 return 0 @@ -4932,6 +5318,11 @@ install_rocky_linux_git_deps() { return 0 } +install_rocky_linux_tiamat_deps() { + install_centos_tiamat_deps || return 1 + return 0 +} + install_rocky_linux_testing_deps() { install_centos_testing_deps || return 1 return 0 @@ -4942,6 +5333,11 @@ install_rocky_linux_stable() { return 0 } +install_rocky_linux_tiamat() { + install_centos_tiamat || return 1 + return 0 +} + install_rocky_linux_git() { install_centos_git || return 1 return 0 @@ -4995,6 +5391,11 @@ install_scientific_linux_git_deps() { return 0 } +install_scientific_linux_tiamat_deps() { + install_centos_tiamat_deps || return 1 + return 0 +} + install_scientific_linux_testing_deps() { install_centos_testing_deps || return 1 return 0 @@ -5010,6 +5411,11 @@ install_scientific_linux_git() { return 0 } +install_scientific_linux_tiamat() { + install_centos_tiamat || return 1 + return 0 +} + install_scientific_linux_testing() { install_centos_testing || return 1 return 0 @@ -5058,6 +5464,11 @@ install_cloud_linux_git_deps() { return 0 } +install_cloud_linux_tiamat_deps() { + install_centos_tiamat_deps || return 1 + return 0 +} + install_cloud_linux_testing_deps() { install_centos_testing_deps || return 1 return 0 @@ -7703,6 +8114,143 @@ install_macosx_restart_daemons() { # ####################################################################################################################### +####################################################################################################################### +# +# Begin Tiamat Onedir Install Functions +# + + _parse_json_specd_ver() { + local file_name="$1" + local salt_url_version="$2" + local file_value="" + local blk_count=0 + local specd_ver_blk_count=0 + local specd_ver_flag=0 + local found_specd_ver_linux=0 + + local var1="" + local var2="" + declare -A rdict + + file_value=$(<"${file_name}") + + # limit 80 cols + var1=$(echo "${file_value}" | sed 's/,/,\n/g' | sed 's/{/\n{\n/g') + var2=$(echo "${var1}" | sed 's/}/\n}\n/g' | sed 's/,//g' | sed 's/"//g') + + while IFS= read -r line + do + echodebug "$0:${FUNCNAME[0]} parsing line '${line}'" + if [[ -z "${line}" ]]; then + continue + fi + if [[ "${line}" = "{" ]]; then + (( blk_count++ )) + elif [[ "${line}" = "}" ]]; then + # examine directory just read in + if [[ ${specd_ver_flag} -eq 1 ]]; then + if [[ "${rdict['os']}" = "linux" ]]; then + # have linux values for specd_ver + echodebug "$0:${FUNCNAME[0]} parsed following linux for"\ + "specified version '${salt_url_version}' from repo json"\ + "file '${file_name}', os ${rdict['os']}, version"\ + "${rdict['version']}, name ${rdict['name']}, SHA512"\ + "${rdict['SHA512']}" + found_specd_ver_linux=1 + break + fi + fi + + if [[ ${blk_count} -eq ${specd_ver_blk_count} ]]; then + specd_ver_flag=0 + break + fi + (( blk_count-- )) + else + line_key=$(echo "${line}" | cut -d ':' -f 1 | xargs) + line_value=$(echo "${line}" | cut -d ':' -f 2 | xargs) + if [[ "${line_key}" = "${salt_url_version}" ]]; then + # note blk_count encountered 'specd_ver', closing brace check + specd_ver_flag=1 + specd_ver_blk_count=${blk_count} + (( specd_ver_blk_count++ )) + else + rdict["${line_key}"]="${line_value}" + echodebug "$0:${FUNCNAME[0]} updated dictionary with"\ + "line_key '${line_key}' and line_value '${line_value}'" + fi + fi + done <<< "${var2}" + + if [[ ${found_specd_ver_linux} -eq 1 ]]; then + echo "${rdict['version']}:${rdict['name']}:${rdict['SHA512']}" + else + echoerr "$0:${FUNCNAME[0]} unable to parse version, name and "\ + "SHA512 from repo json file '${file_name}'" + # echo "" + fi + return 0 +} + + +install_tiamat() { + echoinfo "Fetching repo.json for Tiamat ${_TIAMAT_TYPE}" + + base_url="https://repo.saltproject.io/salt-dev/" + tiamat_type_repo_json_url="${base_url}${_TIAMAT_TYPE}/repo.json" + repo_json_file="$(mktemp /tmp/base-json-XXXXXXXX 2>/dev/null)" + salt_url="https://repo.saltproject.io/salt-dev/${_TIAMAT_TYPE}" + + if [ -z "$repo_json_file" ]; then + echoerror "Failed to create temporary file in /tmp" + return 1 + fi + + __fetch_url "$repo_json_file" "$tiamat_type_repo_json_url" || return 1 + + json_version_name_sha=$(_parse_json_specd_ver "${repo_json_file}" "${_TIAMAT_VERSION}") + + echoinfo "json_version_name_sha ${json_version_name_sha}" + + echoinfo "Installing Tiamat ${_TIAMAT_TYPE}" + + rm -f "$repo_json_file" + + salt_json_version=$(\ + echo "${json_version_name_sha}" | awk -F":" '{print $1}') + salt_json_name=$(\ + echo "${json_version_name_sha}" | awk -F":" '{print $2}') + salt_json_sha512=$(\ + echo "${json_version_name_sha}" | awk -F":" '{print $3}') + echodebug "$0:${FUNCNAME[0]} using repo.json values version"\ + "'${salt_json_version}', name '${salt_json_name}, sha512"\ + "'${salt_json_sha512}'" + + echoinfo "salt_json_name - ${salt_json_name}" + salt_pkg_name="${salt_json_name}" + salt_pkg_url="${salt_url}/${salt_json_version}/${salt_pkg_name}" + + echoinfo "salt_pkg_name - ${salt_pkg_name}" + tempfile="$(mktemp /tmp/${salt_pkg_name}-XXXXXXXX.tar.gz 2>/dev/null)" + + if [ -z "$tempfile" ]; then + echoerror "Failed to create temporary file in /tmp" + return 1 + fi + + __fetch_url "$tempfile" "$salt_pkg_url" || return 1 + + #rm -f "$tempfile" + + return 0 + +} + +# +# Ended Tiamt Onedir Install Functions +# +####################################################################################################################### + ####################################################################################################################### # # Default minion configuration function. Matches ANY distribution as long as @@ -7896,6 +8444,36 @@ preseed_master() { # ####################################################################################################################### +####################################################################################################################### +# +# This function checks if all of the installed daemons are running or not. +# +daemons_running_tiamat() { + [ "$_START_DAEMONS" -eq $BS_FALSE ] && return 0 + + FAILED_DAEMONS=0 + for fname in api master minion syndic; do + # Skip salt-api since the service should be opt-in and not necessarily started on boot + [ $fname = "api" ] && continue + + # Skip if not meant to be installed + [ $fname = "minion" ] && [ "$_INSTALL_MINION" -eq $BS_FALSE ] && continue + [ $fname = "master" ] && [ "$_INSTALL_MASTER" -eq $BS_FALSE ] && continue + [ $fname = "syndic" ] && [ "$_INSTALL_SYNDIC" -eq $BS_FALSE ] && continue + + if [ '$(ps wwwaux | grep -v grep | grep "/opt/saltstack/salt/run/run $fname")' = "" ]; then + echoerror "salt-$fname was not found running" + FAILED_DAEMONS=$((FAILED_DAEMONS + 1)) + fi + done + + return $FAILED_DAEMONS +} +# +# Ended daemons running check function +# +####################################################################################################################### + ####################################################################################################################### # # This function checks if all of the installed daemons are running or not. @@ -7996,6 +8574,7 @@ echodebug "PRESEED_MASTER_FUNC=${PRESEED_MASTER_FUNC}" INSTALL_FUNC_NAMES="install_${DISTRO_NAME_L}${PREFIXED_DISTRO_MAJOR_VERSION}_${ITYPE}" INSTALL_FUNC_NAMES="$INSTALL_FUNC_NAMES install_${DISTRO_NAME_L}${PREFIXED_DISTRO_MAJOR_VERSION}${PREFIXED_DISTRO_MINOR_VERSION}_${ITYPE}" INSTALL_FUNC_NAMES="$INSTALL_FUNC_NAMES install_${DISTRO_NAME_L}_${ITYPE}" +echodebug "INSTALL_FUNC_NAMES=${INSTALL_FUNC_NAMES}" INSTALL_FUNC="null" for FUNC_NAME in $(__strip_duplicates "$INSTALL_FUNC_NAMES"); do @@ -8047,6 +8626,7 @@ DAEMONS_RUNNING_FUNC_NAMES="$DAEMONS_RUNNING_FUNC_NAMES daemons_running_${DISTRO DAEMONS_RUNNING_FUNC_NAMES="$DAEMONS_RUNNING_FUNC_NAMES daemons_running_${DISTRO_NAME_L}${PREFIXED_DISTRO_MAJOR_VERSION}${PREFIXED_DISTRO_MINOR_VERSION}" DAEMONS_RUNNING_FUNC_NAMES="$DAEMONS_RUNNING_FUNC_NAMES daemons_running_${DISTRO_NAME_L}_${ITYPE}" DAEMONS_RUNNING_FUNC_NAMES="$DAEMONS_RUNNING_FUNC_NAMES daemons_running_${DISTRO_NAME_L}" +DAEMONS_RUNNING_FUNC_NAMES="$DAEMONS_RUNNING_FUNC_NAMES daemons_running_${ITYPE}" DAEMONS_RUNNING_FUNC_NAMES="$DAEMONS_RUNNING_FUNC_NAMES daemons_running" DAEMONS_RUNNING_FUNC="null" From 396a33632e2c557e1fe88d6c00c610f8084f60e0 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Sat, 23 Apr 2022 10:05:45 +0200 Subject: [PATCH 056/113] Ubuntu 22.04 --- .github/workflows/main.yml | 46 +++++++++++++++++++++++++ .github/workflows/templates/generate.py | 9 +++++ .pre-commit-config.yaml | 2 +- bootstrap-salt.sh | 3 ++ kitchen.yml | 5 +++ 5 files changed, 64 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0e245ad..df36350 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4323,3 +4323,49 @@ jobs: if: always() run: | bundle exec kitchen destroy latest-ubuntu-2110 + + + py3-git-master-ubuntu-2204: + name: Ubuntu 22.04 Master Py3 Git + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-master-ubuntu-2204 || bundle exec kitchen create py3-git-master-ubuntu-2204 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-master-ubuntu-2204 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-master-ubuntu-2204 diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index ee1ad4a..ebfe2b1 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -28,6 +28,7 @@ LINUX_DISTROS = [ "ubuntu-1804", "ubuntu-2004", "ubuntu-2110", + "ubuntu-2204", ] OSX = WINDOWS = [] @@ -53,6 +54,7 @@ STABLE_DISTROS = [ "ubuntu-1804", "ubuntu-2004", "ubuntu-2110", + "ubuntu-2204", ] BLACKLIST_3002 = [ @@ -68,6 +70,7 @@ BLACKLIST_3002 = [ "opensuse-15", "opensuse-tumbleweed", "rockylinux-8", + "ubuntu-2204", ] BLACKLIST_GIT_3002 = [ @@ -87,6 +90,7 @@ BLACKLIST_GIT_3002 = [ "rockylinux-8", "ubuntu-2004", "ubuntu-2110", + "ubuntu-2204", ] BLACKLIST_3003 = [ @@ -101,6 +105,7 @@ BLACKLIST_3003 = [ "opensuse-tumbleweed", "rockylinux-8", "ubuntu-1604", + "ubuntu-2204", ] BLACKLIST_GIT_3003 = [ @@ -119,6 +124,7 @@ BLACKLIST_GIT_3003 = [ "ubuntu-1604", "ubuntu-2004", "ubuntu-2110", + "ubuntu-2204", ] BLACKLIST_3004 = [ @@ -131,6 +137,7 @@ BLACKLIST_3004 = [ "opensuse-15", "opensuse-tumbleweed", "ubuntu-1604", + "ubuntu-2204", ] BLACKLIST_GIT_3004 = [ @@ -148,6 +155,7 @@ BLACKLIST_GIT_3004 = [ "ubuntu-1604", "ubuntu-2004", "ubuntu-2110", + "ubuntu-2204", ] SALT_BRANCHES = [ @@ -195,6 +203,7 @@ DISTRO_DISPLAY_NAMES = { "ubuntu-1804": "Ubuntu 18.04", "ubuntu-2004": "Ubuntu 20.04", "ubuntu-2110": "Ubuntu 21.10", + "ubuntu-2204": "Ubuntu 22.04", } TIMEOUT_DEFAULT = 20 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4bd5336..2cdb73a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,7 +12,7 @@ repos: - id: end-of-file-fixer # Makes sure files end in a newline and only a newline. - repo: https://github.com/psf/black - rev: 19.10b0 + rev: 22.3.0 hooks: - id: black diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 934ad08..189b8b9 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -1466,6 +1466,9 @@ __ubuntu_codename_translation() { "21") DISTRO_CODENAME="hirsute" ;; + "22") + DISTRO_CODENAME="jammy" + ;; *) DISTRO_CODENAME="trusty" ;; diff --git a/kitchen.yml b/kitchen.yml index 515b868..79035ab 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -100,6 +100,11 @@ platforms: - name: oraclelinux-8 - name: oraclelinux-7 - name: rockylinux-8 + - name: ubuntu-22.04 + driver: + run_command: /lib/systemd/systemd + provision_command: + - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config - name: ubuntu-21.10 driver: run_command: /lib/systemd/systemd From 70c0d737e2727ba8993123cfae4464d21e150cb6 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Sat, 23 Apr 2022 12:57:24 +0200 Subject: [PATCH 057/113] Fix black --- .github/workflows/main.yml | 184 ++++++++++++++++++++++++ .github/workflows/templates/generate.py | 3 - bootstrap-salt.sh | 4 +- 3 files changed, 187 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index df36350..68f08a7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4325,6 +4325,144 @@ jobs: bundle exec kitchen destroy latest-ubuntu-2110 + py3-stable-3002-ubuntu-2204: + name: Ubuntu 22.04 v3002 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3002-ubuntu-2204 || bundle exec kitchen create py3-stable-3002-ubuntu-2204 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3002-ubuntu-2204 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3002-ubuntu-2204 + + + py3-stable-3003-ubuntu-2204: + name: Ubuntu 22.04 v3003 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3003-ubuntu-2204 || bundle exec kitchen create py3-stable-3003-ubuntu-2204 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3003-ubuntu-2204 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3003-ubuntu-2204 + + + py3-stable-3004-ubuntu-2204: + name: Ubuntu 22.04 v3004 Py3 Stable + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-3004-ubuntu-2204 || bundle exec kitchen create py3-stable-3004-ubuntu-2204 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-3004-ubuntu-2204 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-3004-ubuntu-2204 + + py3-git-master-ubuntu-2204: name: Ubuntu 22.04 Master Py3 Git runs-on: ubuntu-latest @@ -4369,3 +4507,49 @@ jobs: if: always() run: | bundle exec kitchen destroy py3-git-master-ubuntu-2204 + + + latest-ubuntu-2204: + name: Ubuntu 22.04 Latest packaged release + runs-on: ubuntu-latest + timeout-minutes: 20 + + 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-2204 || bundle exec kitchen create latest-ubuntu-2204 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-ubuntu-2204 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-ubuntu-2204 diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index ebfe2b1..c6ca7da 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -70,7 +70,6 @@ BLACKLIST_3002 = [ "opensuse-15", "opensuse-tumbleweed", "rockylinux-8", - "ubuntu-2204", ] BLACKLIST_GIT_3002 = [ @@ -105,7 +104,6 @@ BLACKLIST_3003 = [ "opensuse-tumbleweed", "rockylinux-8", "ubuntu-1604", - "ubuntu-2204", ] BLACKLIST_GIT_3003 = [ @@ -137,7 +135,6 @@ BLACKLIST_3004 = [ "opensuse-15", "opensuse-tumbleweed", "ubuntu-1604", - "ubuntu-2204", ] BLACKLIST_GIT_3004 = [ diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 189b8b9..0dd72ac 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -2928,7 +2928,9 @@ __enable_universe_repository() { __install_saltstack_ubuntu_repository() { # Workaround for latest non-LTS Ubuntu if { [ "$DISTRO_MAJOR_VERSION" -eq 20 ] && [ "$DISTRO_MINOR_VERSION" -eq 10 ]; } || \ - [ "$DISTRO_MAJOR_VERSION" -eq 21 ]; then + [ "$DISTRO_MAJOR_VERSION" -eq 21 ]; \\ + # REMOVE IT when official packages for 22.04 are available + [ "$DISTRO_MAJOR_VERSION" -eq 22 ]; then echowarn "Non-LTS Ubuntu detected, but stable packages requested. Trying packages for previous LTS release. You may experience problems." UBUNTU_VERSION=20.04 UBUNTU_CODENAME="focal" From 96603a7bbc6ec55958ae81242b54d02478a3c540 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Sat, 23 Apr 2022 13:01:32 +0200 Subject: [PATCH 058/113] f --- bootstrap-salt.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 0dd72ac..b81ee7b 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -2928,9 +2928,8 @@ __enable_universe_repository() { __install_saltstack_ubuntu_repository() { # Workaround for latest non-LTS Ubuntu if { [ "$DISTRO_MAJOR_VERSION" -eq 20 ] && [ "$DISTRO_MINOR_VERSION" -eq 10 ]; } || \ - [ "$DISTRO_MAJOR_VERSION" -eq 21 ]; \\ - # REMOVE IT when official packages for 22.04 are available - [ "$DISTRO_MAJOR_VERSION" -eq 22 ]; then + # remove 22 versions when salt packages for 22.04 are available + [ "$DISTRO_MAJOR_VERSION" -eq 21 ] || [ "$DISTRO_MAJOR_VERSION" -eq 22 ]; then echowarn "Non-LTS Ubuntu detected, but stable packages requested. Trying packages for previous LTS release. You may experience problems." UBUNTU_VERSION=20.04 UBUNTU_CODENAME="focal" From bcf58059d5fcedcdbcff3080df320a599566bd6c Mon Sep 17 00:00:00 2001 From: krionbsd Date: Sat, 23 Apr 2022 13:40:33 +0200 Subject: [PATCH 059/113] f --- .github/workflows/main.yml | 92 ------------------------- .github/workflows/templates/generate.py | 2 + bootstrap-salt.sh | 4 +- 3 files changed, 4 insertions(+), 94 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 68f08a7..c3d15af 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4325,98 +4325,6 @@ jobs: bundle exec kitchen destroy latest-ubuntu-2110 - py3-stable-3002-ubuntu-2204: - name: Ubuntu 22.04 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-ubuntu-2204 || bundle exec kitchen create py3-stable-3002-ubuntu-2204 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-ubuntu-2204 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-ubuntu-2204 - - - py3-stable-3003-ubuntu-2204: - name: Ubuntu 22.04 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-ubuntu-2204 || bundle exec kitchen create py3-stable-3003-ubuntu-2204 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-ubuntu-2204 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-ubuntu-2204 - - py3-stable-3004-ubuntu-2204: name: Ubuntu 22.04 v3004 Py3 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index c6ca7da..de12cfc 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -70,6 +70,7 @@ BLACKLIST_3002 = [ "opensuse-15", "opensuse-tumbleweed", "rockylinux-8", + "ubuntu-2204", ] BLACKLIST_GIT_3002 = [ @@ -104,6 +105,7 @@ BLACKLIST_3003 = [ "opensuse-tumbleweed", "rockylinux-8", "ubuntu-1604", + "ubuntu-2204", ] BLACKLIST_GIT_3003 = [ diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index b81ee7b..fe5bb5a 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -2928,7 +2928,7 @@ __enable_universe_repository() { __install_saltstack_ubuntu_repository() { # Workaround for latest non-LTS Ubuntu if { [ "$DISTRO_MAJOR_VERSION" -eq 20 ] && [ "$DISTRO_MINOR_VERSION" -eq 10 ]; } || \ - # remove 22 versions when salt packages for 22.04 are available + # remove 22 version when salt packages for 22.04 are available [ "$DISTRO_MAJOR_VERSION" -eq 21 ] || [ "$DISTRO_MAJOR_VERSION" -eq 22 ]; then echowarn "Non-LTS Ubuntu detected, but stable packages requested. Trying packages for previous LTS release. You may experience problems." UBUNTU_VERSION=20.04 @@ -3043,7 +3043,7 @@ install_ubuntu_stable_deps() { if [ "${_UPGRADE_SYS}" -eq $BS_TRUE ]; then if [ "${_INSECURE_DL}" -eq $BS_TRUE ]; then - if [ "$DISTRO_MAJOR_VERSION" -ge 20 ] || [ "$DISTRO_MAJOR_VERSION" -ge 21 ]; then + if [ "$DISTRO_MAJOR_VERSION" -ge 20 ] || [ "$DISTRO_MAJOR_VERSION" -ge 21 ] || [ "$DISTRO_MAJOR_VERSION" -ge 22 ]; then __apt_get_install_noinput --allow-unauthenticated debian-archive-keyring && apt-get update || return 1 else __apt_get_install_noinput --allow-unauthenticated debian-archive-keyring && From a501f491ec4554bef1f598259f1a7986360b1e61 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Tue, 26 Apr 2022 08:19:31 +0200 Subject: [PATCH 060/113] Add g++ dependency for Ubuntu 22 --- bootstrap-salt.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index fe5bb5a..9ae50f4 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -3124,6 +3124,9 @@ install_ubuntu_git_deps() { fi else __PACKAGES="python${PY_PKG_VER}-dev python${PY_PKG_VER}-pip python${PY_PKG_VER}-setuptools gcc" + if [ "$DISTRO_MAJOR_VERSION" -ge 22 ]; then + __PACKAGES="${__PACKAGES} g++" + fi # shellcheck disable=SC2086 __apt_get_install_noinput ${__PACKAGES} || return 1 fi From 81d4ca642529731deedcaccf4c50242d19e0687b Mon Sep 17 00:00:00 2001 From: krionbsd Date: Tue, 26 Apr 2022 09:14:32 +0200 Subject: [PATCH 061/113] Remove Ubuntu 16 from CI --- .github/workflows/main.yml | 92 ------------------------- .github/workflows/templates/generate.py | 10 +-- kitchen.yml | 3 - 3 files changed, 1 insertion(+), 104 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c3d15af..0deede8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3405,98 +3405,6 @@ jobs: bundle exec kitchen destroy latest-rockylinux-8 - py3-git-3002-ubuntu-1604: - name: Ubuntu 16.04 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-ubuntu-1604 || bundle exec kitchen create py3-git-3002-ubuntu-1604 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-ubuntu-1604 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-ubuntu-1604 - - - py3-git-master-ubuntu-1604: - name: Ubuntu 16.04 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-ubuntu-1604 || bundle exec kitchen create py3-git-master-ubuntu-1604 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-ubuntu-1604 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-ubuntu-1604 - - py3-stable-3002-ubuntu-1804: name: Ubuntu 18.04 v3002 Py3 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index de12cfc..2b1cc1f 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -24,7 +24,6 @@ LINUX_DISTROS = [ "oraclelinux-7", "oraclelinux-8", "rockylinux-8", - "ubuntu-1604", "ubuntu-1804", "ubuntu-2004", "ubuntu-2110", @@ -104,7 +103,6 @@ BLACKLIST_3003 = [ "opensuse-15", "opensuse-tumbleweed", "rockylinux-8", - "ubuntu-1604", "ubuntu-2204", ] @@ -121,7 +119,6 @@ BLACKLIST_GIT_3003 = [ "opensuse-15", "opensuse-tumbleweed", "rockylinux-8", - "ubuntu-1604", "ubuntu-2004", "ubuntu-2110", "ubuntu-2204", @@ -136,7 +133,6 @@ BLACKLIST_3004 = [ "gentoo-systemd", "opensuse-15", "opensuse-tumbleweed", - "ubuntu-1604", ] BLACKLIST_GIT_3004 = [ @@ -151,7 +147,6 @@ BLACKLIST_GIT_3004 = [ "gentoo-systemd", "opensuse-15", "opensuse-tumbleweed", - "ubuntu-1604", "ubuntu-2004", "ubuntu-2110", "ubuntu-2204", @@ -175,9 +170,7 @@ BRANCH_DISPLAY_NAMES = { STABLE_BRANCH_BLACKLIST = [] -LATEST_PKG_BLACKLIST = [ - "ubuntu-1604", -] +LATEST_PKG_BLACKLIST = [] DISTRO_DISPLAY_NAMES = { "almalinux-8": "AlmaLinux 8", @@ -198,7 +191,6 @@ DISTRO_DISPLAY_NAMES = { "oraclelinux-7": "Oracle Linux 7", "oraclelinux-8": "Oracle Linux 8", "rockylinux-8": "Rocky Linux 8", - "ubuntu-1604": "Ubuntu 16.04", "ubuntu-1804": "Ubuntu 18.04", "ubuntu-2004": "Ubuntu 20.04", "ubuntu-2110": "Ubuntu 21.10", diff --git a/kitchen.yml b/kitchen.yml index 79035ab..1196a7e 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -114,9 +114,6 @@ platforms: - name: ubuntu-18.04 driver: run_command: /lib/systemd/systemd - - name: ubuntu-16.04 - driver_config: - run_command: /lib/systemd/systemd suites: - name: py3-git-3002 From cb75c2140151f7c07870304ff5d64ea783f283fe Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Mon, 25 Apr 2022 21:56:09 +0100 Subject: [PATCH 062/113] feat(macos): add CI testing using Kitchen's `exec` driver --- .github/workflows/kitchen.macos.yml | 132 ++++++++++++++++++++++++++++ kitchen.macos.yml | 36 ++++++++ kitchen.vagrant.yml | 2 +- tests/conftest.py | 5 ++ 4 files changed, 174 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/kitchen.macos.yml create mode 100644 kitchen.macos.yml diff --git a/.github/workflows/kitchen.macos.yml b/.github/workflows/kitchen.macos.yml new file mode 100644 index 0000000..6ec70d6 --- /dev/null +++ b/.github/workflows/kitchen.macos.yml @@ -0,0 +1,132 @@ +# yamllint disable rule:line-length +--- +name: 'Kitchen (MacOS)' +'on': ['push', 'pull_request'] + +env: + KITCHEN_LOCAL_YAML: 'kitchen.macos.yml' + +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 -av generate-actions-workflow + lint: + name: 'Lint' + runs-on: 'ubuntu-latest' + needs: 'generate-actions-workflow' + container: 'koalaman/shellcheck-alpine:v0.6.0' + steps: + - uses: 'actions/checkout@v1' + - name: 'ShellCheck' + run: | + shellcheck -s sh -f tty bootstrap-salt.sh + test-12: + runs-on: 'macos-12' + timeout-minutes: 20 + needs: 'lint' + strategy: + fail-fast: false + matrix: + instance: + - latest-macos-12 + - py3-stable-3004-macos-12 + - py3-stable-3003-macos-12 + - py3-stable-3002-macos-12 + steps: + - name: 'Check out code' + uses: 'actions/checkout@v2' + - name: 'Set up Bundler cache' + uses: 'actions/cache@v1' + with: + path: 'vendor/bundle' + key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" + restore-keys: "${{ runner.os }}-gems-" + - name: 'Run Bundler' + run: | + ruby --version + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 + - name: 'Install Python Dependencies' + run: | + pip3 install -U pip + pip3 install -r tests/requirements.txt + - name: 'Run Test Kitchen' + run: 'bundle exec kitchen test ${{ matrix.instance }}' + test-11: + runs-on: 'macos-11' + timeout-minutes: 20 + needs: 'lint' + strategy: + fail-fast: false + matrix: + instance: + - latest-macos-11 + - py3-stable-3004-macos-11 + - py3-stable-3003-macos-11 + - py3-stable-3002-macos-11 + steps: + - name: 'Check out code' + uses: 'actions/checkout@v2' + - name: 'Set up Bundler cache' + uses: 'actions/cache@v1' + with: + path: 'vendor/bundle' + key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" + restore-keys: "${{ runner.os }}-gems-" + - name: 'Run Bundler' + run: | + ruby --version + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 + - name: 'Install Python Dependencies' + run: | + pip3 install -U pip + pip3 install -r tests/requirements.txt + - name: 'Run Test Kitchen' + run: 'bundle exec kitchen test ${{ matrix.instance }}' + test-1015: + runs-on: 'macos-10.15' + timeout-minutes: 20 + needs: 'lint' + strategy: + fail-fast: false + matrix: + instance: + - latest-macos-1015 + - py3-stable-3004-macos-1015 + - py3-stable-3003-macos-1015 + - py3-stable-3002-macos-1015 + steps: + - name: 'Check out code' + uses: 'actions/checkout@v2' + - name: 'Set up Bundler cache' + uses: 'actions/cache@v1' + with: + path: 'vendor/bundle' + key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" + restore-keys: "${{ runner.os }}-gems-" + - name: 'Run Bundler' + run: | + ruby --version + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 + - name: 'Install Python Dependencies' + run: | + pip3 install -U pip + pip3 install -r tests/requirements.txt + - name: 'Run Test Kitchen' + run: 'bundle exec kitchen test ${{ matrix.instance }}' diff --git a/kitchen.macos.yml b/kitchen.macos.yml new file mode 100644 index 0000000..1d89edb --- /dev/null +++ b/kitchen.macos.yml @@ -0,0 +1,36 @@ +--- +driver: + name: exec + +provisioner: + sudo: true + salt_bootstrap_options: -MP stable %s + salt_call_command: /opt/salt/bin/salt-call + init_environment: | + echo 'auto_accept: true' > /tmp/auto-accept-keys.conf + sudo mkdir -p /etc/salt/master.d + sudo mv /tmp/auto-accept-keys.conf /etc/salt/master.d/auto-accept-keys.conf + brew install coreutils + sh -c 't=$(gshuf -i 1-15 -n 1); echo Sleeping $t seconds; sleep $t' + +platforms: + - name: macos-12 + - name: macos-11 + - name: macos-1015 + +suites: + - name: py3-stable-3002 + provisioner: + salt_version: 3002.8 + - name: py3-stable-3003 + provisioner: + salt_version: 3003.4 + - name: py3-stable-3004 + provisioner: + salt_version: 3004.1 + - name: latest + provisioner: + salt_version: latest + +verifier: + command: pytest --cache-clear -v -s -ra --log-cli-level=debug -k "not test_ping" tests/integration/ diff --git a/kitchen.vagrant.yml b/kitchen.vagrant.yml index 0d855e7..1674a22 100644 --- a/kitchen.vagrant.yml +++ b/kitchen.vagrant.yml @@ -9,8 +9,8 @@ driver: gui: false ssh: shell: /bin/sh - <% unless ENV['CI'] %> linked_clone: true + <% unless ENV['CI'] %> synced_folders: - - '.kitchen/kitchen-vagrant/%{instance_name}/vagrant' - '/vagrant' diff --git a/tests/conftest.py b/tests/conftest.py index 2f60c28..6c47deb 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -9,6 +9,11 @@ log = logging.getLogger(__name__) @pytest.fixture(scope="session") def host(): + if os.environ.get("RUNNER_OS", "") == "macOS": + # Adjust the `PATH` so that the `salt-call` executable can be found + os.environ["PATH"] = "/opt/salt/bin{}{}".format(os.pathsep, os.environ["PATH"]) + return testinfra.get_host("local://", sudo=True) + if os.environ.get("KITCHEN_USERNAME") == "vagrant" or "windows" in os.environ.get( "KITCHEN_INSTANCE" ): From 8fdce31eee4de998361e927c46ddcb3038acc187 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Tue, 26 Apr 2022 06:17:28 +0100 Subject: [PATCH 063/113] test(requirements): update `testinfra` => `pytest-testinfra` Resolve this `DeprecationWarning`: ``` /usr/local/lib/python3.9/site-packages/_testinfra_renamed.py:5: DeprecationWarning: testinfra package has been renamed to pytest-testinfra. Please `pip install pytest-testinfra` and `pip uninstall testinfra` and update your package requirements to avoid this message ``` --- tests/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/requirements.txt b/tests/requirements.txt index cabcdee..c76dfdd 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -1,4 +1,4 @@ -testinfra +pytest-testinfra paramiko pywinrm; sys.platform == 'win32' six>=1.10.0 From e320671e73f1d6cf8bd7f52a7b694909d4daefc9 Mon Sep 17 00:00:00 2001 From: Twangboy Date: Wed, 18 May 2022 09:49:12 -0600 Subject: [PATCH 064/113] Handle missing registry entry properly --- bootstrap-salt.ps1 | 120 ++++++++++++++++++++++++--------------------- 1 file changed, 63 insertions(+), 57 deletions(-) diff --git a/bootstrap-salt.ps1 b/bootstrap-salt.ps1 index fb6e22a..468732a 100644 --- a/bootstrap-salt.ps1 +++ b/bootstrap-salt.ps1 @@ -1,11 +1,11 @@ <# .SYNOPSIS - A simple Powershell script to download and install a salt minion on windows. + A simple Powershell script to download and install a Salt minion on Windows. .DESCRIPTION - The script will download the official salt package from saltstack. It will + The script will download the official Salt package from SaltProject. It will install a specific package version and accept parameters for the master and - minion ids. Finally, it can stop and set the windows service to "manual" for + minion ids. Finally, it can stop and set the Windows service to "manual" for local testing. .EXAMPLE @@ -18,8 +18,9 @@ .EXAMPLE ./bootstrap-salt.ps1 -pythonVersion 3 - Specifies the Python version of the installer. Can be "2" or "3". Defaults to "2". - Python 3 installers are only available for Salt 2017.7.0 and newer. + Specifies the Python version of the installer. Can be "2" or "3". Defaults + to "2". Python 3 installers are only available for Salt 2017.7.0 and newer. + Starting with Python 3002 only Python 3 installers are available. .EXAMPLE ./bootstrap-salt.ps1 -runservice false @@ -71,36 +72,36 @@ #> #=============================================================================== -# Commandlet Binding +# Bind Parameters #=============================================================================== [CmdletBinding()] -Param( - [Parameter(Mandatory=$false,ValueFromPipeline=$true)] +param( + [Parameter(Mandatory=$false, ValueFromPipeline=$True)] # Doesn't support versions prior to "YYYY.M.R-B" # Supports new version and latest # Option 1 means case insensitive [ValidatePattern('^(\d{4}(\.\d{1,2}){0,2}(\-\d{1})?)|(latest)$', Options=1)] - [string]$version = '', + [string]$Version = '', - [Parameter(Mandatory=$false,ValueFromPipeline=$true)] + [Parameter(Mandatory=$false, ValueFromPipeline=$True)] # Doesn't support Python versions prior to "2017.7.0" [ValidateSet("2","3")] - [string]$pythonVersion = "3", + [string]$PythonVersion = "3", - [Parameter(Mandatory=$false,ValueFromPipeline=$true)] + [Parameter(Mandatory=$false, ValueFromPipeline=$True)] [ValidateSet("true","false")] - [string]$runservice = "true", + [string]$RunService = "true", - [Parameter(Mandatory=$false,ValueFromPipeline=$true)] - [string]$minion = "not-specified", + [Parameter(Mandatory=$false, ValueFromPipeline=$True)] + [string]$Minion = "not-specified", - [Parameter(Mandatory=$false,ValueFromPipeline=$true)] - [string]$master = "not-specified", + [Parameter(Mandatory=$false, ValueFromPipeline=$True)] + [string]$Master = "not-specified", - [Parameter(Mandatory=$false,ValueFromPipeline=$true)] - [string]$repourl= "https://repo.saltproject.io/windows", + [Parameter(Mandatory=$false, ValueFromPipeline=$True)] + [string]$RepoUrl= "https://repo.saltproject.io/windows", - [Parameter(Mandatory=$false,ValueFromPipeline=$true)] + [Parameter(Mandatory=$false, ValueFromPipeline=$True)] [switch]$ConfigureOnly ) @@ -125,8 +126,8 @@ function Get-IsUacEnabled #=============================================================================== # Check for Elevated Privileges #=============================================================================== -If (!(Get-IsAdministrator)) { - If (Get-IsUacEnabled) { +if (!(Get-IsAdministrator)) { + if (Get-IsUacEnabled) { # We are not running "as Administrator" - so relaunch as administrator # Create a new process object that starts PowerShell $newProcess = new-object System.Diagnostics.ProcessStartInfo "PowerShell"; @@ -149,10 +150,10 @@ If (!(Get-IsAdministrator)) { [System.Diagnostics.Process]::Start($newProcess); # Exit from the current, unelevated, process - Exit + exit } - Else { - Throw "You must be administrator to run this script" + else { + throw "You must be administrator to run this script" } } @@ -166,15 +167,15 @@ Write-Verbose "master: $master" Write-Verbose "minion: $minion" Write-Verbose "repourl: $repourl" -If ($runservice.ToLower() -eq "true") { +if ($runservice.ToLower() -eq "true") { Write-Verbose "Windows service will be set to run" [bool]$runservice = $True } -ElseIf ($runservice.ToLower() -eq "false") { +elseif ($runservice.ToLower() -eq "false") { Write-Verbose "Windows service will be stopped and set to manual" [bool]$runservice = $False } -Else { +else { # Param passed in wasn't clear so defaulting to true. Write-Verbose "Windows service defaulting to run automatically" [bool]$runservice = $True @@ -186,22 +187,28 @@ Else { $ConfiguredAnything = $False +$RootDir = "C:\salt" $SaltRegKey = "HKLM:\SOFTWARE\Salt Project\Salt" -$RootDir = If ((Get-ItemProperty $SaltRegKey).root_dir -ne $null) { - (Get-ItemProperty $SaltRegKey).root_dir -} Else { - "C:\salt" +if (Test-Path -Path $SaltRegKey) { + if ($null -ne (Get-ItemProperty $SaltRegKey).root_dir) { + $RootDir = (Get-ItemProperty $SaltRegKey).root_dir + } } + $ConfDir = "$RootDir\conf" $PkiDir = "$ConfDir\pki\minion" +Write-Verbose "ConfDir: $ConfDir" # Create C:\tmp\ New-Item C:\tmp\ -ItemType directory -Force | Out-Null -# Copy Vagrant Files to their proper location. Vagrant files will be placed -# in C:\tmp +#=============================================================================== +# Copy Vagrant Files to their proper location. +#=============================================================================== + +# Vagrant files will be placed in C:\tmp # Check if minion keys have been uploaded, copy to correct location -If (Test-Path C:\tmp\minion.pem) { +if (Test-Path C:\tmp\minion.pem) { New-Item $PkiDir -ItemType Directory -Force | Out-Null Copy-Item -Path C:\tmp\minion.pem -Destination $PkiDir -Force | Out-Null Copy-Item -Path C:\tmp\minion.pub -Destination $PkiDir -Force | Out-Null @@ -211,20 +218,20 @@ If (Test-Path C:\tmp\minion.pem) { # Check if minion config has been uploaded # This should be done before the installer is run so that it can be updated with # id: and master: settings when the installer runs -If (Test-Path C:\tmp\minion) { +if (Test-Path C:\tmp\minion) { New-Item $ConfDir -ItemType Directory -Force | Out-Null Copy-Item -Path C:\tmp\minion -Destination $ConfDir -Force | Out-Null $ConfiguredAnything = $True } # Check if grains config has been uploaded -If (Test-Path C:\tmp\grains) { +if (Test-Path C:\tmp\grains) { New-Item $ConfDir -ItemType Directory -Force | Out-Null Copy-Item -Path C:\tmp\grains -Destination $ConfDir -Force | Out-Null $ConfiguredAnything = $True } -If ($ConfigureOnly -and !$ConfiguredAnything) { +if ($ConfigureOnly -and !$ConfiguredAnything) { Write-Output "No configuration or keys were copied over. No configuration was done!" exit 0 } @@ -232,31 +239,30 @@ If ($ConfigureOnly -and !$ConfiguredAnything) { #=============================================================================== # Detect architecture #=============================================================================== -If ([IntPtr]::Size -eq 4) { +if ([IntPtr]::Size -eq 4) { $arch = "x86" -} -Else { +} else { $arch = "AMD64" } #=============================================================================== # Use version "Latest" if no version is passed #=============================================================================== -If ((!$version) -or ($version.ToLower() -eq 'latest')){ - $versionSection = "Latest-Py$pythonVersion" +if ((!$version) -or ($version.ToLower() -eq 'latest')){ + $versionSection = "Latest-Py$PythonVersion" } else { $versionSection = $version $year = $version.Substring(0, 4) - If ([int]$year -ge 2017) { - If ($pythonVersion -eq "3") { + if ([int]$year -ge 2017) { + if ($PythonVersion -eq "3") { $versionSection = "$version-Py3" - } Else { + } else { $versionSection = "$version-Py2" } } } -If (!$ConfigureOnly) { +if (!$ConfigureOnly) { #=============================================================================== # Download minion setup file #=============================================================================== @@ -275,9 +281,9 @@ If (!$ConfigureOnly) { # - master: salt # - Start the service $parameters = "" - If($minion -ne "not-specified") {$parameters = "/minion-name=$minion"} - If($master -ne "not-specified") {$parameters = "$parameters /master=$master"} - If($runservice -eq $false) {$parameters = "$parameters /start-service=0"} + if($minion -ne "not-specified") {$parameters = "/minion-name=$minion"} + if($master -ne "not-specified") {$parameters = "$parameters /master=$master"} + if($runservice -eq $false) {$parameters = "$parameters /start-service=0"} #=============================================================================== # Install minion silently @@ -291,12 +297,12 @@ If (!$ConfigureOnly) { #=============================================================================== # Wait for salt-minion service to be registered before trying to start it $service = Get-Service salt-minion -ErrorAction SilentlyContinue - While (!$service) { + while (!$service) { Start-Sleep -s 2 $service = Get-Service salt-minion -ErrorAction SilentlyContinue } - If($runservice) { + if($runservice) { # Start service Write-Output "Starting the Salt minion service" Start-Service -Name "salt-minion" -ErrorAction SilentlyContinue @@ -304,7 +310,7 @@ If (!$ConfigureOnly) { # Check if service is started, otherwise retry starting the # service 4 times. $try = 0 - While (($service.Status -ne "Running") -and ($try -ne 4)) { + while (($service.Status -ne "Running") -and ($try -ne 4)) { Start-Service -Name "salt-minion" -ErrorAction SilentlyContinue $service = Get-Service salt-minion -ErrorAction SilentlyContinue Start-Sleep -s 2 @@ -313,12 +319,12 @@ If (!$ConfigureOnly) { # If the salt-minion service is still not running, something probably # went wrong and user intervention is required - report failure. - If ($service.Status -eq "Stopped") { + if ($service.Status -eq "Stopped") { Write-Output -NoNewline "Failed to start salt minion" exit 1 } } - Else { + else { Write-Output -NoNewline "Stopping salt minion and setting it to 'Manual'" Set-Service "salt-minion" -StartupType "Manual" Stop-Service "salt-minion" @@ -328,9 +334,9 @@ If (!$ConfigureOnly) { #=============================================================================== # Script Complete #=============================================================================== -If ($ConfigureOnly) { +if ($ConfigureOnly) { Write-Output "Salt minion successfully configured" } -Else { +else { Write-Output "Salt minion successfully installed" } From 8636d9413092654c91303d64a660841b2e9b2116 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Thu, 19 May 2022 14:17:19 +0200 Subject: [PATCH 065/113] Bump version to 2022.05.19 release --- ChangeLog | 6 ++++++ bootstrap-salt.sh | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index bfffef0..fda066b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ Version TBD (In Progress on the Develop Branch): +Version 2022.05.19 + * Fix situations where the registry key for root_dir does not exist + on Windows (twangboy) #1828 + * Add Ubuntu 22 support (krionbsd) #1820 + * Add Fedora 36 support (myii) #1818 + Version 2022.03.15: * Add detection and functions for AlmaLinux and Rocky Linux (myii) #1803 * Copy configs to correct config dirs (v3004+) (dafyddj) #1798 diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 379311f..b0d6d68 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -23,7 +23,7 @@ #====================================================================================================================== set -o nounset # Treat unset variables as an error -__ScriptVersion="2022.03.15" +__ScriptVersion="2022.05.19" __ScriptName="bootstrap-salt.sh" __ScriptFullName="$0" From e7d894458b6ccb33431efd3fe08f86af9002c5c0 Mon Sep 17 00:00:00 2001 From: krionbsd Date: Thu, 19 May 2022 13:48:15 +0000 Subject: [PATCH 066/113] Update README.rst with 2022.05.19 release sha256sum --- README.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/README.rst b/README.rst index 29690ae..00f85f4 100644 --- a/README.rst +++ b/README.rst @@ -32,6 +32,7 @@ sum** of the downloaded ``bootstrap-salt.sh`` file. The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is: +- 2022.05.19: ``e92e1df6930285cf23eda188bee3cfa3dd6c577b4fb7aa91b29213ad820199b1`` - 2022.03.15: ``8f65952c3435f441e7f793941d5162d3ec2033a9ef82722ff1da67a2ef860a2f`` - 2021.09.17: ``090d652cd6290debce0e3a4eded65086a4272e69446e711eb26f87160593b6a2`` - 2021.09.14: ``30fdcba972f449630b4f13492cb5525e69e08fa2cdb66a6dc78f1536ad279e52`` From 72de037c8560c8771090bdee6dfc0719e8ecc8b7 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Tue, 7 Jun 2022 06:29:28 +0100 Subject: [PATCH 067/113] ci(kitchen.macos.yml): fix `macOS` name (align to current branding) https://en.wikipedia.org/wiki/MacOS > Apple shortened the name to "OS X" in 2012 and then changed it to > "macOS" in 2016 to align with the branding of Apple's other operating > systems, iOS, watchOS, and tvOS. --- .github/workflows/kitchen.macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/kitchen.macos.yml b/.github/workflows/kitchen.macos.yml index 6ec70d6..d718976 100644 --- a/.github/workflows/kitchen.macos.yml +++ b/.github/workflows/kitchen.macos.yml @@ -1,6 +1,6 @@ # yamllint disable rule:line-length --- -name: 'Kitchen (MacOS)' +name: 'Kitchen (macOS)' 'on': ['push', 'pull_request'] env: From 3265e88e29de806baa1cc52e60ebd0524012ff30 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Tue, 7 Jun 2022 06:29:33 +0100 Subject: [PATCH 068/113] ci: remove `fedora-34` (EOL) * https://fedorapeople.org/groups/schedule/f-34/f-34-all-tasks.html - See last entry for `EOL`: Wed 2022-06-01 --- .github/workflows/main.yml | 92 ------------------------- .github/workflows/templates/generate.py | 9 --- kitchen.yml | 5 +- 3 files changed, 1 insertion(+), 105 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0deede8..69030d6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2025,98 +2025,6 @@ jobs: bundle exec kitchen destroy latest-debian-9 - py3-git-master-fedora-34: - name: Fedora 34 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-fedora-34 || bundle exec kitchen create py3-git-master-fedora-34 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-fedora-34 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-fedora-34 - - - latest-fedora-34: - name: Fedora 34 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-34 || bundle exec kitchen create latest-fedora-34 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-fedora-34 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-fedora-34 - - py3-git-master-fedora-35: name: Fedora 35 Master Py3 Git runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 2b1cc1f..1b70af3 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -14,7 +14,6 @@ LINUX_DISTROS = [ "debian-10", "debian-11", "debian-9", - "fedora-34", "fedora-35", "fedora-36", "gentoo", @@ -40,7 +39,6 @@ STABLE_DISTROS = [ "debian-10", "debian-11", "debian-9", - "fedora-34", "fedora-35", "fedora-36", "gentoo", @@ -61,7 +59,6 @@ BLACKLIST_3002 = [ "arch", "centos-stream8", "debian-11", - "fedora-34", "fedora-35", "fedora-36", "gentoo", @@ -79,7 +76,6 @@ BLACKLIST_GIT_3002 = [ "centos-stream8", "debian-10", "debian-11", - "fedora-34", "fedora-35", "fedora-36", "gentoo", @@ -95,7 +91,6 @@ BLACKLIST_GIT_3002 = [ BLACKLIST_3003 = [ "arch", "debian-11", - "fedora-34", "fedora-35", "fedora-36", "gentoo", @@ -111,7 +106,6 @@ BLACKLIST_GIT_3003 = [ "arch", "debian-10", "debian-11", - "fedora-34", "fedora-35", "fedora-36", "gentoo", @@ -126,7 +120,6 @@ BLACKLIST_GIT_3003 = [ BLACKLIST_3004 = [ "arch", - "fedora-34", "fedora-35", "fedora-36", "gentoo", @@ -140,7 +133,6 @@ BLACKLIST_GIT_3004 = [ "arch", "debian-10", "debian-11", - "fedora-34", "fedora-35", "fedora-36", "gentoo", @@ -181,7 +173,6 @@ DISTRO_DISPLAY_NAMES = { "debian-10": "Debian 10", "debian-11": "Debian 11", "debian-9": "Debian 9", - "fedora-34": "Fedora 34", "fedora-35": "Fedora 35", "fedora-36": "Fedora 36", "gentoo": "Gentoo", diff --git a/kitchen.yml b/kitchen.yml index 1196a7e..1da7f1e 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -57,14 +57,11 @@ platforms: driver: image: debian:bullseye run_command: /lib/systemd/systemd - - name: fedora-34 + - name: fedora-35 driver: provision_command: &fedora_provision_command - dnf -y install procps-ng crypto-policies-scripts - update-crypto-policies --set LEGACY - - name: fedora-35 - driver: - provision_command: *fedora_provision_command - name: fedora-36 driver: provision_command: *fedora_provision_command From 9adf295207fac51058b2e57300f558904d933a0e Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Tue, 7 Jun 2022 06:29:36 +0100 Subject: [PATCH 069/113] ci(3002): remove from CI (EOL) * https://saltproject.io/salt-platform-support/ - Phase 3 support ends: Apr 21, 2022 --- .github/workflows/kitchen.macos.yml | 3 - .github/workflows/kitchen.windows.yml | 2 - .github/workflows/main.yml | 644 ------------------------ .github/workflows/templates/generate.py | 42 +- README.rst | 22 +- kitchen.macos.yml | 3 - kitchen.windows.yml | 3 - kitchen.yml | 12 - 8 files changed, 13 insertions(+), 718 deletions(-) diff --git a/.github/workflows/kitchen.macos.yml b/.github/workflows/kitchen.macos.yml index d718976..5e1be29 100644 --- a/.github/workflows/kitchen.macos.yml +++ b/.github/workflows/kitchen.macos.yml @@ -45,7 +45,6 @@ jobs: - latest-macos-12 - py3-stable-3004-macos-12 - py3-stable-3003-macos-12 - - py3-stable-3002-macos-12 steps: - name: 'Check out code' uses: 'actions/checkout@v2' @@ -77,7 +76,6 @@ jobs: - latest-macos-11 - py3-stable-3004-macos-11 - py3-stable-3003-macos-11 - - py3-stable-3002-macos-11 steps: - name: 'Check out code' uses: 'actions/checkout@v2' @@ -109,7 +107,6 @@ jobs: - latest-macos-1015 - py3-stable-3004-macos-1015 - py3-stable-3003-macos-1015 - - py3-stable-3002-macos-1015 steps: - name: 'Check out code' uses: 'actions/checkout@v2' diff --git a/.github/workflows/kitchen.windows.yml b/.github/workflows/kitchen.windows.yml index c3e6ff8..ce5c7c3 100644 --- a/.github/workflows/kitchen.windows.yml +++ b/.github/workflows/kitchen.windows.yml @@ -45,7 +45,6 @@ jobs: fail-fast: false matrix: instance: - - py3-stable-3002-windows-2022 - py3-stable-3003-windows-2022 - py3-stable-3004-windows-2022 - latest-windows-2022 @@ -100,7 +99,6 @@ jobs: fail-fast: false matrix: instance: - - py3-stable-3002-windows-2019 - py3-stable-3003-windows-2019 - py3-stable-3004-windows-2019 - latest-windows-2019 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 69030d6..06864cf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -323,52 +323,6 @@ jobs: bundle exec kitchen destroy latest-almalinux-8 - py3-stable-3002-amazon-2: - name: Amazon 2 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-amazon-2 || bundle exec kitchen create py3-stable-3002-amazon-2 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-amazon-2 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-amazon-2 - - py3-stable-3003-amazon-2: name: Amazon 2 v3003 Py3 Stable runs-on: ubuntu-latest @@ -645,98 +599,6 @@ jobs: bundle exec kitchen destroy latest-arch - py3-stable-3002-centos-7: - name: CentOS 7 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-centos-7 || bundle exec kitchen create py3-stable-3002-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-centos-7 - - - py3-git-3002-centos-7: - name: CentOS 7 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-centos-7 || bundle exec kitchen create py3-git-3002-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-centos-7 - - py3-stable-3003-centos-7: name: CentOS 7 v3003 Py3 Stable runs-on: ubuntu-latest @@ -1289,52 +1151,6 @@ jobs: bundle exec kitchen destroy latest-centos-stream8 - py3-stable-3002-debian-10: - name: Debian 10 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-debian-10 || bundle exec kitchen create py3-stable-3002-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-debian-10 - - py3-stable-3003-debian-10: name: Debian 10 v3003 Py3 Stable runs-on: ubuntu-latest @@ -1657,98 +1473,6 @@ jobs: bundle exec kitchen destroy latest-debian-11 - py3-stable-3002-debian-9: - name: Debian 9 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-debian-9 || bundle exec kitchen create py3-stable-3002-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-debian-9 - - - py3-git-3002-debian-9: - name: Debian 9 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-debian-9 || bundle exec kitchen create py3-git-3002-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-debian-9 - - py3-stable-3003-debian-9: name: Debian 9 v3003 Py3 Stable runs-on: ubuntu-latest @@ -2393,98 +2117,6 @@ jobs: bundle exec kitchen destroy latest-opensuse-tumbleweed - py3-stable-3002-oraclelinux-7: - name: Oracle Linux 7 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-oraclelinux-7 || bundle exec kitchen create py3-stable-3002-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-oraclelinux-7 - - - py3-git-3002-oraclelinux-7: - name: Oracle Linux 7 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-oraclelinux-7 || bundle exec kitchen create py3-git-3002-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-oraclelinux-7 - - py3-stable-3003-oraclelinux-7: name: Oracle Linux 7 v3003 Py3 Stable runs-on: ubuntu-latest @@ -2761,98 +2393,6 @@ jobs: bundle exec kitchen destroy latest-oraclelinux-7 - py3-stable-3002-oraclelinux-8: - name: Oracle Linux 8 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-oraclelinux-8 || bundle exec kitchen create py3-stable-3002-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-oraclelinux-8 - - - py3-git-3002-oraclelinux-8: - name: Oracle Linux 8 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-oraclelinux-8 || bundle exec kitchen create py3-git-3002-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-oraclelinux-8 - - py3-stable-3003-oraclelinux-8: name: Oracle Linux 8 v3003 Py3 Stable runs-on: ubuntu-latest @@ -3313,98 +2853,6 @@ jobs: bundle exec kitchen destroy latest-rockylinux-8 - py3-stable-3002-ubuntu-1804: - name: Ubuntu 18.04 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-ubuntu-1804 || bundle exec kitchen create py3-stable-3002-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-ubuntu-1804 - - - py3-git-3002-ubuntu-1804: - name: Ubuntu 18.04 v3002 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-ubuntu-1804 || bundle exec kitchen create py3-git-3002-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3002-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3002-ubuntu-1804 - - py3-stable-3003-ubuntu-1804: name: Ubuntu 18.04 v3003 Py3 Stable runs-on: ubuntu-latest @@ -3681,52 +3129,6 @@ jobs: bundle exec kitchen destroy latest-ubuntu-1804 - py3-stable-3002-ubuntu-2004: - name: Ubuntu 20.04 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-ubuntu-2004 || bundle exec kitchen create py3-stable-3002-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-ubuntu-2004 - - py3-stable-3003-ubuntu-2004: name: Ubuntu 20.04 v3003 Py3 Stable runs-on: ubuntu-latest @@ -3911,52 +3313,6 @@ jobs: bundle exec kitchen destroy latest-ubuntu-2004 - py3-stable-3002-ubuntu-2110: - name: Ubuntu 21.10 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-ubuntu-2110 || bundle exec kitchen create py3-stable-3002-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-ubuntu-2110 - - py3-stable-3003-ubuntu-2110: name: Ubuntu 21.10 v3003 Py3 Stable runs-on: ubuntu-latest diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 1b70af3..54e8d61 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -54,40 +54,6 @@ STABLE_DISTROS = [ "ubuntu-2204", ] -BLACKLIST_3002 = [ - "almalinux-8", - "arch", - "centos-stream8", - "debian-11", - "fedora-35", - "fedora-36", - "gentoo", - "gentoo-systemd", - "opensuse-15", - "opensuse-tumbleweed", - "rockylinux-8", - "ubuntu-2204", -] - -BLACKLIST_GIT_3002 = [ - "almalinux-8", - "amazon-2", - "arch", - "centos-stream8", - "debian-10", - "debian-11", - "fedora-35", - "fedora-36", - "gentoo", - "gentoo-systemd", - "opensuse-15", - "opensuse-tumbleweed", - "rockylinux-8", - "ubuntu-2004", - "ubuntu-2110", - "ubuntu-2204", -] - BLACKLIST_3003 = [ "arch", "debian-11", @@ -145,7 +111,6 @@ BLACKLIST_GIT_3004 = [ ] SALT_BRANCHES = [ - "3002", "3003", "3004", "master", @@ -153,7 +118,6 @@ SALT_BRANCHES = [ ] BRANCH_DISPLAY_NAMES = { - "3002": "v3002", "3003": "v3003", "3004": "v3004", "master": "Master", @@ -265,23 +229,21 @@ def generate_test_jobs(): continue BLACKLIST = { - "3002": BLACKLIST_3002, "3003": BLACKLIST_3003, "3004": BLACKLIST_3004, } if bootstrap_type == "git": BLACKLIST = { - "3002": BLACKLIST_GIT_3002, "3003": BLACKLIST_GIT_3003, "3004": BLACKLIST_GIT_3004, } - # .0 versions are a virtual version for pinning to the first point release of a major release, such as 3002, there is no git version. + # .0 versions are a virtual version for pinning to the first point release of a major release, such as 3003, there is no git version. if branch.endswith("-0"): continue if ( - branch in ("3002", "3003", "3004") + branch in ("3003", "3004") and distro in BLACKLIST[branch] ): continue diff --git a/README.rst b/README.rst index 00f85f4..da4bc95 100644 --- a/README.rst +++ b/README.rst @@ -102,12 +102,12 @@ To view the latest options and descriptions for ``salt-bootstrap``, use ``-h`` a Examples: - bootstrap-salt.sh - bootstrap-salt.sh stable - - bootstrap-salt.sh stable 3003.3 - - bootstrap-salt.sh stable v3002.7 + - bootstrap-salt.sh stable 3004.1 + - bootstrap-salt.sh stable v3003.4 - bootstrap-salt.sh testing - bootstrap-salt.sh git - - bootstrap-salt.sh git 3003.3 - - bootstrap-salt.sh git v3002.7 + - bootstrap-salt.sh git 3004.1 + - bootstrap-salt.sh git v3003.4 - bootstrap-salt.sh git 06f249901a2e2f1ed310d58ea3921a129f214358 Options: @@ -218,14 +218,14 @@ If you want to install a package of a specific release version, from the SaltSta .. code:: console curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io - sudo sh bootstrap-salt.sh -P stable 3003.3 + sudo sh bootstrap-salt.sh -P stable 3004.1 If you want to install a specific release version, based on the Git tags: .. code:: console curl -o bootstrap-salt.sh -L https://bootstrap.saltproject.io - sudo sh bootstrap-salt.sh git v3003.3 + sudo sh bootstrap-salt.sh git v3004.1 Using ``curl`` to install latest development version from GitHub: @@ -280,14 +280,14 @@ Installing a specific version from git using ``wget``: .. code:: console wget -O bootstrap-salt.sh https://bootstrap.saltproject.io - sudo sh bootstrap-salt.sh git v3003.3 + sudo sh bootstrap-salt.sh git v3004.1 Installing a specific version package from the SaltStack repo using ``wget``: .. code:: console wget -O bootstrap-salt.sh https://bootstrap.saltproject.io - sudo sh bootstrap-salt.sh -P stable 3003.3 + sudo sh bootstrap-salt.sh -P stable 3004.1 **NOTE** @@ -303,7 +303,7 @@ If you already have Python installed, ``python 2.7``, then it's as easy as: .. code:: console python -m urllib "https://bootstrap.saltproject.io" > bootstrap-salt.sh - sudo sh bootstrap-salt.sh -P stable 3003.3 + sudo sh bootstrap-salt.sh -P stable 3004.1 With python version 2, the following in-line code should always work: @@ -317,7 +317,7 @@ With python version 3: .. code:: console python3 -c 'import urllib.request; print(urllib.request.urlopen("https://bootstrap.saltproject.io").read().decode("ascii"))' > bootstrap-salt.sh - sudo sh bootstrap-salt.sh git v3003.3 + sudo sh bootstrap-salt.sh git v3004.1 Install using fetch ~~~~~~~~~~~~~~~~~~~ @@ -378,7 +378,7 @@ Installing a target version package of Salt from the SaltStack repo: .. code:: console - curl -L https://bootstrap.saltproject.io | sudo sh -s -- stable 3003.3 + curl -L https://bootstrap.saltproject.io | sudo sh -s -- stable 3004.1 Installing the latest master branch of Salt from git: diff --git a/kitchen.macos.yml b/kitchen.macos.yml index 1d89edb..cc4ed9a 100644 --- a/kitchen.macos.yml +++ b/kitchen.macos.yml @@ -19,9 +19,6 @@ platforms: - name: macos-1015 suites: - - name: py3-stable-3002 - provisioner: - salt_version: 3002.8 - name: py3-stable-3003 provisioner: salt_version: 3003.4 diff --git a/kitchen.windows.yml b/kitchen.windows.yml index 0c5b882..b732725 100644 --- a/kitchen.windows.yml +++ b/kitchen.windows.yml @@ -17,9 +17,6 @@ platforms: - name: windows-2019 suites: - - name: py3-stable-3002 - provisioner: - salt_version: 3002.8-1 - name: py3-stable-3003 provisioner: salt_version: 3003.4-1 diff --git a/kitchen.yml b/kitchen.yml index 1da7f1e..7d127ed 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -113,10 +113,6 @@ platforms: run_command: /lib/systemd/systemd suites: - - name: py3-git-3002 - provisioner: - salt_version: 3002 - salt_bootstrap_options: -x python3 -MPfq git %s - name: py3-git-3003 provisioner: salt_version: 3003 @@ -125,10 +121,6 @@ suites: provisioner: salt_version: 3004 salt_bootstrap_options: -x python3 -MPfq git %s - - name: py3-stable-3002-0 - provisioner: - salt_version: 3002 - salt_bootstrap_options: -x python3 -MP stable 3002.0 excludes: - opensuse-15 - opensuse-tumbleweed @@ -152,10 +144,6 @@ suites: - freebsd-130 - freebsd-123 - openbsd-6 - - name: py3-stable-3002 - provisioner: - salt_version: 3002 - salt_bootstrap_options: -x python3 -MP stable %s excludes: - opensuse-15 - opensuse-tumbleweed From 9818c45d8826e898a95853e7e69cd4a280198212 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Wed, 8 Jun 2022 09:10:12 +0100 Subject: [PATCH 070/113] test(conftest): adjust `PATH` on macOS jobs only (not Vagrant) --- tests/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/conftest.py b/tests/conftest.py index 6c47deb..e718201 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -9,7 +9,7 @@ log = logging.getLogger(__name__) @pytest.fixture(scope="session") def host(): - if os.environ.get("RUNNER_OS", "") == "macOS": + if os.environ.get("RUNNER_OS", "") == "macOS" and os.environ.get("KITCHEN_LOCAL_YAML", "") == "kitchen.macos.yml": # Adjust the `PATH` so that the `salt-call` executable can be found os.environ["PATH"] = "/opt/salt/bin{}{}".format(os.pathsep, os.environ["PATH"]) return testinfra.get_host("local://", sudo=True) From 197a9c2bac3544e30d3f93754fc6e9e3ac557534 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Wed, 8 Jun 2022 09:11:57 +0100 Subject: [PATCH 071/113] chore(gemfile.lock): update to latest gem versions --- Gemfile.lock | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 92cd270..0860045 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -10,16 +10,17 @@ GEM specs: bcrypt_pbkdf (1.1.0) builder (3.2.4) - chef-utils (17.9.52) + chef-utils (17.10.0) concurrent-ruby - concurrent-ruby (1.1.9) + concurrent-ruby (1.1.10) ed25519 (1.3.0) erubi (1.10.0) ffi (1.15.5) gssapi (1.3.1) ffi (>= 1.0.1) - gyoku (1.3.1) + gyoku (1.4.0) builder (>= 2.1.2) + rexml (~> 3.0) hashie (5.0.0) httpclient (2.8.3) kitchen-salt (0.7.2) @@ -33,14 +34,14 @@ GEM tty-box (~> 0.6) tty-prompt (~> 0.20) little-plugger (1.1.4) - logging (2.3.0) + logging (2.3.1) little-plugger (~> 1.1) multi_json (~> 1.14) - mixlib-install (3.12.16) + mixlib-install (3.12.19) mixlib-shellout mixlib-versioning thor - mixlib-shellout (3.2.5) + mixlib-shellout (3.2.7) chef-utils mixlib-versioning (1.2.12) multi_json (1.15.0) @@ -52,6 +53,7 @@ GEM nori (2.6.0) pastel (0.8.0) tty-color (~> 0.5) + rexml (3.2.5) rubyntlm (0.6.3) rubyzip (2.3.2) strings (0.2.1) @@ -74,7 +76,7 @@ GEM winrm-elevated (~> 1.0) winrm-fs (~> 1.1) thor (1.2.1) - tomlrb (2.0.1) + tomlrb (2.0.3) tty-box (0.7.0) pastel (~> 0.8) strings (~> 0.2.0) @@ -112,7 +114,7 @@ GEM wisper (2.0.1) PLATFORMS - ruby + x86_64-linux DEPENDENCIES kitchen-docker! @@ -121,4 +123,4 @@ DEPENDENCIES test-kitchen (>= 3.2.2) BUNDLED WITH - 2.1.2 + 2.2.26 From 04abf9711a7c400be292557d282c98f62db95632 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Wed, 8 Jun 2022 09:12:47 +0100 Subject: [PATCH 072/113] ci(freebsd): replace `13.0` with newly released `13.1` box * https://app.vagrantup.com/bento/boxes/freebsd-13.1 --- .github/workflows/kitchen.vagrant.yml | 4 ++-- kitchen.vagrant.yml | 4 ++-- kitchen.yml | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/kitchen.vagrant.yml b/.github/workflows/kitchen.vagrant.yml index 7ce5471..1364554 100644 --- a/.github/workflows/kitchen.vagrant.yml +++ b/.github/workflows/kitchen.vagrant.yml @@ -41,10 +41,10 @@ jobs: fail-fast: false matrix: instance: - - py3-git-master-freebsd-130 + - py3-git-master-freebsd-131 - py3-git-master-freebsd-123 # - py3-git-master-openbsd-6 - - latest-freebsd-130 + - latest-freebsd-131 - latest-freebsd-123 - latest-openbsd-6 steps: diff --git a/kitchen.vagrant.yml b/kitchen.vagrant.yml index 1674a22..cd36e71 100644 --- a/kitchen.vagrant.yml +++ b/kitchen.vagrant.yml @@ -27,9 +27,9 @@ provisioner: sudo: true platforms: - - name: freebsd-130 + - name: freebsd-131 driver: - box: bento/freebsd-13.0 + box: bento/freebsd-13.1 - name: freebsd-123 driver: box: bento/freebsd-12.3 diff --git a/kitchen.yml b/kitchen.yml index 7d127ed..743cafb 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -128,7 +128,7 @@ suites: - arch - gentoo - gentoo-systemd - - freebsd-130 + - freebsd-131 - freebsd-123 - openbsd-6 - name: py3-stable-3003-0 @@ -141,14 +141,14 @@ suites: - arch - gentoo - gentoo-systemd - - freebsd-130 + - freebsd-131 - freebsd-123 - openbsd-6 excludes: - opensuse-15 - opensuse-tumbleweed - arch - - freebsd-130 + - freebsd-131 - freebsd-123 - openbsd-6 - name: py3-stable-3003 @@ -159,7 +159,7 @@ suites: - opensuse-15 - opensuse-tumbleweed - arch - - freebsd-130 + - freebsd-131 - freebsd-123 - openbsd-6 - name: py3-stable-3004-0 @@ -172,7 +172,7 @@ suites: - arch - gentoo - gentoo-systemd - - freebsd-130 + - freebsd-131 - freebsd-123 - openbsd-6 - name: py3-stable-3004 @@ -183,7 +183,7 @@ suites: - opensuse-15 - opensuse-tumbleweed - arch - - freebsd-130 + - freebsd-131 - freebsd-123 - openbsd-6 - name: py3-git-master From b903662ad044ece9201a5bbd8efca84ca0aeb106 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Fri, 17 Jun 2022 13:17:21 +0100 Subject: [PATCH 073/113] feat(bootstrap-salt): handle openSUSE downstream repo change for `15.4` The difference between `15.3` and `15.4` can be seen here: * https://download.opensuse.org/repositories/systemsmanagement:/saltstack/ - `openSUSE_Leap_15.3` - `15.4` (i.e. not `openSUSE_Leap_15.4`) --- bootstrap-salt.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index b0d6d68..e2a9b6c 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -6463,6 +6463,8 @@ __set_suse_pkg_repo() { # Set distro repo variable if [ "${DISTRO_MAJOR_VERSION}" -gt 2015 ]; then DISTRO_REPO="openSUSE_Tumbleweed" + elif [ "${DISTRO_MAJOR_VERSION}" -eq 15 ] && [ "${DISTRO_MINOR_VERSION}" -ge 4 ]; then + DISTRO_REPO="${DISTRO_MAJOR_VERSION}.${DISTRO_MINOR_VERSION}" elif [ "${DISTRO_MAJOR_VERSION}" -ge 42 ] || [ "${DISTRO_MAJOR_VERSION}" -eq 15 ]; then DISTRO_REPO="openSUSE_Leap_${DISTRO_MAJOR_VERSION}.${DISTRO_MINOR_VERSION}" else From 0a9badd439aee0b5ca32171a847a1a2a7691fcaa Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Fri, 17 Jun 2022 13:19:51 +0100 Subject: [PATCH 074/113] ci(kitchen): update to openSUSE Leap 15.4 --- kitchen.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kitchen.yml b/kitchen.yml index 743cafb..1a94327 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -81,7 +81,7 @@ platforms: - echo "PubkeyAcceptedAlgorithms +ssh-rsa" | tee -a /etc/ssh/sshd_config - name: opensuse-15 driver: - image: opensuse/leap:15.3 + image: opensuse/leap:15.4 provision_command: - &opensuse_provision_command_01 zypper --non-interactive install --auto-agree-with-licenses dbus-1 - &opensuse_provision_command_02 zypper --non-interactive install --auto-agree-with-licenses sudo openssh which curl systemd From 8b33e968e1b9135e1b145138b4a23e7c80133b85 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Fri, 17 Jun 2022 13:59:11 +0100 Subject: [PATCH 075/113] fix(bootstrap-salt): add `pyzmq` build deps for Tumbleweed `git` builds --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index e2a9b6c..4c11c5d 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -6614,7 +6614,7 @@ install_opensuse_git_deps() { fi # Check for Tumbleweed elif [ "${DISTRO_MAJOR_VERSION}" -ge 20210101 ]; then - __PACKAGES="python3-pip" + __PACKAGES="python3-pip gcc-c++ python310-pyzmq-devel" else __PACKAGES="python-pip python-setuptools gcc" fi From 86dc5bf7becef68d56cc60608c9f2dd2f38eeaaf Mon Sep 17 00:00:00 2001 From: krionbsd Date: Wed, 13 Jul 2022 08:41:12 +0200 Subject: [PATCH 076/113] Rename to py39-salt, Python 3.9 is default version on FreeBSD --- bootstrap-salt.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 4c11c5d..679426b 100644 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -5983,15 +5983,15 @@ install_freebsd_git_deps() { if [ "${_POST_NEON_INSTALL}" -eq $BS_FALSE ]; then - SALT_DEPENDENCIES=$(/usr/local/sbin/pkg rquery %dn py38-salt) + SALT_DEPENDENCIES=$(/usr/local/sbin/pkg rquery %dn py39-salt) # shellcheck disable=SC2086 /usr/local/sbin/pkg install -y ${SALT_DEPENDENCIES} python || return 1 - /usr/local/sbin/pkg install -y py38-requests || return 1 - /usr/local/sbin/pkg install -y py38-tornado4 || return 1 + /usr/local/sbin/pkg install -y py39-requests || return 1 + /usr/local/sbin/pkg install -y py39-tornado4 || return 1 else - /usr/local/sbin/pkg install -y python py38-pip py38-setuptools libzmq4 libunwind || return 1 + /usr/local/sbin/pkg install -y python py39-pip py39-setuptools libzmq4 libunwind || return 1 fi echodebug "Adapting paths to FreeBSD" @@ -6037,7 +6037,7 @@ install_freebsd_stable() { # installing latest version of salt from FreeBSD CURRENT ports repo # # shellcheck disable=SC2086 - /usr/local/sbin/pkg install -y py38-salt || return 1 + /usr/local/sbin/pkg install -y py39-salt || return 1 return 0 } From 2cb95abd296c0f396c61a40b98dac92c5b762389 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Tue, 19 Jul 2022 09:58:48 -0700 Subject: [PATCH 077/113] More updates for installing Salt Tiamat packages via the bootstrap script. --- bootstrap-salt.sh | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 649c2ac..ebee79f 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -268,6 +268,7 @@ _CUSTOM_MASTER_CONFIG="null" _CUSTOM_MINION_CONFIG="null" _QUIET_GIT_INSTALLATION=$BS_FALSE _REPO_URL="repo.saltproject.io" +_TIAMT_DIR="salt_rc" _PY_EXE="python3" _INSTALL_PY="$BS_FALSE" _TORNADO_MAX_PY3_VERSION="5.0" @@ -3007,8 +3008,9 @@ __install_saltstack_ubuntu_tiamat_repository() { fi # SaltStack's stable Ubuntu repository: - SALTSTACK_UBUNTU_URL="${HTTP_VAL}://${_REPO_URL}/salt-dev/${__PY_VERSION_REPO}/ubuntu/${UBUNTU_VERSION}/${__REPO_ARCH}/${TIAMAT_REV}" - echo "$__REPO_ARCH_DEB $SALTSTACK_UBUNTU_URL $UBUNTU_CODENAME main" > /etc/apt/sources.list.d/salt.list + SALTSTACK_UBUNTU_URL="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/ubuntu/${UBUNTU_VERSION}/${__REPO_ARCH}" + #echo "$__REPO_ARCH_DEB $SALTSTACK_UBUNTU_URL $UBUNTU_CODENAME main" > /etc/apt/sources.list.d/salt.list + echo "$__REPO_ARCH_DEB $SALTSTACK_UBUNTU_URL stable main" > /etc/apt/sources.list.d/salt.list __apt_key_fetch "$SALTSTACK_UBUNTU_URL/salt-archive-keyring.gpg" || return 1 @@ -3526,7 +3528,7 @@ __install_saltstack_debian_tiamat_repository() { __apt_get_install_noinput ${__PACKAGES} || return 1 # amd64 is just a part of repository URI, 32-bit pkgs are hosted under the same location - SALTSTACK_DEBIAN_URL="${HTTP_VAL}://${_REPO_URL}/salt-dev/${__PY_VERSION_REPO}/debian/${DEBIAN_RELEASE}/${__REPO_ARCH}/${TIAMAT_REV}" + SALTSTACK_DEBIAN_URL="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/debian/${DEBIAN_RELEASE}/${__REPO_ARCH}/${TIAMAT_REV}" echo "$__REPO_ARCH_DEB $SALTSTACK_DEBIAN_URL $DEBIAN_CODENAME main" > "/etc/apt/sources.list.d/salt.list" __apt_key_fetch "$SALTSTACK_DEBIAN_URL/salt-archive-keyring.gpg" || return 1 @@ -4264,9 +4266,13 @@ __install_epel_repository() { return 0 fi + # Download latest 'epel-next-release' package for the distro version directly + epel_next_repo_url="${HTTP_VAL}://dl.fedoraproject.org/pub/epel/epel-next-release-latest-${DISTRO_MAJOR_VERSION}.noarch.rpm" + # Download latest 'epel-release' package for the distro version directly epel_repo_url="${HTTP_VAL}://dl.fedoraproject.org/pub/epel/epel-release-latest-${DISTRO_MAJOR_VERSION}.noarch.rpm" - rpm -Uvh --force "$epel_repo_url" || return 1 + + yum -y install ${epel_next_repo_url} ${epel_repo_url} _EPEL_REPOS_INSTALLED=$BS_TRUE @@ -4341,7 +4347,7 @@ __install_saltstack_tiamat_rhel_repository() { # Avoid using '$releasever' variable for yum. # Instead, this should work correctly on all RHEL variants. - base_url="${HTTP_VAL}://${_REPO_URL}/salt-dev/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/" + base_url="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/" if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then gpg_key="SALTSTACK-GPG-KEY.pub base/RPM-GPG-KEY-CentOS-7" else @@ -4367,7 +4373,7 @@ enabled=1 enabled_metadata=1 _eof - fetch_url="${HTTP_VAL}://${_REPO_URL}/salt-dev/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/${CPU_ARCH_L}/" + fetch_url="${HTTP_VAL}://${_REPO_URL}/salt_rc/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/${CPU_ARCH_L}/" for key in $gpg_key; do __rpm_import_gpg "${fetch_url}${key}" || return 1 done @@ -8196,10 +8202,10 @@ install_macosx_restart_daemons() { install_tiamat() { echoinfo "Fetching repo.json for Tiamat ${_TIAMAT_TYPE}" - base_url="https://repo.saltproject.io/salt-dev/" + base_url="https://repo.saltproject.io/salt_rc/" tiamat_type_repo_json_url="${base_url}${_TIAMAT_TYPE}/repo.json" repo_json_file="$(mktemp /tmp/base-json-XXXXXXXX 2>/dev/null)" - salt_url="https://repo.saltproject.io/salt-dev/${_TIAMAT_TYPE}" + salt_url="https://repo.saltproject.io/salt_rc/${_TIAMAT_TYPE}" if [ -z "$repo_json_file" ]; then echoerror "Failed to create temporary file in /tmp" From b6f7490e5a2d3a9f5f1d7c6a7d3d11f2e9dad36a Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Tue, 19 Jul 2022 10:06:20 -0700 Subject: [PATCH 078/113] fixing typo. --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 34a00dd..125e244 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -268,7 +268,7 @@ _CUSTOM_MASTER_CONFIG="null" _CUSTOM_MINION_CONFIG="null" _QUIET_GIT_INSTALLATION=$BS_FALSE _REPO_URL="repo.saltproject.io" -_TIAMT_DIR="salt_rc" +_TIAMAT_DIR="salt_rc" _PY_EXE="python3" _INSTALL_PY="$BS_FALSE" _TORNADO_MAX_PY3_VERSION="5.0" From b69353db3a717cf29bbfa1d0e87b0c2935e25f4d Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Tue, 19 Jul 2022 10:17:46 -0700 Subject: [PATCH 079/113] Updating salt_rc directory --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 125e244..1685c78 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -268,7 +268,7 @@ _CUSTOM_MASTER_CONFIG="null" _CUSTOM_MINION_CONFIG="null" _QUIET_GIT_INSTALLATION=$BS_FALSE _REPO_URL="repo.saltproject.io" -_TIAMAT_DIR="salt_rc" +_TIAMAT_DIR="salt_rc/salt" _PY_EXE="python3" _INSTALL_PY="$BS_FALSE" _TORNADO_MAX_PY3_VERSION="5.0" From 316c74ab3728faf75dfec834c0f1dc6794b4dfd1 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Tue, 19 Jul 2022 10:20:28 -0700 Subject: [PATCH 080/113] fixing another reference to the Tiamat directory --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 1685c78..a9cf5c1 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4382,7 +4382,7 @@ enabled=1 enabled_metadata=1 _eof - fetch_url="${HTTP_VAL}://${_REPO_URL}/salt_rc/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/${CPU_ARCH_L}/" + fetch_url="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/${CPU_ARCH_L}/" for key in $gpg_key; do __rpm_import_gpg "${fetch_url}${key}" || return 1 done From 559b8db54f6f7c6a14dd13b8b7fa0e220c283d61 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Thu, 21 Jul 2022 12:34:33 -0700 Subject: [PATCH 081/113] Adding TIAMAT_REV to install specific versions of Tiamat packages, defaults to latest. --- bootstrap-salt.sh | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index a9cf5c1..45caa75 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -627,8 +627,23 @@ elif [ "$ITYPE" = "stable" ]; then fi elif [ "$ITYPE" = "tiamat" ]; then - #TIAMET_REV="latest" - TIAMET_REV="" + if [ "$#" -eq 0 ];then + TIAMAT_REV="latest" + else + if [ "$(echo "$1" | grep -E '^(latest)$')" != "" ]; then + TIAMAT_REV="$1" + shift + elif [ "$(echo "$1" | grep -E '^([3-9][0-9]{3}(\.[0-9]*)?)$')" != "" ]; then + # Handle the 3xxx.0 version as 3xxx archive (pin to minor) and strip the fake ".0" suffix + TIAMAT_REV=$(echo "$1" | sed -E 's/^([3-9][0-9]{3})\.0$/\1/') + TIAMAT_REV="minor/$TIAMAT_REV" + shift + else + echo "Unknown stable version: $1 (valid: 3005, latest.)" + exit 1 + fi + fi + fi # Check for any unparsed arguments. Should be an error. @@ -3012,7 +3027,7 @@ __install_saltstack_ubuntu_tiamat_repository() { fi # SaltStack's stable Ubuntu repository: - SALTSTACK_UBUNTU_URL="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/ubuntu/${UBUNTU_VERSION}/${__REPO_ARCH}" + SALTSTACK_UBUNTU_URL="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/ubuntu/${UBUNTU_VERSION}/${__REPO_ARCH}/${TIAMAT_REV}/" #echo "$__REPO_ARCH_DEB $SALTSTACK_UBUNTU_URL $UBUNTU_CODENAME main" > /etc/apt/sources.list.d/salt.list echo "$__REPO_ARCH_DEB $SALTSTACK_UBUNTU_URL stable main" > /etc/apt/sources.list.d/salt.list @@ -4356,7 +4371,7 @@ __install_saltstack_tiamat_rhel_repository() { # Avoid using '$releasever' variable for yum. # Instead, this should work correctly on all RHEL variants. - base_url="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/" + base_url="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/${TIAMAT_REV}/" if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then gpg_key="SALTSTACK-GPG-KEY.pub base/RPM-GPG-KEY-CentOS-7" else From 7e669842058887bfe0acd7dc19d6e2765dda7f6e Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Thu, 21 Jul 2022 15:43:17 -0700 Subject: [PATCH 082/113] Adding ability to install RC Tiamat packages via bootstrap script. --- bootstrap-salt.sh | 43 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 45caa75..2f2a1bd 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -268,7 +268,7 @@ _CUSTOM_MASTER_CONFIG="null" _CUSTOM_MINION_CONFIG="null" _QUIET_GIT_INSTALLATION=$BS_FALSE _REPO_URL="repo.saltproject.io" -_TIAMAT_DIR="salt_rc/salt" +_TIAMAT_DIR="salt" _PY_EXE="python3" _INSTALL_PY="$BS_FALSE" _TORNADO_MAX_PY3_VERSION="5.0" @@ -306,6 +306,10 @@ __usage() { - tiamat [version] Install a specific version. Only supported for tiamat packages available at repo.saltproject.io + - tiamat_rc Install latest tiamat RC release. + - tiamat_rc [version] Install a specific version. Only supported for + tiamat RC packages available at repo.saltproject.io + Examples: - ${__ScriptName} - ${__ScriptName} stable @@ -318,6 +322,8 @@ __usage() { - ${__ScriptName} git 06f249901a2e2f1ed310d58ea3921a129f214358 - ${__ScriptName} tiamat - ${__ScriptName} tiamat 3005 + - ${__ScriptName} tiamat_rc + - ${__ScriptName} tiamat_rc 3005 Options: -a Pip install all Python pkg dependencies for Salt. Requires -V to install @@ -588,7 +594,7 @@ if [ "$#" -gt 0 ];then fi # Check installation type -if [ "$(echo "$ITYPE" | grep -E '(stable|testing|git|tiamat)')" = "" ]; then +if [ "$(echo "$ITYPE" | grep -E '(stable|testing|git|tiamat|tiamat_rc)')" = "" ]; then echoerror "Installation type \"$ITYPE\" is not known..." exit 1 fi @@ -644,6 +650,29 @@ elif [ "$ITYPE" = "tiamat" ]; then fi fi +elif [ "$ITYPE" = "tiamat_rc" ]; then + # Change the _TIAMAT_DIR to be the location for the RC packages + _TIAMAT_DIR="salt_rc/salt" + + # Change ITYPE to tiamat so we use the regular Tiamat functions + ITYPE="tiamat" + + if [ "$#" -eq 0 ];then + TIAMAT_REV="latest" + else + if [ "$(echo "$1" | grep -E '^(latest)$')" != "" ]; then + TIAMAT_REV="$1" + shift + elif [ "$(echo "$1" | grep -E '^([3-9][0-9]{3}?rc[0-9]-[0-9]$)')" != "" ]; then + # Handle the 3xxx.0 version as 3xxx archive (pin to minor) and strip the fake ".0" suffix + #TIAMAT_REV=$(echo "$1" | sed -E 's/^([3-9][0-9]{3})\.0$/\1/') + TIAMAT_REV="minor/$1" + shift + else + echo "Unknown stable version: $1 (valid: 3005, latest.)" + exit 1 + fi + fi fi # Check for any unparsed arguments. Should be an error. @@ -3028,10 +3057,9 @@ __install_saltstack_ubuntu_tiamat_repository() { # SaltStack's stable Ubuntu repository: SALTSTACK_UBUNTU_URL="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/ubuntu/${UBUNTU_VERSION}/${__REPO_ARCH}/${TIAMAT_REV}/" - #echo "$__REPO_ARCH_DEB $SALTSTACK_UBUNTU_URL $UBUNTU_CODENAME main" > /etc/apt/sources.list.d/salt.list - echo "$__REPO_ARCH_DEB $SALTSTACK_UBUNTU_URL stable main" > /etc/apt/sources.list.d/salt.list + echo "$__REPO_ARCH_DEB $SALTSTACK_UBUNTU_URL $UBUNTU_CODENAME main" > /etc/apt/sources.list.d/salt.list - __apt_key_fetch "$SALTSTACK_UBUNTU_URL/salt-archive-keyring.gpg" || return 1 + __apt_key_fetch "${SALTSTACK_UBUNTU_URL}salt-archive-keyring.gpg" || return 1 __wait_for_apt apt-get update || return 1 } @@ -3547,10 +3575,10 @@ __install_saltstack_debian_tiamat_repository() { __apt_get_install_noinput ${__PACKAGES} || return 1 # amd64 is just a part of repository URI, 32-bit pkgs are hosted under the same location - SALTSTACK_DEBIAN_URL="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/debian/${DEBIAN_RELEASE}/${__REPO_ARCH}/${TIAMAT_REV}" + SALTSTACK_DEBIAN_URL="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/debian/${DEBIAN_RELEASE}/${__REPO_ARCH}/${TIAMAT_REV}/" echo "$__REPO_ARCH_DEB $SALTSTACK_DEBIAN_URL $DEBIAN_CODENAME main" > "/etc/apt/sources.list.d/salt.list" - __apt_key_fetch "$SALTSTACK_DEBIAN_URL/salt-archive-keyring.gpg" || return 1 + __apt_key_fetch "${SALTSTACK_DEBIAN_URL}salt-archive-keyring.gpg" || return 1 __wait_for_apt apt-get update || return 1 } @@ -8499,6 +8527,7 @@ daemons_running_tiamat() { return $FAILED_DAEMONS } + # # Ended daemons running check function # From ed00a6c9b0fc82dd20a8e5c82801b93c39dd1d57 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Fri, 22 Jul 2022 11:52:37 -0700 Subject: [PATCH 083/113] adding missing Debian bits for Tiamat installs. Renaming the tiamat repo. functions to be consistent. --- bootstrap-salt.sh | 61 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 4 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 2f2a1bd..1fa7765 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -3550,7 +3550,7 @@ __install_saltstack_debian_repository() { } __install_saltstack_debian_tiamat_repository() { - DEBIAN_RELEASE="$DISTRO_MAJOR_VERSION" + DEBIAN_RELEASE="$DISTRO_MAJORtiamat__VERSION" DEBIAN_CODENAME="$DISTRO_CODENAME" __PY_VERSION_REPO="apt" @@ -3636,6 +3636,59 @@ install_debian_deps() { return 0 } +install_debian_tiamat_deps() { + if [ $_START_DAEMONS -eq $BS_FALSE ]; then + echowarn "Not starting daemons on Debian based distributions is not working mostly because starting them is the default behaviour." + fi + + # No user interaction, libc6 restart services for example + export DEBIAN_FRONTEND=noninteractive + + __wait_for_apt apt-get update || return 1 + + if [ "${_UPGRADE_SYS}" -eq $BS_TRUE ]; then + # Try to update GPG keys first if allowed + if [ "${_INSECURE_DL}" -eq $BS_TRUE ]; then + if [ "$DISTRO_MAJOR_VERSION" -ge 10 ]; then + __apt_get_install_noinput --allow-unauthenticated debian-archive-keyring && apt-get update || return 1 + else + __apt_get_install_noinput --allow-unauthenticated debian-archive-keyring && + apt-key update && apt-get update || return 1 + fi + fi + + __apt_get_upgrade_noinput || return 1 + fi + + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + PY_PKG_VER=3 + else + PY_PKG_VER="" + fi + + # Additionally install procps and pciutils which allows for Docker bootstraps. See 366#issuecomment-39666813 + __PACKAGES='procps pciutils' + + # YAML module is used for generating custom master/minion configs + __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-yaml" + + # shellcheck disable=SC2086 + __apt_get_install_noinput ${__PACKAGES} || return 1 + + if [ "$_DISABLE_REPOS" -eq "$BS_FALSE" ] || [ "$_CUSTOM_REPO_URL" != "null" ]; then + __check_dpkg_architecture || return 1 + __install_saltstack_debian_tiamat_repository || return 1 + fi + + if [ "${_EXTRA_PACKAGES}" != "" ]; then + echoinfo "Installing the following extra packages as requested: ${_EXTRA_PACKAGES}" + # shellcheck disable=SC2086 + __apt_get_install_noinput ${_EXTRA_PACKAGES} || return 1 + fi + + return 0 +} + install_debian_git_pre() { if ! __check_command_exists git; then __apt_get_install_noinput git || return 1 @@ -4385,7 +4438,7 @@ _eof return 0 } -__install_saltstack_tiamat_rhel_repository() { +__install_saltstack_rhel_tiamat_repository() { if [ "$ITYPE" = "stable" ]; then repo_rev="$TIAMAT_REV" else @@ -4756,14 +4809,14 @@ install_centos_tiamat_deps() { if [ "$_DISABLE_REPOS" -eq "$BS_FALSE" ]; then __install_epel_repository || return 1 - __install_saltstack_tiamat_rhel_repository || return 1 + __install_saltstack_rhel_tiamat_repository || return 1 fi # If -R was passed, we need to configure custom repo url with rsync-ed packages # Which is still handled in __install_saltstack_rhel_repository. This call has # its own check in case -r was passed without -R. if [ "$_CUSTOM_REPO_URL" != "null" ]; then - __install_saltstack_tiamat_rhel_repository || return 1 + __install_saltstack_rhel_tiamat_repository || return 1 fi if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then From f0973863199953a9cf56fcbca810d719dc4943e9 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Fri, 22 Jul 2022 12:41:34 -0700 Subject: [PATCH 084/113] fixing some lint issues. --- bootstrap-salt.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 1fa7765..c6bb14d 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -3550,7 +3550,7 @@ __install_saltstack_debian_repository() { } __install_saltstack_debian_tiamat_repository() { - DEBIAN_RELEASE="$DISTRO_MAJORtiamat__VERSION" + DEBIAN_RELEASE="$DISTRO_MAJOR_VERSION" DEBIAN_CODENAME="$DISTRO_CODENAME" __PY_VERSION_REPO="apt" @@ -4377,7 +4377,7 @@ __install_epel_repository() { # Download latest 'epel-release' package for the distro version directly epel_repo_url="${HTTP_VAL}://dl.fedoraproject.org/pub/epel/epel-release-latest-${DISTRO_MAJOR_VERSION}.noarch.rpm" - yum -y install ${epel_next_repo_url} ${epel_repo_url} + yum -y install "${epel_next_repo_url}" "${epel_repo_url}" _EPEL_REPOS_INSTALLED=$BS_TRUE @@ -8572,8 +8572,9 @@ daemons_running_tiamat() { [ $fname = "master" ] && [ "$_INSTALL_MASTER" -eq $BS_FALSE ] && continue [ $fname = "syndic" ] && [ "$_INSTALL_SYNDIC" -eq $BS_FALSE ] && continue - if [ '$(ps wwwaux | grep -v grep | grep "/opt/saltstack/salt/run/run $fname")' = "" ]; then - echoerror "salt-$fname was not found running" + salt_path="/opt/saltstack/salt/run/run" + if [ "$(ps wwwaux | grep -v grep | grep $salt_path | grep $fname)" = "" ]; then + echoerror "$salt_process was not found running" FAILED_DAEMONS=$((FAILED_DAEMONS + 1)) fi done From 408f5beefb0e45b67c798b0722233372051556f9 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Mon, 25 Jul 2022 17:24:12 -0700 Subject: [PATCH 085/113] removing unnecessary code --- bootstrap-salt.sh | 137 ---------------------------------------------- 1 file changed, 137 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index c6bb14d..17797d3 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -8225,143 +8225,6 @@ install_macosx_restart_daemons() { # ####################################################################################################################### -####################################################################################################################### -# -# Begin Tiamat Onedir Install Functions -# - - _parse_json_specd_ver() { - local file_name="$1" - local salt_url_version="$2" - local file_value="" - local blk_count=0 - local specd_ver_blk_count=0 - local specd_ver_flag=0 - local found_specd_ver_linux=0 - - local var1="" - local var2="" - declare -A rdict - - file_value=$(<"${file_name}") - - # limit 80 cols - var1=$(echo "${file_value}" | sed 's/,/,\n/g' | sed 's/{/\n{\n/g') - var2=$(echo "${var1}" | sed 's/}/\n}\n/g' | sed 's/,//g' | sed 's/"//g') - - while IFS= read -r line - do - echodebug "$0:${FUNCNAME[0]} parsing line '${line}'" - if [[ -z "${line}" ]]; then - continue - fi - if [[ "${line}" = "{" ]]; then - (( blk_count++ )) - elif [[ "${line}" = "}" ]]; then - # examine directory just read in - if [[ ${specd_ver_flag} -eq 1 ]]; then - if [[ "${rdict['os']}" = "linux" ]]; then - # have linux values for specd_ver - echodebug "$0:${FUNCNAME[0]} parsed following linux for"\ - "specified version '${salt_url_version}' from repo json"\ - "file '${file_name}', os ${rdict['os']}, version"\ - "${rdict['version']}, name ${rdict['name']}, SHA512"\ - "${rdict['SHA512']}" - found_specd_ver_linux=1 - break - fi - fi - - if [[ ${blk_count} -eq ${specd_ver_blk_count} ]]; then - specd_ver_flag=0 - break - fi - (( blk_count-- )) - else - line_key=$(echo "${line}" | cut -d ':' -f 1 | xargs) - line_value=$(echo "${line}" | cut -d ':' -f 2 | xargs) - if [[ "${line_key}" = "${salt_url_version}" ]]; then - # note blk_count encountered 'specd_ver', closing brace check - specd_ver_flag=1 - specd_ver_blk_count=${blk_count} - (( specd_ver_blk_count++ )) - else - rdict["${line_key}"]="${line_value}" - echodebug "$0:${FUNCNAME[0]} updated dictionary with"\ - "line_key '${line_key}' and line_value '${line_value}'" - fi - fi - done <<< "${var2}" - - if [[ ${found_specd_ver_linux} -eq 1 ]]; then - echo "${rdict['version']}:${rdict['name']}:${rdict['SHA512']}" - else - echoerr "$0:${FUNCNAME[0]} unable to parse version, name and "\ - "SHA512 from repo json file '${file_name}'" - # echo "" - fi - return 0 -} - - -install_tiamat() { - echoinfo "Fetching repo.json for Tiamat ${_TIAMAT_TYPE}" - - base_url="https://repo.saltproject.io/salt_rc/" - tiamat_type_repo_json_url="${base_url}${_TIAMAT_TYPE}/repo.json" - repo_json_file="$(mktemp /tmp/base-json-XXXXXXXX 2>/dev/null)" - salt_url="https://repo.saltproject.io/salt_rc/${_TIAMAT_TYPE}" - - if [ -z "$repo_json_file" ]; then - echoerror "Failed to create temporary file in /tmp" - return 1 - fi - - __fetch_url "$repo_json_file" "$tiamat_type_repo_json_url" || return 1 - - json_version_name_sha=$(_parse_json_specd_ver "${repo_json_file}" "${_TIAMAT_VERSION}") - - echoinfo "json_version_name_sha ${json_version_name_sha}" - - echoinfo "Installing Tiamat ${_TIAMAT_TYPE}" - - rm -f "$repo_json_file" - - salt_json_version=$(\ - echo "${json_version_name_sha}" | awk -F":" '{print $1}') - salt_json_name=$(\ - echo "${json_version_name_sha}" | awk -F":" '{print $2}') - salt_json_sha512=$(\ - echo "${json_version_name_sha}" | awk -F":" '{print $3}') - echodebug "$0:${FUNCNAME[0]} using repo.json values version"\ - "'${salt_json_version}', name '${salt_json_name}, sha512"\ - "'${salt_json_sha512}'" - - echoinfo "salt_json_name - ${salt_json_name}" - salt_pkg_name="${salt_json_name}" - salt_pkg_url="${salt_url}/${salt_json_version}/${salt_pkg_name}" - - echoinfo "salt_pkg_name - ${salt_pkg_name}" - tempfile="$(mktemp /tmp/${salt_pkg_name}-XXXXXXXX.tar.gz 2>/dev/null)" - - if [ -z "$tempfile" ]; then - echoerror "Failed to create temporary file in /tmp" - return 1 - fi - - __fetch_url "$tempfile" "$salt_pkg_url" || return 1 - - #rm -f "$tempfile" - - return 0 - -} - -# -# Ended Tiamt Onedir Install Functions -# -####################################################################################################################### - ####################################################################################################################### # # Default minion configuration function. Matches ANY distribution as long as From d8c6f04a46978bfcd3b1e419485de25e6b3ac537 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Mon, 25 Jul 2022 17:33:51 -0700 Subject: [PATCH 086/113] Reverting script header back to origin line. --- bootstrap-salt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 17797d3..68669f1 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -1,4 +1,4 @@ -#!/bin/sh +x +#!/bin/sh - # WARNING: Changes to this file in the salt repo will be overwritten! # Please submit pull requests against the salt-bootstrap repo: From ba0d83ff3fc7f217f7c521eb3f89b8f70a3d0619 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Mon, 25 Jul 2022 19:03:32 -0700 Subject: [PATCH 087/113] Some lint fixes. --- bootstrap-salt.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 68669f1..d01844b 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -8435,9 +8435,10 @@ daemons_running_tiamat() { [ $fname = "master" ] && [ "$_INSTALL_MASTER" -eq $BS_FALSE ] && continue [ $fname = "syndic" ] && [ "$_INSTALL_SYNDIC" -eq $BS_FALSE ] && continue - salt_path="/opt/saltstack/salt/run/run" - if [ "$(ps wwwaux | grep -v grep | grep $salt_path | grep $fname)" = "" ]; then - echoerror "$salt_process was not found running" + salt_path="/opt/saltstack/salt/run/run ${fname}" + process_running=$(pgrep -f "${salt_path}") + if [ "${process_running}" = "" ]; then + echoerror "${salt_path} was not found running" FAILED_DAEMONS=$((FAILED_DAEMONS + 1)) fi done From eb71c10af78352e6f5793166186c3cb0f70e2192 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Tue, 26 Jul 2022 12:07:21 -0700 Subject: [PATCH 088/113] removing Ubuntu 21.10 which is now EOL. --- .github/workflows/templates/generate.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index de12cfc..8a8f799 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -27,7 +27,6 @@ LINUX_DISTROS = [ "ubuntu-1604", "ubuntu-1804", "ubuntu-2004", - "ubuntu-2110", "ubuntu-2204", ] OSX = WINDOWS = [] @@ -53,7 +52,6 @@ STABLE_DISTROS = [ "rockylinux-8", "ubuntu-1804", "ubuntu-2004", - "ubuntu-2110", "ubuntu-2204", ] @@ -201,7 +199,6 @@ DISTRO_DISPLAY_NAMES = { "ubuntu-1604": "Ubuntu 16.04", "ubuntu-1804": "Ubuntu 18.04", "ubuntu-2004": "Ubuntu 20.04", - "ubuntu-2110": "Ubuntu 21.10", "ubuntu-2204": "Ubuntu 22.04", } From 6ab871c1da51106a72ac5f03345e812108727b6d Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Tue, 26 Jul 2022 15:55:26 -0700 Subject: [PATCH 089/113] removing Ubuntu bits. --- .github/workflows/main.yml | 230 ------------------------------------- 1 file changed, 230 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c3d15af..aebc8e6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4095,236 +4095,6 @@ jobs: bundle exec kitchen destroy latest-ubuntu-2004 - py3-stable-3002-ubuntu-2110: - name: Ubuntu 21.10 v3002 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3002-ubuntu-2110 || bundle exec kitchen create py3-stable-3002-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3002-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3002-ubuntu-2110 - - - py3-stable-3003-ubuntu-2110: - name: Ubuntu 21.10 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-ubuntu-2110 || bundle exec kitchen create py3-stable-3003-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-ubuntu-2110 - - - py3-stable-3004-ubuntu-2110: - name: Ubuntu 21.10 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-ubuntu-2110 || bundle exec kitchen create py3-stable-3004-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-ubuntu-2110 - - - py3-git-master-ubuntu-2110: - name: Ubuntu 21.10 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-ubuntu-2110 || bundle exec kitchen create py3-git-master-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-ubuntu-2110 - - - latest-ubuntu-2110: - name: Ubuntu 21.10 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-2110 || bundle exec kitchen create latest-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-ubuntu-2110 - - py3-stable-3004-ubuntu-2204: name: Ubuntu 22.04 v3004 Py3 Stable runs-on: ubuntu-latest From 71d41133278e813b2e053a7360da0dccfa136d0f Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Tue, 26 Jul 2022 16:05:14 -0700 Subject: [PATCH 090/113] removing Ubuntu bits. --- .github/workflows/main.yml | 184 ------------------------------------- 1 file changed, 184 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 06864cf..fa24692 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3313,190 +3313,6 @@ jobs: bundle exec kitchen destroy latest-ubuntu-2004 - py3-stable-3003-ubuntu-2110: - name: Ubuntu 21.10 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-ubuntu-2110 || bundle exec kitchen create py3-stable-3003-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-ubuntu-2110 - - - py3-stable-3004-ubuntu-2110: - name: Ubuntu 21.10 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-ubuntu-2110 || bundle exec kitchen create py3-stable-3004-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-ubuntu-2110 - - - py3-git-master-ubuntu-2110: - name: Ubuntu 21.10 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-ubuntu-2110 || bundle exec kitchen create py3-git-master-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-ubuntu-2110 - - - latest-ubuntu-2110: - name: Ubuntu 21.10 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-2110 || bundle exec kitchen create latest-ubuntu-2110 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-ubuntu-2110 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-ubuntu-2110 - - py3-stable-3004-ubuntu-2204: name: Ubuntu 22.04 v3004 Py3 Stable runs-on: ubuntu-latest From 9d1c07d364b0e0619fe78982eca49efd984e2360 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Wed, 27 Jul 2022 13:25:02 -0700 Subject: [PATCH 091/113] replace all references of tiamat to onedir --- bootstrap-salt.sh | 166 +++++++++++++++++++++++----------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 84b30ac..cb476ad 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -268,7 +268,7 @@ _CUSTOM_MASTER_CONFIG="null" _CUSTOM_MINION_CONFIG="null" _QUIET_GIT_INSTALLATION=$BS_FALSE _REPO_URL="repo.saltproject.io" -_TIAMAT_DIR="salt" +_ONEDIR_DIR="salt" _PY_EXE="python3" _INSTALL_PY="$BS_FALSE" _TORNADO_MAX_PY3_VERSION="5.0" @@ -302,13 +302,13 @@ __usage() { - git Install from the head of the master branch - git [ref] Install from any git ref (such as a branch, tag, or commit) - - tiamat Install latest tiamat release. - - tiamat [version] Install a specific version. Only supported for - tiamat packages available at repo.saltproject.io + - onedir Install latest onedir release. + - onedir [version] Install a specific version. Only supported for + onedir packages available at repo.saltproject.io - - tiamat_rc Install latest tiamat RC release. - - tiamat_rc [version] Install a specific version. Only supported for - tiamat RC packages available at repo.saltproject.io + - onedir_rc Install latest onedir RC release. + - onedir_rc [version] Install a specific version. Only supported for + onedir RC packages available at repo.saltproject.io Examples: - ${__ScriptName} @@ -320,10 +320,10 @@ __usage() { - ${__ScriptName} git 2017.7 - ${__ScriptName} git v2017.7.2 - ${__ScriptName} git 06f249901a2e2f1ed310d58ea3921a129f214358 - - ${__ScriptName} tiamat - - ${__ScriptName} tiamat 3005 - - ${__ScriptName} tiamat_rc - - ${__ScriptName} tiamat_rc 3005 + - ${__ScriptName} onedir + - ${__ScriptName} onedir 3005 + - ${__ScriptName} onedir_rc + - ${__ScriptName} onedir_rc 3005 Options: -a Pip install all Python pkg dependencies for Salt. Requires -V to install @@ -594,7 +594,7 @@ if [ "$#" -gt 0 ];then fi # Check installation type -if [ "$(echo "$ITYPE" | grep -E '(stable|testing|git|tiamat|tiamat_rc)')" = "" ]; then +if [ "$(echo "$ITYPE" | grep -E '(stable|testing|git|onedir|onedir_rc)')" = "" ]; then echoerror "Installation type \"$ITYPE\" is not known..." exit 1 fi @@ -632,17 +632,17 @@ elif [ "$ITYPE" = "stable" ]; then fi fi -elif [ "$ITYPE" = "tiamat" ]; then +elif [ "$ITYPE" = "onedir" ]; then if [ "$#" -eq 0 ];then - TIAMAT_REV="latest" + ONEDIR_REV="latest" else if [ "$(echo "$1" | grep -E '^(latest)$')" != "" ]; then - TIAMAT_REV="$1" + ONEDIR_REV="$1" shift elif [ "$(echo "$1" | grep -E '^([3-9][0-9]{3}(\.[0-9]*)?)$')" != "" ]; then # Handle the 3xxx.0 version as 3xxx archive (pin to minor) and strip the fake ".0" suffix - TIAMAT_REV=$(echo "$1" | sed -E 's/^([3-9][0-9]{3})\.0$/\1/') - TIAMAT_REV="minor/$TIAMAT_REV" + ONEDIR_REV=$(echo "$1" | sed -E 's/^([3-9][0-9]{3})\.0$/\1/') + ONEDIR_REV="minor/$ONEDIR_REV" shift else echo "Unknown stable version: $1 (valid: 3005, latest.)" @@ -650,23 +650,23 @@ elif [ "$ITYPE" = "tiamat" ]; then fi fi -elif [ "$ITYPE" = "tiamat_rc" ]; then - # Change the _TIAMAT_DIR to be the location for the RC packages - _TIAMAT_DIR="salt_rc/salt" +elif [ "$ITYPE" = "onedir_rc" ]; then + # Change the _ONEDIR_DIR to be the location for the RC packages + _ONEDIR_DIR="salt_rc/salt" - # Change ITYPE to tiamat so we use the regular Tiamat functions - ITYPE="tiamat" + # Change ITYPE to onedir so we use the regular onedir functions + ITYPE="onedir" if [ "$#" -eq 0 ];then - TIAMAT_REV="latest" + ONEDIR_REV="latest" else if [ "$(echo "$1" | grep -E '^(latest)$')" != "" ]; then - TIAMAT_REV="$1" + ONEDIR_REV="$1" shift elif [ "$(echo "$1" | grep -E '^([3-9][0-9]{3}?rc[0-9]-[0-9]$)')" != "" ]; then # Handle the 3xxx.0 version as 3xxx archive (pin to minor) and strip the fake ".0" suffix - #TIAMAT_REV=$(echo "$1" | sed -E 's/^([3-9][0-9]{3})\.0$/\1/') - TIAMAT_REV="minor/$1" + #ONEDIR_REV=$(echo "$1" | sed -E 's/^([3-9][0-9]{3})\.0$/\1/') + ONEDIR_REV="minor/$1" shift else echo "Unknown stable version: $1 (valid: 3005, latest.)" @@ -3023,7 +3023,7 @@ __install_saltstack_ubuntu_repository() { __wait_for_apt apt-get update || return 1 } -__install_saltstack_ubuntu_tiamat_repository() { +__install_saltstack_ubuntu_onedir_repository() { # Workaround for latest non-LTS Ubuntu if { [ "$DISTRO_MAJOR_VERSION" -eq 20 ] && [ "$DISTRO_MINOR_VERSION" -eq 10 ]; } || \ [ "$DISTRO_MAJOR_VERSION" -eq 21 ]; then @@ -3057,7 +3057,7 @@ __install_saltstack_ubuntu_tiamat_repository() { fi # SaltStack's stable Ubuntu repository: - SALTSTACK_UBUNTU_URL="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/ubuntu/${UBUNTU_VERSION}/${__REPO_ARCH}/${TIAMAT_REV}/" + SALTSTACK_UBUNTU_URL="${HTTP_VAL}://${_REPO_URL}/${_ONEDIR_DIR}/${__PY_VERSION_REPO}/ubuntu/${UBUNTU_VERSION}/${__REPO_ARCH}/${ONEDIR_REV}/" echo "$__REPO_ARCH_DEB $SALTSTACK_UBUNTU_URL $UBUNTU_CODENAME main" > /etc/apt/sources.list.d/salt.list __apt_key_fetch "${SALTSTACK_UBUNTU_URL}salt-archive-keyring.gpg" || return 1 @@ -3237,7 +3237,7 @@ install_ubuntu_git_deps() { return 0 } -install_ubuntu_tiamat_deps() { +install_ubuntu_onedir_deps() { if [ "${_SLEEP}" -eq "${__DEFAULT_SLEEP}" ] && [ "$DISTRO_MAJOR_VERSION" -lt 16 ]; then # The user did not pass a custom sleep value as an argument, let's increase the default value echodebug "On Ubuntu systems we increase the default sleep value to 10." @@ -3269,7 +3269,7 @@ install_ubuntu_tiamat_deps() { if [ "$_DISABLE_REPOS" -eq "$BS_FALSE" ] || [ "$_CUSTOM_REPO_URL" != "null" ]; then __check_dpkg_architecture || return 1 - __install_saltstack_ubuntu_tiamat_repository || return 1 + __install_saltstack_ubuntu_onedir_repository || return 1 fi install_ubuntu_deps || return 1 @@ -3334,7 +3334,7 @@ install_ubuntu_git() { return 0 } -install_ubuntu_tiamat() { +install_ubuntu_onedir() { __PACKAGES="" if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ];then @@ -3553,7 +3553,7 @@ __install_saltstack_debian_repository() { __wait_for_apt apt-get update || return 1 } -__install_saltstack_debian_tiamat_repository() { +__install_saltstack_debian_onedir_repository() { DEBIAN_RELEASE="$DISTRO_MAJOR_VERSION" DEBIAN_CODENAME="$DISTRO_CODENAME" @@ -3579,7 +3579,7 @@ __install_saltstack_debian_tiamat_repository() { __apt_get_install_noinput ${__PACKAGES} || return 1 # amd64 is just a part of repository URI, 32-bit pkgs are hosted under the same location - SALTSTACK_DEBIAN_URL="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/debian/${DEBIAN_RELEASE}/${__REPO_ARCH}/${TIAMAT_REV}/" + SALTSTACK_DEBIAN_URL="${HTTP_VAL}://${_REPO_URL}/${_ONEDIR_DIR}/${__PY_VERSION_REPO}/debian/${DEBIAN_RELEASE}/${__REPO_ARCH}/${ONEDIR_REV}/" echo "$__REPO_ARCH_DEB $SALTSTACK_DEBIAN_URL $DEBIAN_CODENAME main" > "/etc/apt/sources.list.d/salt.list" __apt_key_fetch "${SALTSTACK_DEBIAN_URL}salt-archive-keyring.gpg" || return 1 @@ -3640,7 +3640,7 @@ install_debian_deps() { return 0 } -install_debian_tiamat_deps() { +install_debian_onedir_deps() { if [ $_START_DAEMONS -eq $BS_FALSE ]; then echowarn "Not starting daemons on Debian based distributions is not working mostly because starting them is the default behaviour." fi @@ -3681,7 +3681,7 @@ install_debian_tiamat_deps() { if [ "$_DISABLE_REPOS" -eq "$BS_FALSE" ] || [ "$_CUSTOM_REPO_URL" != "null" ]; then __check_dpkg_architecture || return 1 - __install_saltstack_debian_tiamat_repository || return 1 + __install_saltstack_debian_onedir_repository || return 1 fi if [ "${_EXTRA_PACKAGES}" != "" ]; then @@ -3969,7 +3969,7 @@ install_debian_9_git() { return 0 } -install_debian_tiamat() { +install_debian_onedir() { __PACKAGES="" if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ];then @@ -4449,9 +4449,9 @@ _eof return 0 } -__install_saltstack_rhel_tiamat_repository() { +__install_saltstack_rhel_onedir_repository() { if [ "$ITYPE" = "stable" ]; then - repo_rev="$TIAMAT_REV" + repo_rev="$ONEDIR_REV" else repo_rev="latest" fi @@ -4463,7 +4463,7 @@ __install_saltstack_rhel_tiamat_repository() { # Avoid using '$releasever' variable for yum. # Instead, this should work correctly on all RHEL variants. - base_url="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/${TIAMAT_REV}/" + base_url="${HTTP_VAL}://${_REPO_URL}/${_ONEDIR_DIR}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/${ONEDIR_REV}/" if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then gpg_key="SALTSTACK-GPG-KEY.pub base/RPM-GPG-KEY-CentOS-7" else @@ -4489,7 +4489,7 @@ enabled=1 enabled_metadata=1 _eof - fetch_url="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/${CPU_ARCH_L}/" + fetch_url="${HTTP_VAL}://${_REPO_URL}/${_ONEDIR_DIR}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/${CPU_ARCH_L}/" for key in $gpg_key; do __rpm_import_gpg "${fetch_url}${key}" || return 1 done @@ -4807,7 +4807,7 @@ install_centos_git_post() { return 0 } -install_centos_tiamat_deps() { +install_centos_onedir_deps() { if [ "$_UPGRADE_SYS" -eq $BS_TRUE ]; then yum -y update || return 1 fi @@ -4820,14 +4820,14 @@ install_centos_tiamat_deps() { if [ "$_DISABLE_REPOS" -eq "$BS_FALSE" ]; then __install_epel_repository || return 1 - __install_saltstack_rhel_tiamat_repository || return 1 + __install_saltstack_rhel_onedir_repository || return 1 fi # If -R was passed, we need to configure custom repo url with rsync-ed packages # Which is still handled in __install_saltstack_rhel_repository. This call has # its own check in case -r was passed without -R. if [ "$_CUSTOM_REPO_URL" != "null" ]; then - __install_saltstack_rhel_tiamat_repository || return 1 + __install_saltstack_rhel_onedir_repository || return 1 fi if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then @@ -4849,7 +4849,7 @@ install_centos_tiamat_deps() { return 0 } -install_centos_tiamat() { +install_centos_onedir() { __PACKAGES="" if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ];then @@ -4871,7 +4871,7 @@ install_centos_tiamat() { return 0 } -install_centos_tiamat_post() { +install_centos_onedir_post() { SYSTEMD_RELOAD=$BS_FALSE for fname in api master minion syndic; do @@ -5001,8 +5001,8 @@ install_red_hat_linux_git_deps() { return 0 } -install_red_hat_linux_tiamat_deps() { - install_centos_tiamat_deps || return 1 +install_red_hat_linux_onedir_deps() { + install_centos_onedir_deps || return 1 return 0 } @@ -5016,8 +5016,8 @@ install_red_hat_enterprise_git_deps() { return 0 } -install_red_hat_enterprise_tiamat_deps() { - install_red_hat_linux_tiamat_deps || return 1 +install_red_hat_enterprise_onedir_deps() { + install_red_hat_linux_onedir_deps || return 1 return 0 } @@ -5031,8 +5031,8 @@ install_red_hat_enterprise_linux_git_deps() { return 0 } -install_red_hat_enterprise_linux_tiamat_deps() { - install_red_hat_linux_tiamat_deps || return 1 +install_red_hat_enterprise_linux_onedir_deps() { + install_red_hat_linux_onedir_deps || return 1 return 0 } @@ -5046,8 +5046,8 @@ install_red_hat_enterprise_server_git_deps() { return 0 } -install_red_hat_enterprise_server_tiamat_deps() { - install_red_hat_linux_tiamat_deps || return 1 +install_red_hat_enterprise_server_onedir_deps() { + install_red_hat_linux_onedir_deps || return 1 return 0 } @@ -5061,7 +5061,7 @@ install_red_hat_enterprise_workstation_git_deps() { return 0 } -install_red_hat_enterprise_workstation_tiamat_deps() { +install_red_hat_enterprise_workstation_onedir_deps() { install_red_hat_linux_timat_deps || return 1 return 0 } @@ -5076,8 +5076,8 @@ install_red_hat_linux_git() { return 0 } -install_red_hat_linux_tiamat() { - install_centos_tiamat || return 1 +install_red_hat_linux_onedir() { + install_centos_onedir || return 1 return 0 } @@ -5091,8 +5091,8 @@ install_red_hat_enterprise_git() { return 0 } -install_red_hat_enterprise_tiamat() { - install_red_hat_linux_tiamat || return 1 +install_red_hat_enterprise_onedir() { + install_red_hat_linux_onedir || return 1 return 0 } @@ -5106,8 +5106,8 @@ install_red_hat_enterprise_linux_git() { return 0 } -install_red_hat_enterprise_linux_tiamat() { - install_red_hat_linux_tiamat || return 1 +install_red_hat_enterprise_linux_onedir() { + install_red_hat_linux_onedir || return 1 return 0 } @@ -5121,8 +5121,8 @@ install_red_hat_enterprise_server_git() { return 0 } -install_red_hat_enterprise_server_tiamat() { - install_red_hat_linux_tiamat || return 1 +install_red_hat_enterprise_server_onedir() { + install_red_hat_linux_onedir || return 1 return 0 } @@ -5136,8 +5136,8 @@ install_red_hat_enterprise_workstation_git() { return 0 } -install_red_hat_enterprise_workstation_tiamat() { - install_red_hat_linux_tiamat || return 1 +install_red_hat_enterprise_workstation_onedir() { + install_red_hat_linux_onedir || return 1 return 0 } @@ -5294,8 +5294,8 @@ install_oracle_linux_git_deps() { return 0 } -install_oracle_linux_tiamat_deps() { - install_centos_tiamat_deps || return 1 +install_oracle_linux_onedir_deps() { + install_centos_onedir_deps || return 1 return 0 } @@ -5314,8 +5314,8 @@ install_oracle_linux_git() { return 0 } -install_oracle_linux_tiamat() { - install_centos_tiamat || return 1 +install_oracle_linux_onedir() { + install_centos_onedir || return 1 return 0 } @@ -5367,8 +5367,8 @@ install_almalinux_git_deps() { return 0 } -install_almalinux_tiamat_deps() { - install_centos_tiamat_deps || return 1 +install_almalinux_onedir_deps() { + install_centos_onedir_deps || return 1 return 0 } @@ -5387,8 +5387,8 @@ install_almalinux_git() { return 0 } -install_almalinux_tiamat() { - install_centos_tiamat || return 1 +install_almalinux_onedir() { + install_centos_onedir || return 1 return 0 } @@ -5440,8 +5440,8 @@ install_rocky_linux_git_deps() { return 0 } -install_rocky_linux_tiamat_deps() { - install_centos_tiamat_deps || return 1 +install_rocky_linux_onedir_deps() { + install_centos_onedir_deps || return 1 return 0 } @@ -5455,8 +5455,8 @@ install_rocky_linux_stable() { return 0 } -install_rocky_linux_tiamat() { - install_centos_tiamat || return 1 +install_rocky_linux_onedir() { + install_centos_onedir || return 1 return 0 } @@ -5513,8 +5513,8 @@ install_scientific_linux_git_deps() { return 0 } -install_scientific_linux_tiamat_deps() { - install_centos_tiamat_deps || return 1 +install_scientific_linux_onedir_deps() { + install_centos_onedir_deps || return 1 return 0 } @@ -5533,8 +5533,8 @@ install_scientific_linux_git() { return 0 } -install_scientific_linux_tiamat() { - install_centos_tiamat || return 1 +install_scientific_linux_onedir() { + install_centos_onedir || return 1 return 0 } @@ -5586,8 +5586,8 @@ install_cloud_linux_git_deps() { return 0 } -install_cloud_linux_tiamat_deps() { - install_centos_tiamat_deps || return 1 +install_cloud_linux_onedir_deps() { + install_centos_onedir_deps || return 1 return 0 } @@ -8435,7 +8435,7 @@ preseed_master() { # # This function checks if all of the installed daemons are running or not. # -daemons_running_tiamat() { +daemons_running_onedir() { [ "$_START_DAEMONS" -eq $BS_FALSE ] && return 0 FAILED_DAEMONS=0 From 46d62d7c58e49aad3884443a8d9ad3d4289fc917 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Thu, 28 Jul 2022 14:16:07 -0700 Subject: [PATCH 092/113] use SHA-256 key for Red Hat / CentOS relesaes 9 and over. --- bootstrap-salt.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 84b30ac..98fc5d7 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4412,6 +4412,8 @@ __install_saltstack_rhel_repository() { base_url="${HTTP_VAL}://${_REPO_URL}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/${repo_rev}/" if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then gpg_key="SALTSTACK-GPG-KEY.pub base/RPM-GPG-KEY-CentOS-7" + elif [ "${DISTRO_MAJOR_VERSION}" -ge 9 ]; then + gpg_key="SALTSTACK-GPG-KEY2.pub" else gpg_key="SALTSTACK-GPG-KEY.pub" fi @@ -4466,6 +4468,8 @@ __install_saltstack_rhel_tiamat_repository() { base_url="${HTTP_VAL}://${_REPO_URL}/${_TIAMAT_DIR}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/${TIAMAT_REV}/" if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then gpg_key="SALTSTACK-GPG-KEY.pub base/RPM-GPG-KEY-CentOS-7" + elif [ "${DISTRO_MAJOR_VERSION}" -ge 9 ]; then + gpg_key="SALTSTACK-GPG-KEY2.pub" else gpg_key="SALTSTACK-GPG-KEY.pub" fi From 244e6cb85804c0e69955ab906a38f7ba55fee783 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Mon, 1 Aug 2022 09:08:41 -0700 Subject: [PATCH 093/113] Adding missing amazon_linux_2 bits. --- bootstrap-salt.sh | 96 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index cb476ad..cab0dbf 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -6155,6 +6155,92 @@ _eof fi } +install_amazon_linux_ami_2_onedir_deps() { + # Shim to figure out if we're using old (rhel) or new (aws) rpms. + _USEAWS=$BS_FALSE + pkg_append="python" + + if [ "$ITYPE" = "onedir" ]; then + repo_rev="$ONEDIR_REV" + else + repo_rev="latest" + fi + + if echo $repo_rev | grep -E -q '^archive'; then + year=$(echo "$repo_rev" | cut -d '/' -f 2 | cut -c1-4) + else + year=$(echo "$repo_rev" | cut -c1-4) + fi + + # We need to install yum-utils before doing anything else when installing on + # Amazon Linux ECS-optimized images. See issue #974. + __yum_install_noinput yum-utils + + # Do upgrade early + if [ "$_UPGRADE_SYS" -eq $BS_TRUE ]; then + yum -y update || return 1 + fi + + if [ $_DISABLE_REPOS -eq $BS_FALSE ] || [ "$_CUSTOM_REPO_URL" != "null" ]; then + __REPO_FILENAME="salt.repo" + __PY_VERSION_REPO="yum" + PY_PKG_VER="" + repo_label="saltstack-repo" + repo_name="SaltStack repo for Amazon Linux 2" + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + __REPO_FILENAME="salt.repo" + __PY_VERSION_REPO="py3" + PY_PKG_VER=3 + repo_label="saltstack-py3-repo" + repo_name="SaltStack Python 3 repo for Amazon Linux 2" + fi + + base_url="$HTTP_VAL://${_REPO_URL}/${_ONEDIR_DIR}/${__PY_VERSION_REPO}/amazon/2/\$basearch/$repo_rev/" + gpg_key="${base_url}SALTSTACK-GPG-KEY.pub,${base_url}base/RPM-GPG-KEY-CentOS-7" + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + gpg_key="${base_url}SALTSTACK-GPG-KEY.pub" + fi + + # This should prob be refactored to use __install_saltstack_rhel_repository() + # With args passed in to do the right thing. Reformatted to be more like the + # amazon linux yum file. + if [ ! -s "/etc/yum.repos.d/${__REPO_FILENAME}" ]; then + cat <<_eof > "/etc/yum.repos.d/${__REPO_FILENAME}" +[$repo_label] +name=$repo_name +failovermethod=priority +priority=10 +gpgcheck=1 +gpgkey=$gpg_key +baseurl=$base_url +_eof + fi + + fi + + if [ "${_POST_NEON_INSTALL}" -eq $BS_FALSE ]; then + # Package python-ordereddict-1.1-2.el6.noarch is obsoleted by python26-2.6.9-2.88.amzn1.x86_64 + # which is already installed + if [ -n "${PY_PKG_VER}" ] && [ "${PY_PKG_VER}" -eq 3 ]; then + __PACKAGES="${pkg_append}${PY_PKG_VER}-m2crypto ${pkg_append}${PY_PKG_VER}-pyyaml" + else + __PACKAGES="m2crypto PyYAML ${pkg_append}-futures" + fi + + __PACKAGES="${__PACKAGES} ${pkg_append}${PY_PKG_VER}-crypto ${pkg_append}${PY_PKG_VER}-jinja2 procps-ng" + __PACKAGES="${__PACKAGES} ${pkg_append}${PY_PKG_VER}-msgpack ${pkg_append}${PY_PKG_VER}-requests ${pkg_append}${PY_PKG_VER}-zmq" + + # shellcheck disable=SC2086 + __yum_install_noinput ${__PACKAGES} || return 1 + fi + + if [ "${_EXTRA_PACKAGES}" != "" ]; then + echoinfo "Installing the following extra packages as requested: ${_EXTRA_PACKAGES}" + # shellcheck disable=SC2086 + __yum_install_noinput ${_EXTRA_PACKAGES} || return 1 + fi +} + install_amazon_linux_ami_stable() { install_centos_stable || return 1 return 0 @@ -6230,6 +6316,16 @@ install_amazon_linux_ami_2_check_services() { return 0 } +install_amazon_linux_ami_2_onedir() { + install_centos_stable || return 1 + return 0 +} + +install_amazon_linux_ami_2_onedir_post() { + install_centos_stable_post || return 1 + return 0 +} + # # Ended Amazon Linux AMI Install Functions # From f708e36b94b86d50a7a710d85b5f8c61c04069d3 Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Mon, 1 Aug 2022 10:46:26 -0700 Subject: [PATCH 094/113] fixing the GPG_KEY path for rhel, onedir does not need a special path for centos 7. --- bootstrap-salt.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index cab0dbf..29eddff 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -4464,11 +4464,7 @@ __install_saltstack_rhel_onedir_repository() { # Avoid using '$releasever' variable for yum. # Instead, this should work correctly on all RHEL variants. base_url="${HTTP_VAL}://${_REPO_URL}/${_ONEDIR_DIR}/${__PY_VERSION_REPO}/redhat/${DISTRO_MAJOR_VERSION}/\$basearch/${ONEDIR_REV}/" - if [ "${DISTRO_MAJOR_VERSION}" -eq 7 ]; then - gpg_key="SALTSTACK-GPG-KEY.pub base/RPM-GPG-KEY-CentOS-7" - else - gpg_key="SALTSTACK-GPG-KEY.pub" - fi + gpg_key="SALTSTACK-GPG-KEY.pub" gpg_key_urls="" for key in $gpg_key; do From 3202f803e5057f1af2aa8a2302e4c36a5730caba Mon Sep 17 00:00:00 2001 From: "Gareth J. Greenaway" Date: Tue, 2 Aug 2022 11:42:19 -0700 Subject: [PATCH 095/113] Add version for Salt version 3005. --- bootstrap-salt.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 08db941..8deea36 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -616,7 +616,7 @@ elif [ "$ITYPE" = "stable" ]; then if [ "$#" -eq 0 ];then STABLE_REV="latest" else - if [ "$(echo "$1" | grep -E '^(latest|1\.6|1\.7|2014\.1|2014\.7|2015\.5|2015\.8|2016\.3|2016\.11|2017\.7|2018\.3|2019\.2|3000|3001|3002|3003|3004)$')" != "" ]; then + if [ "$(echo "$1" | grep -E '^(latest|1\.6|1\.7|2014\.1|2014\.7|2015\.5|2015\.8|2016\.3|2016\.11|2017\.7|2018\.3|2019\.2|3000|3001|3002|3003|3004|3005)$')" != "" ]; then STABLE_REV="$1" shift elif [ "$(echo "$1" | grep -E '^(2[0-9]*\.[0-9]*\.[0-9]*|[3-9][0-9]{3}(\.[0-9]*)?)$')" != "" ]; then @@ -627,7 +627,7 @@ elif [ "$ITYPE" = "stable" ]; then fi shift else - echo "Unknown stable version: $1 (valid: 1.6, 1.7, 2014.1, 2014.7, 2015.5, 2015.8, 2016.3, 2016.11, 2017.7, 2018.3, 2019.2, 3000, 3001, 3002, 3003, 3004, latest, \$MAJOR.\$MINOR.\$PATCH until 2019.2, \$MAJOR or \$MAJOR.\$PATCH starting from 3000)" + echo "Unknown stable version: $1 (valid: 1.6, 1.7, 2014.1, 2014.7, 2015.5, 2015.8, 2016.3, 2016.11, 2017.7, 2018.3, 2019.2, 3000, 3001, 3002, 3003, 3004, 3005, latest, \$MAJOR.\$MINOR.\$PATCH until 2019.2, \$MAJOR or \$MAJOR.\$PATCH starting from 3000)" exit 1 fi fi From 63f427c61dd42ec926aabe26f9e14a06280b3523 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 10 Aug 2022 16:49:09 +0100 Subject: [PATCH 096/113] Autoformat markdown files pre-commit hook Signed-off-by: Pedro Algarvio --- .pre-commit-config.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2cdb73a..3e3a4e6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,6 +11,11 @@ repos: args: [--fix=lf] - id: end-of-file-fixer # Makes sure files end in a newline and only a newline. + - repo: https://github.com/executablebooks/mdformat + rev: 0.7.14 + hooks: + - id: mdformat + - repo: https://github.com/psf/black rev: 22.3.0 hooks: From c9e42e1504ea64cbd139a04773b5594ade933dae Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 10 Aug 2022 16:53:15 +0100 Subject: [PATCH 097/113] Migrate changelog file to markdown Signed-off-by: Pedro Algarvio --- CHANGELOG.md | 944 +++++++++++++++++++++++++++++++++++++++++++++++++++ ChangeLog | 880 +---------------------------------------------- 2 files changed, 945 insertions(+), 879 deletions(-) create mode 100644 CHANGELOG.md mode change 100644 => 120000 ChangeLog diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ba57aad --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,944 @@ +# v2022.05.19: + +- Fix situations where the registry key for root_dir does not exist + on Windows (twangboy) #1828 +- Add Ubuntu 22 support (krionbsd) #1820 +- Add Fedora 36 support (myii) #1818 + +# v2022.03.15: + +- Add detection and functions for AlmaLinux and Rocky Linux (myii) #1803 +- Copy configs to correct config dirs (v3004+) (dafyddj) #1798 +- Support Non-LTS Ubuntu 21.04 & 21.10 (blindpirate) #1793 +- Use native repositories for Debian 11 (jpacura) #1615 +- Keep all command-line parameters when UAC is enabled (Simon-TheUser) #1613 +- Add support for Raspbian (Jille) #1612 +- Add openrc to alpine:latest dependencies (krionbsd) #1609 +- Add CentOS 7 base key (bryceml) #1608 +- Fix git master install on alpine 3.12+ (Nascire) #1604 +- Sort help alphabetically (krionbsd) #1601 + +# v2021.09.17: + +- Re-add Ubuntu-16 support as it's still supported with 3001 and 3002 (krionbsd) #1594 +- Add oncoming 3004 release (krionbsd) #1593 + +# v2021.09.14: + +- Update latest Salt version in README (krionbsd) #1588 +- Make Python 3 the default (bryceml) #1577 +- Don't output info if using the default -x value (bryceml) #1587 + +# v2021.08.19: + +- Update README with instructions to use salt-bootstrap custom version (ari) #1580 +- Remove unsupported versions (bryceml) #1578 +- Update FreeBSD default Python version to 3.8 (myii) #1574 + +# v2021.06.23: + +- Use salt.list instead of saltstack.list (bryceml) #1563 +- Use fetch_url function for curl (xeacott) #1562 +- Add Ubuntu 21.04 support (krionbsd) #1559 +- Remove python2-futures package for ArchLinux (myii) #1546 + +# v2020.03.02: + +- Debian 11 (bullseye/testing) support using Debian 10 packages (jpacura, bryceml) #1514 +- Fix bootstrap on Gentoo (ijansky) #1516 #1518 +- Fix project URLs (bryceml) #1526 +- FreeBSD also needs the \_PKI_DIR reset (krionbsd) #1523 +- Fix openSUSE Tumbleweed support. (myii) #1525 +- Fix Debian and Ubuntu version support. (jpacura) #1529 +- Powershell: Implement configure only option (for Vagrant). (dafyddj) #1530 +- Powershell: Handle Vagrant's `grains_config` option. (dafyddj) #1520 +- apt-key is deprecated on Debian 10+ and Ubuntu 20+ (bryceml) #1533 +- Fix python Tornado on FreeBSD. (krionbsd) #1522 + +# v2020.10.20: + +- Add support to allow bootstrapping Salt 3002 (s0undt3ch) #1506 + +# v2020.10.19: + +- Fix v3000+ with git install on FreeBSD (krionbsd) #1487 +- Update README giving ONE example of WINDOWS bootstrapping. Default to python3 instead of + python2. (noelmcloughlin) #1496 +- Support git and stable salt-bootstrap on Gentoo. (ijansky) #1500 +- Add support for Linux Mint 20. (taigrr) #1502 +- Adding missing functions for Red Hat 8. (mbochenk) #1489 +- Allow pinning minor 3xxx versions. (max-arnold) #1491 + +# v2020.06.23: + +- Fix for Cumulus Linux 4.1 (darylturner) #1474 +- Fix file download exit code, improve error message on failed download (bryceml) #1478 +- Add support for Ubuntu 20.04 (bryceml) #1479 +- Default Ubuntu 20.04 to Py3 since there isn't a Py2 release for it (bryceml) #1480 +- Warn instead of exit when using -R and -x python3 on centos to allow installing python3 + versions of salt on centos from other repos. Old unsupported releases probably need to + manually install epel-release before running the bootstrap script for versions before 2018.3.5 + and before 2019.2.1 (bryceml) #1482 +- Start maintaining .sha256 files for the bootstrap script + +# v2020.05.28: + +- Fix Opensuse Tumbleweed (noelmcloughlin) #1441 +- Remove Debian 8 from Python 3 supported list (jay1648) #1448 +- Fixed deps parsing for FreeBSD git installs (cedwards) #1462 +- Added support for the upcoming Sodium release (s0undt3ch) #1466 +- Fixed KDE Neon detection (ender8282) #1466 +- Updated README python 2 and 3 installations (gdebunne) #1466 +- Updated README and CONTRIBUTING to prefer Salt's master branch (DmitryKuzmenko) #1466 +- Fixed IUS repo addresses (oeuftete) #1469 +- Updated tests to assert target Python and Salt versions (s0undt3ch) #1470 +- Fixed Amazon 2 -x support (s0undt3ch) #1470 +- Fix Fedora stable installs for older releases (s0undt3ch) #1470 +- Fix CentOS 8 installations (s0undt3ch) #1470 +- Default Debian 10 to Py3 (s0undt3ch) #1470 +- Fix Arch Linux installs (s0undt3ch) #1470 + +# v2020.02.24: + +- Fix SLES 15 install (max298) #1431 +- Fix 3000(Neon) stable install (sblaisot) #1433 +- Fix Amazon Linux Py3 install (s0undt3ch) #1434 + +# v2020.02.04: + +- Add support for the Salt Neon(3000) release (s0undt3ch) #1424 +- Drop support for Fedora \< 30 (s0undt3ch) #1424 +- Drop support for Debian \< 8 (s0undt3ch) #1424 + +# v2020.01.29: + +- FreeBSD fixes (cedwards) #1413 +- Support the upcoming Neon release (s0undt3ch) #1420 + +# v2020.01.21: + +- FreeBSD fixes (kgbsd) #1376 +- Fix macOS support (s0undt3ch) #1397 + +# v2019.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 + +# v2019.10.03: + +- Fix possible typo with `gnupg-curl` vs `gnupg curl` (zahiar) +- Install only python3 packges if requested on ubuntu (noelmcloughlin) #1356 +- Fixing debian wheezy (bryceml) #1359 +- Fixed Amazon Linux 2 detection when lsb_release is installed (jars99) #1361 +- Mac OS Support (felippeb) #1363 #1364 #1365 #1366 + +# v2019.05.20: + +- Allow stable version selection for amazon linux (puluanau) #1328 +- FreeBSD 12 support (sticky-note) #1329 +- Apt wait for lock modification (ripesensor) #1335 +- Opensuse 15 Git installation fixes (s0undt3ch) #1340 #1341 +- Amazon Linux Image fixes (nshenry03) #1343 +- apt_key_fetch fixes (greut) #1344 +- CentOS Git and PIP installation m2crypto fixes (s0undt3ch) #1347 +- CI process enhancements/fixes (s0undt3ch) #1347 + +# v2019.02.27: + +- Add support for bunsenlabs devian derivative (kevinquinnyo) #1300 +- Add support for TurnKey devian derivative (dafyddj) #1313 +- Fix BSD develop install (hackacad) #1316 +- Ensure python-concurrent.futures is installed for Ubuntu (garethgreenaway) #1321 + +# v2019.01.08: + +- use official amazon linux 2 repo for amazon linux 2 (mchugh19) #1287 +- Add release info to applicable docs (rallytime) #1292 +- Modify wait_for_apt function (ripesensor) #1291 +- Add support for LinuxMint 19 (darkocerdic) #1289 +- FIX #1237 SmartOS should use pkgin show-deps (sjorge) #1283 +- Fedora: Reduce DNF calls to 2 during install_dep phase (The-Loeki) #1278 + +# v2018.08.15: + +- Add tests using kitchen-salt (gtmanfred) #1279 +- Add python-futures to Py2 installs (gtmanfred) #1279 + +# v2018.08.13: + +- Fedora Py3 fixes (The-Loeki) #1273 +- Handle commented lines in the requirements files for pip pkgs (rallytime) #1271 +- Remove typo: extra 'c' was accidentally added in #1269 (rallytime) #1270 +- \[Arch\] Add python2-futures to list of pkgs on git install (rallytime) #1269 +- Fix undefined variable warn_msg on amd64 (alexandruavadanii) #1268 +- SLES12SP changed packages git to git-core and libzmq3 to libzmq4 (mfapouw) #1266 +- Add opensuse 15 specific installation functions (rallytime) #1263 +- Remove support for openSUSE Leap 42.2 (rallytime) #1262 +- Remove support for Fedora 26 (rallytime) #1261 +- Remove support for Ubuntu 17.10 (rallytime) #1260 +- Ensure pipe is absent before mkfifo/mknod (noelmcloughlin) #1256 +- fix for opensuse15 if no lsb_release pkg (noelmcloughlin) #1255 +- Fix Up ShellCheck errors/warnings for latest version of shellcheck (rallytime) #1253 +- Remove daily install option on Ubuntu system (icy) #1250 +- Add python 3 support for Ubuntu 18 (rallytime) #1248 +- Return immediately if apt-get fails (icy) #1247 +- Disable shell error about unbound variable during daily install (icy) #1246 +- OpenSuse_Leap_15.0 saltstack repo support (noelmcloughlin) #1244 +- Add Python3 package support for Debian 9 (rallytime) #1243 +- Add Python3 package support for CentOS 7 (rallytime) #1242 +- Shellcheck fixes found when running latest version (rallytime) #1239 +- Add Python3 package support for Ubuntu 16.04 (rallytime) #1238 +- Fix the variable ref from #803 (rallytime) #1229 +- Add Ubuntu 18.04 support (rallytime) #1228 +- Call \_\_git_clone_and_checkout directly (jheidbrink) #1226 +- Fix for silently ignored version argument on CentOS/RHEL (pjcreath) #1210 + +# v2018.04.25: + +- Install py-tornado4 for FreeBSD. (abednarik) #1219 +- Remove COPR repos configuration for Fedora (vutny ) #1211 +- Fix for silently ignored version argument on CentOS/RHEL (pjcreath) #1210 +- Use integer parameter for sleep command (bdrung) #1205 +- Add 2018.3 branch to list of stable options (rallytime) #1204 +- If installing with -P, install tornado\<5.0. (rallytime) #1203 +- Add M2Crypto to python27 centos 6 bootstrap install (Ch3LL) #1201 +- Update README to include mention of bootstrap-salt.ps1 for Windows (rallytime) #1200 +- Port spelling fixes from change in Salt to Bootstrap (rallytime) #1199 +- Add M2Crypto package back to git install functions (rallytime) #1198 +- OpenBSD has a cdn which handles selecting the best mirror (jasperla) #1197 +- Change gnupg2 pacakge to gnupg for non-LTS versions of Ubuntu (rallytime) #1196 +- Install swig30 as freebsd dep instead of swig. (abednarik) #1191 +- make salt-syndic optional on salt bootstrap (sybix) #1190 +- Add \_\_wait_for_apt function: avoid locking on the apt-get process (rallytime) #1186 +- Update the README.rst file with some grammatical changes (rallytime) #1185 +- Update Fedora support: 25 is EOL, 27 is supported (rallytime) #1184 +- Add a note about the use of sudo when running commands to README (rallytime) #1183 +- Adding support for minor release pinning on AWS Linux (cmclaughlin) #1182 +- Wait for zypper processes to finish before calling zypper again (rallytime) #1181 +- only install ca-certificates on opensuse if it isn't already installed (gtmanfred) #1179 + +# v2017.12.13: + +- Use HTTPS URL for OpenSuse's saltstack repo (gdm85) #1174 +- Respect disable repos (-r) option on OpenBSD (eradman) #1171 +- Fix #1168 : -b option causes error (vutny) #1170 +- Fix fatal error with using the -b option. (arizvisa) #1169 +- Devuan support (ymasson) #1165 +- Fix yum repo on AWS Linux (cmclaughlin) #1164 +- Use suse repo to install packages, rather than defining them (rallytime) #1157 +- Remove patch-level-1 specific code for SLES installs (rallytime) #1156 +- priority sort fedora-release (toanju) #1153 +- Declare EOL for SUSE Linux Enterprise Server releases (vutny) #1150 +- Fix #1142: allow git install on Raspbian 9 (vutny) #1146 +- Follow symlinks when parsing distro release files (vutny) #1145 +- fedora: use dnf-utils for F26 and above (toanju) #1144 +- Declare EOL for openSUSE LEAP 42.1 (vutny) #1143 +- Fix #1137: import GPG key through an HTTP(S) proxy (vutny) #1139 +- Fix #1138: git install on Debian/Ubuntu various arches (vutny) #1141 +- Declare EOL for openSUSE releases earlier and including 13.X (vutny) #1136 +- Update Fedora support: 24 is EOL (rallytime) #1134 + +# v2017.08.17: + +- Add new authors (rallytime) #1130 +- README: Fix typo and Table of Contents for Debian section (vutny) #1129 +- Reduce the # of days an issue is stale to 6 months (rallytime) #1125 +- Only install Python version if "-y" is defined (rallytime) #1124 +- Allow powershell bootstrap script to specify PY2 or 3 (rallytime) #1123 +- Remove the test that checks if the EPEL RPM was installed (amendlik) #1122 +- added latest version string of nitrogen release 2017.7 (sourceindex) #1120 +- use versions specified in base.txt when doing pip installs (aflat) #1116 +- Remove pip install requirement on Fedora git installs (rallytime) #1114 +- Introductory support for Debian 10 (Buster) (rallytime) #1113 +- Add Debian 9 support using official repo.saltstack.com packages (rallytime) #1111 +- Fix 1105 (vernondcole) #1110 +- Move SUSE specific function closer to related code (vutny) #1107 +- Update Authors file (rallytime) #1103 +- Fix ubuntu 16.04 LTS installation (BlaineAtAffirm) #1102 +- Add debian_codename_translation function, similar to Ubuntu (rallytime) #1101 +- Add the CODE_OF_CONDUCT.md file (rallytime) #1100 +- Update Debian and Ubuntu service file paths to be consistent with salt (rallytime) #1099 +- Add hash verification information to installation instructions (rallytime) #1098 +- Fix installing salt-cloud package on Arch Linux (rallytime) #1097 +- Support bootstrapping on upcoming Debian GNU/Linux 9.0 (vutny) #1096 +- Removes faulty explicit version ordering (absolutejam) #1095 +- Remove configuring EPEL repo for Amazon Linux (vutny) #1093 +- Fix -j/-J (JSON configs) options for Debian 8 (vutny) #1092 +- Fix #1035: detect and log errors earlier (vutny) #1091 +- Update AUTHORS file (rallytime) #1089 +- Autounmask as separate step (decomposite) #1088 +- Ensure presence of CONFIG_PROTECT_MASK files (decomposite) #1087 +- Update Fedora support: 23 is EOL now. (rallytime) #1084 +- Fix the -R option on Debian/Ubuntu (rallytime) #1082 +- Declare End-Of-Life for Ubuntu 12.04 LTS (vutny) #1080 + +# v2017.05.24: + +- Use freebsd repo to query for salt dependencies (Ch3LL) #1076 +- Allow amazon to work with python2.7 on installs over 2016.11 (Ch3LL) #1073 +- ensure sles12 enables services with stable installs (Ch3LL) #1075 +- Declare End-of-Life for RHEL 5 and its variants (vutny) #1070 +- Fix configuring SaltStack's repo URL for RHEL variants (vutny) #1068 +- Add Manjaro as Arch derivative (luthes) #1063 +- Add "unmarkComment" option to probot-stale config (rallytime) #1064 +- Properly detect all supported Debian GNU/Linux derivatives (vutny) #1062 +- Archlinux must always update (gtmanfred) #1060 +- Alpine: fix adding, checking and running Salt Syndic in stable mode (vutny) #1059 +- Add KDE neon... (EHJ-52n) #1058 +- Update probot-stale message formatting. (rallytime) #1057 +- Fix `git` bootstrap mode for CentOS (vutny) #1054 +- update install_freebsd_10_stable to use FreeBSD repo (bytesatwork-xx) #1053 +- Support OpenBSD 6.1 (eradman) #1048 +- Update daysUntilStale value in probot-stale config (rallytime) #1055 +- Add ability to install and use a different python version when installing salt (Ch3LL) #1049 +- Add non-LTS type support for Ubuntu 17.04 (rallytime) #1051 +- Allow -R option to work for Debian/Ubuntu (rallytime) #1045 +- Adjust "daysUntilStale" variable to 190 days. #1047 +- Reduce the number of days an issue is considered "stale" (rallytime) #1046 +- Alpine: fix bootstrapping from Git -- install OpenRC initscripts (vutny) #1044 +- Add probot-stale config file (rallytime) #1042 +- Shallow cloning and Python setup fix for BSD (amontalban) #1040 +- Fix not needed quoting for salt/salt-bootstrap#1026 (amontalban) #1039 +- Update README file with supported release documentation (rallytime) #1034 +- Remove \<\<\< bashism (The-Loeki) #1032 +- \[-R option\] Fix logic error where we trying to enable epel with -R (rallytime) #1033 +- Alpine: check Salt services have been enabled to start on boot (vutny) #1031 +- AWS Linux Native Support (bkruger99) #1022 +- Correct package name for FreeBSD installation (amontalban) #1030 +- README: describe architectures support for Salt deps on Linux distros (vutny) #1029 +- This commit addresses some of the issues in salt/salt-bootstrap#996 (amontalban) #1026 +- Add support for stable installation on Alpine Linux release 3.5 (vutny) #1028 +- Alpine Linux: fix installation of multiple pkgs ("stable" bootstrap) (vutny) #1027 +- Add Void Linux support (ndrwdn) #1025 +- RHEL6: disable stdin to fix shell session hang on killing tee pipe (vutny) #1018 +- Adding 2016.11 to stable version (ashokrajar) #1017 +- Update bootstrap-salt.sh (caelor) #1015 +- Alpine Linux support #1009 (ek9) #1010 +- Add Table of Contents in README (vutny) #1014 + +# v2017.01.10: + +- Update AUTHORS.rst with new contributors (rallytime) #1011 +- fix bootstrap in Arch Linux by updating package name from salt-zmq to salt (ek9) #1007 +- Add python-systemd package to debian 8 git install (rallytime) #1003 +- Updated supported versions for Ubuntu: 12.04, 14.04, 16.04, and 16.10 (best effort) (rallytime) #1002 +- Add "yakkety" to ubuntu_codename_translation function (rallytime) #1001 +- Update supported versions for Fedora: 23, 24, and 25. (rallytime) #1000 +- Handle renaming of gnupg-curl to gnupg1-curl for Ubuntu 16.10 (marco-m) #998 +- fix systemctl path (dmitrievav) #997 +- Drop unnecessary workarounds (creating directories) for early releases (vutny) #995 +- Let's detect newly released Salt 2016.11 stable release (vutny) #994 +- Adjust code examples to use the actual bootstrap-salt.sh file name (rallytime) #993 +- Install TLS certs before cloning git repo via https (vutny) #991 +- Remove fix me comment and fix systemsmanagement link (rallytime) #990 +- Correct usage description about "config only" mode (vutny) #989 +- Fix overwriting Minion config from temporarily directory (vutny) #988 +- Configure Salt components after the dependencies installation (vutny) #987 +- Add CloudLinux support (rallytime) #986 +- Apply the insecure flag to git as well (cachedout) #981 + +# v2016.10.25: + +- Update AUTHORS.rst with new contributors (rallytime) #978 +- Let's start detecting the upcoming Debian 9 (Stretch) (lhost) #975 +- FreeBSD: set \_SALT_ETC_DIR directory to match ports (eradman) #970 +- Update OpenBSD 6.0+ provisioning (eradman) #969 +- adds supports for Cumulus Linux (plumbis) #967 +- Run "pip install -U futures" for SmartOS git install (rallytime) #966 +- Change /pkg/rpm/ to /pkg/deb/ in install_ubuntu_git_post func (rallytime) #965 +- SUSE: Refactor systemsmanagement_saltstack repo checks to be DRY (rallytime) #964 +- Fix detection of EPEL repository with not-expired metadata (sp1r) #963 +- Display warning message about deprecating the `-G` option (vutny) #958 +- Allow correct salt paths to be used when -c is passed (justinta) #955 +- Fix issues with replacing configs when python3 is default in os. (fizmat) #954 +- Remove m2crypto package installs (rallytime) #951 +- Try to install SP4 packages on SLE 11 when SP version is older (rallytime) #950 +- Add python-futures package to install_centos_git_deps (rallytime) #948 +- Add /etc/portage/package.accept_keywords to CONFIG_PROTECT_MASK (rallytime) #947 +- Deprecate `-G` option: use `https` scheme for GitHub by default (vutny) #945 +- \[SECURITY\] Properly handle GnuPG keys for APT repositories (vutny) #940 + +# v2016.08.16: + +- Ubuntu git mode: install all deps from SaltStack corp repo by default. (vutny) #936 + +# v2016.08.15: + +- Remove chris-lea python-zmq repo. (rallytime) #929 +- Disable the '--enablerepo=${\_EPEL_REPO}' part of yum install cmds when passing -R/-r. (rallytime) #928 +- Fix grep pattern in `__check_services_sysvinit`. (vutny) #927 +- Missing python dependency for salt-cloud added. (toanju) #925 +- Fix git install mode when using commit hash with `-g` option. (vutny) #922 +- Install `salt-cloud` package with `-L` option in `stable` mode. (vutny) #919 +- Fix bootstrapping from Git on CentOS7 when `systemd` is not running. (vutny) #915 + +# v2016.07.07: + +- Add new contributors to authors list. (rallytime) #910 +- Split up python-requests and python-msgpack packages for newer Fedora. (rallytime) #909 +- Fix typo in repository configuration for FreeBSD. (ekollof) #907 +- Make sure $STABLE_REV is set before setting up SaltStack repo. (rallytime) #906 +- Remove tests written question from template. (rallytime) #904 +- Adding support for Linux Mint 18 (based on Ubuntu 16.04). (eliezerlp) #902 +- Allow git installation for SLES 12. (rallytime) #903 +- Set repo_arch for raspberry pi installs. (mrichar1) #899 +- Change temporary directory for storing executable to C:\\Windows\\Temp. (themalkolm) #897 +- add apt-transport-https for ubuntu. (epcim) #896 +- Fix expanding shell script position parameters with nounset enabled. (vutny) #895 +- RFC: Add tests for bootstrap-salt.ps1. (themalkolm) #893 +- Keep original name of salt executable executable. (themalkolm) #857 + +# v2016.06.27: + +- Fix race condition when doing one-liner bootstrap. (vutny) #889 +- Add space back in between 'install' and '--install'. (rallytime) #890 + +# v2016.06.24: + +- Save invocation command and arguments into variables. (jfindlay) #885 +- Update the authors list with new contributors. (rallytime) #884 +- Add option to make setup.py install quiet. (nasenbaer13) #865 +- Fix lint. (jfindlay) #881 +- Add -R option to allow a custom repo URL. (rallytime) #877 +- Exclude path of script when called from another dir. (l2ol33rt) #871 +- Print invocation info. (jfindlay) #869 +- Always refresh the Arch Linux keyring if needed. (cachedout) #868 +- Ubuntu 16.04 LTS Xenial Support. (notpeter) #852 +- Install Salt packages from repo.saltstack.com on Debian 7 "Wheezy". (vutny) #864 +- Drop support for Debian 6 old-old-stable "squeeze": reached end-of-life. (vutny) #860 +- Removed ubuntu version restriction for apt-get update. (marccardinal) #859 +- Fix bootstrapping from git on Debian 8 by installing latest `tornado` via pip. (vutny) #828 +- Add the ability to override master and/or minion configs from CLI. (rallytime) #841 +- Don't sleep 11 seconds if the user allowed overwrite of config files. (poelzi) #832 + +# v2016.05.11: + +- Only overwrite the minion config file if '-C' is passed. Otherwise, preserve it. (rallytime) #848 + +# v2016.05.10: + +- Removed libzmq4 and forking-deamon-patch for Opensuse13. (jtand) #840 +- Ubuntu 12.04 needs to be updated before installing packages. (jtand) #829 +- Always download and install *latest* `epel-release` package on RHEL systems. (vutny) #825 +- Fix Amazon Linux EOL check. (vutny) #818 + +# v2016.04.18: + +- Add support for openSUSE Leap. Thanks Roman Inflianskas(rominf). #693 +- Fix missing deps installation on Debian. Thanks Steve Groesz(wolfpackmars2). #699 +- Update SaltStack repo location and latest version for Windows. (brandon099) #711 +- Better EPEL repository detection on RHEL and CentOS. (vutny) #717 +- Fix git invocation fail when `man` command is not available. (vutny) #718 +- Fix `epel-release` package installation on CentOS/RHEL 5. (vutny) #719 +- Removed deprecated cli option. (abednarik) #705 +- Remove RHEL optional repo check and enable. (vutny) #720 +- Remove SaltStack COPR repository configuration for CentOS/RHEL5. (vutny) #721 +- Add opensuse_Tumbleweed support. (aboe76) #725 +- Sometimes bootstrap doesn't install zmq. (jtand) #726 +- Process -s (default sleep for service restarts) in bootstrap-salt.sh. (hipikat) #692 +- Minion keys and /etc/salt/minion should be overwritten on -C. (cro) #541 +- Fix for -C (\_CONFIG_ONLY). (beaucephus) #544 +- Fix when using upstream tags. (The-Loeki) #564 +- COPR project moved. (rmohr) #738 +- Update license year range. (pra85) #743 +- Use POSIX-Compliant Command-Exists Test. (kojiromike) #741 +- Add -f option to force shallow cloning. (eyj) #660 +- add SLE 12 support, fix OpenSUSE support. (grep4linux) #748 +- Fix CentOS git setup.py syntax error upon installation. (The-Loeki) #746 +- Enable shallow cloning for version branches by default, not only tags. (vutny) #750 +- do not install copr repo on fedora 22+. (toanju) #751 +- Add support for pegged versions on YUM based OS'ses through repo.saltstack.com. (The-Loeki) #685 +- fix for FreeBSD 11 CURRENT install functions. (serge-p) #723 +- Don't add zypp repo if it already exists. (furlongm) #731 +- switch repositories for suse and sles fixes `#706`\_. (aboe76) #734 +- Reformat and correct usage instructions. (vutny) #755 +- fixed missing repo for suse 12. (aboe76) #756 +- fix for Amazon Linux. (shawnbutts) #700 +- adding support for OpenBSD distribution. (serge-p) #722 +- fixing syntax errors. (beardedeagle) #760 +- Import CentOS 7 GPG key on RHEL for installing base dependencies from Salt corp repo. (vutny) #765 +- Fix multiple lint errors (shellcheck) and make some refactoring. (vutny) #768 +- Fix sleep time option to recognize a numeric argument. (vutny) #771 +- Update README. (vutny) #787 +- get tornado from pip on a fedora git install. (jfindlay) #785 +- Remove the Saltstack repo's alias. (cro) #794 +- Ability to change cache dir. (clarkperkins) #761 +- Add config_freebsd_salt func so freebsd puts cfgs in the right place. (ryanwalder) #779 +- Allow archive versions. (clarkperkins) #769 +- Lack of HTTPS for RPM packages. (jaredestroud) #783 +- Ability to change cache dir. (clarkperkins) #761 +- Bootstrap on Docker. (vutny) #793 +- add downstream pkg repo for SUSE. (jfindlay) #791 +- Fixed use of HTTP over HTTPS for anonscm.debian.org. (gdm85) #788 +- Bump Salt version to latest stable in PS bootstrap script for Windows. (vutny) #801 +- Add an -l option to switch https to http links. (rallytime) #795 +- Virtualenv support for Ubuntu. (l2ol33rt) #666 +- Lint. (jfindlay) #805 +- use portable command check. (jfindlay) #806 +- Update epel-release version number (RuriRyan) #809 + +# v2015.11.09 + +- Make sure that wget is installed. #868 + +# v2015.11.04: + +- Allow bypassing dependencies installation. Thanks EYJ. #656. +- Add FreeBSD 11 support. Thanks Chris Buechler(cbuechler). #653 +- Move RHEL installations to use repo.saltstack.com #674 +- Move Debian 8 installation to use repo.saltstack.com #674 +- Fix error finding python-jinja2 in RHEL 7. Thanks Rob Eden(hedinfaok). #654 +- Move Ubuntu 12 and 14 installations to use repo.saltstack.com #674 +- Move FreeBSD installations to use repo.saltstack.com #674 +- Use dnf on Fedora 22 and later. Thanks Michele Bologna (mbologna). #665 + +# v2015.08.06: + +- Fix python-requests installations for Ubuntu >= 14.04 LTS. #631, #632, #633 +- Install python-crypto from Chris Lea's PPA for Ubuntu \< 14.04 +- Exit the git checkout directory before deleting it. Thanks Bret Fisher. #634 +- Use prefix /usr for centos git install. Thanks Stanislav B. #638 +- Drop Ubuntu EOL versions. All Ubuntu version before 12.04. +- Make sure python-dev is installed wheb trying to install tornado from PyPi. #640 + +# v2015.07.22: + +- Fix tornado installation in Ubuntu. Thanks Yushi Nakai. #627 +- Install tornado using pip on Ubuntu for Salt's v2015.8.xx onward stable releases. +- Install requests on Ubuntu from Chris Lea's PPA. #630 + +# v2015.07.17: + +- Make sure setuptools is installed before using it. #598. +- `systemd` is only fully supported from 15.04 onwards. #602 +- Fix debian mirrors issue. Thanks Wolodja Wentland(babilen). #606 +- Fix python-jinja2 repo move on RHEL6. Thanks lomeroe. #621 +- Allow skipping services. Thanks denmat. #455 +- Fix missing Debian init script. #607 saltstack/salt#25270 and saltstack/salt#25456 +- Fix SmartOS etc path. Thanks Bret Fisher. #624 +- Fix possible unbound variable in Gentoo. #625 +- Properly detect the git binary in SmartOS. #611 + +# v2015.05.07: + +- Lower required requests version dependency. Use system requests package where possible. +- Allow Ubuntu alternate ppas. Thanks Peter Tripp(notpeter). #563 + +# v2015.05.04: + +- Fix the configuration path for FreeBSD. #567/#552. Thanks Ronald van Zantvoort(The-Loeki). + \+ Fix non grouping support in POSIX sed. Thanks Ronald van Zantvoort(The-Loeki). +- Add Debian 8 support. Thanks Matt Black(mafrosis) +- Improve Debian version parsing. Thanks Mark Lee(malept) +- Make sure we update packages list one Chris Lea's PPA repository is added. +- Hard code the Debian Squeeze backports to the DE mirror since the main repository is down. + Thanks @panticz. #589. +- Only install git if not already installed. #560 +- Fix openSUSE 13.2 where we need to pass --replaceflags. Thanks Roman Inflianskas(rominf). + #504. +- Make sure that a recent enough requests package is installed in Debian/Ubuntu. +- Install tornado on git installs for the develop branch if necessary. #580 +- Add support for Ubuntu 15.04 + +# v2015.03.15: + +- Add multi-master support. Thanks Fred Reimer(freimer). #555 + +# v2015.03.04: + +- Fix the salt package selection on Arch stable installs. + +# v2015.02.28: + +- Fix Debian backports repository. + +# v2015.02.27: + +- Try other tools besides wget when downloading the COPR repo file. Thanks Ronald van + Zantvoort(The-Loeki) +- No need to install packages from the Unstable repository for debian, use backports. Thanks + Ari Aosved(devaos) +- Fix an issue in CentOS where the syndic package wasn't being installed(since it's now a + separate package). Thanks Ronald van Zantvoort(The-Loeki) +- Enable the server-optionals repository for RHEL >= 7 +- RHEL/CentOS 5 now uses the COPR repository. #533 + +# v2015.01.12: + +- Add package upgrades support to FreeBSD. Thanks William Eshagh(eshagl). +- Make sure wget is installed on debian bare systems. +- Make sure the Arch pacman database is up to date +- Install `python-hashlib` in CentOS 5 in order to use the COPR repository + +# v2014.12.11: + +- Enable binary installations on CentOS 7. Thanks ggillies +- Updated the URL for EPEL 7 + +# v2014.10.30: + +- Apply the forking patch to openSUSE git installations. + +# v2014.10.28: + +- Install the python systemd bindings for Arch and Fedora git installations +- Allow cloning from Salt's git repository using HTTPS. #475 + +# v2014.10.21: + +- Fix path to python on FreeBSD. Thanks Pavel Snagovsky(paha) +- Fix syndic installation on RHEL based installations. Thanks markgaylard +- Properly detect the git checkout `basename` directory instead of hard coding it. Thanks + Howard Mei(HowardMei). +- Allow installing ZMQ for SaltStack's COPR repository. +- Allow installing ZMQ4/PyZMQ14 from Chris Lea's PPA repository. + +# v2014.10.14: + +- Fixed a regex issue with matching Salt's tags. Match v2014.7 but not 2014.7 as a valid tag +- Distro Support Added: +- Added Linux Mint 17 support(Thanks Skyler Berg) +- Disrto Suuport Fixed: +- Init pacman keys if not done so previously + +# v2014.09.25: + +- Properly detect Amazon AMI's >= 2014.9. #468 + +# v2014.09.09: + +- Distro Support Fixes: +- Updated the URL for EPEL 7 +- PIP based installations on Ubuntu 10.04 need setuptools installed +- Arch stopped providing the version information on `/etc/arch-release` +- Complete `salt-api` services checking. #450 + +# v2014.08.30: + +- Skip service checks for `salt-api`, since this should be an opt-in service not necessarily + meant to start at boot time. +- Distro Support Fixes: +- Also install the salt-api service on RHEL based distributions for git based + installations. +- Properly detect Arch Linux when lsb-release is available +- Updated the URL for EPEL 7 + +# v2014.08.23: + +- Avoid redirect breakage when installing EPEL with rpm on RHEL 5 +- Ensure python-apt is installed by the bootstrap script for Debian & Ubuntu minions. Thanks + @garethgreenaway. +- Don't shallow clone on git versions lower than 1.7.10 +- Only shallow clone on git tag based installations +- Configurable Salt repository clone directory for git based installations +- Distro Support Fixed: +- Fixed the URL to download EPEL for Cent 5 +- Use the full path to the `chkconfig` binary when checking for services in SysV init + systems. +- Fixed an issue where the default sleep period(3 secs) on Ubuntu would cause a race + condition with upstart wherein the package installation would call an upstart start and + before it could complete, bootstrap would call another. The result was *two* copies of salt + running which ended up causing a most stubborn bug that's documented in + https://github.com/saltstack/salt/issues/12248 + +# v2014.07.29: + +- Shallow clone Salt's repository for speed improvements. In case of failure, resume old + behaviour. +- Fixed bug introduced in 0577622 when salt-api service install and checks were added +- Distro Support Fixed: +- Fixed infinite loop when handling RHEL dependencies. Thanks Dan Mick(@dmick). + +# v2014.07.27: + +- Amazon Linux AMI 2010.xx is not explicitly not supported. +- Install the `salt-api` scripts if available when the `salt-master` is also installed. +- Added support for a configurable sleep time when starting, restarting and checking for + enabled services. +- Drop the `tsflags` requirement for RHEL and RHEL based distributions. +- When sorting release files, oracle-release has higher priority than redhat-release. +- Distro Support Fixed: +- Debian >= 7 uses system's python-requests package, not PIP +- Install 'python-zypp' in SuSE and openSUSE(required by Salt's zypper module) +- Only install EPEL on requiring distributions if not already installed +- CentOS 7 now uses systemd and the script now properly handles it +- systemd in openSUSE 12.2 complains if service does not contain ``` .service`` * Properly detect openSUSE using ```lsb_release +- SLES 11 SP3 ships with both python-M2Crypto-0.22.\* and python-m2crypto-0.21 and we will + be asked which we want to install, even with --non-interactive. Let's try to install the + higher version first and then the lower one in case of failure. +- Allow some extra time on RHEL for the optionals repo check in case the repository + subscription is being managed externally. + +# v2014.06.30: + +- Distro Support Fixed: +- Bump build/maintenance version for epel-release package. Thanks Gregory Meno(GregMeno) +- Properly detect Amazon Linux AMI when using `lsb_release` +- Fix `tsflags` installation. + +# v2014.06.28: + +- Fixed `tsflags` packages detection for RHEL and Oracle Linux 6.5 + +# v2014.06.21: + +- Also export the HTTPS proxy environment variable. Thanks Giuseppe Iannello(gianello). +- Distro Support Fixed: +- Improve Oracle Linux Server detection +- Overcome the Oracle Linux awkwardness. `--enablerepo=XYX` disables ALL OTHER REPOS!!!! +- Oracle Linux also support testing repositories installation + +# v2014.06.19: + +- Allow passing the master address as an environment variable, `BS_SALT_MASTER_ADDRESS` +- Fixed an issue with the keys pre-seed. We were passing absolute paths where we only needed + basenames. +- Added HTTP proxy configuration support. Thanks Giuseppe Iannello(gianello), +- Distro Support Added: +- Elementary OS +- RHEL 7 Beta/RC +- Kali Linux. Thanks Valentin Bud(valentinbud) +- Distro Support Fixed: +- Improved RHEL optionals repository detection + +# v2014.04.16: + +- Fixed a bug for RHEL 6 based distributions where yum-utils was not getting installed. +- Added minor version check for RHEL 6 optional channel. +- Added quotes around "apache-libcloud>=$\_LIBCLOUD_MIN_VERSION" for proper version requirements + handling. +- Install the python 'requests' package which is now a hard dependency in Salt. +- When installing from a user defined repository add the official one as a remote and fetch + its tags for proper versioning. +- Distro Support Fixed: +- CentOS netinstall ISO's don't install `chkconfig` +- Improved RHEL optional repository detection. This allows user repository usage, which + don't need the optional repository support since they usually provide their packages. +- Distro Support Added: +- Oracle Linux +- Scientific Linux + +# v2014.03.10-1: + +- Distro Support Fixed: +- Fix the Debian services running function + +# v2014.03.10: + +- Debian based distributions which don't use upstart now also check if the salt services are + enabled. +- Distro Support Fixed: +- RedHat based distributions now have a proper services enabled checker. + +# v2014.02.27: + +- Fixed a bug on the services enabled function searching logic. +- Arch, Fedora, openSUSE and SuSE now check for services enabled, if using systemd +- CentOS(and any RedHat based) and Ubuntu now check for services enabled is using upstart +- Distro Support Added: +- Debian 8. Thank You Boris Feld(Lothiraldan). + +# v2014.02.19: + +- Fixed a problem with the quotes of an error message +- Arch installations now uses the community repository +- Distro Support Fixed: +- Fixed Fedora Git based installations(git was not being installed) + +# v2014.02.18: + +- Debian based distribution now get a warning stating that NOT starting daemons does not work + as supposed, mainly because that's the Debian policy. +- Fix bug introduced when implementing the master ip flag. The default minion includes + directory is `minion.d`, not `minion.conf.d` + +# v2014.02.16: + +- The script now allows setting up the salt-master address as a separate configuration file by + passing `-A` to the script. +- Add support to install apache-libcloud by passing the `-L` flag. In some distribution it's + also needed to pass `-P` because the minimal apache-libcloud version is `0.14.0`. This support + is still missing for FreeBSD and SmartOS. +- Fixed an issue when copying or moving files. We now test to see if the destination is a + directory and create a full path from that so that the "do not override" logic works as + supposed. #294. +- Allow passing additional package names to install while installing Salt's dependencies. #262 +- Pass the salt configuration directory, default or from environment variable to the setup.py + script for git based installations. #305 +- Distro Support Fixed: +- FreeBSD `fetch` now has a notion of insecure certificates. Handle this properly. Thank + You Mike Carlson(m87carlson). +- Arch, openSUSE and SuSE are now upgradable when the `-U` flag is passed. +- Force overwrites now works for existing init.d scripts on CentOS git installations. #259 +- Distro Support Added: +- FreeBSD 10 is now also supported. Thank You Mike Carlson(m87carlson). +- Red Had Enterprise Workstation is now supported. + +# v1.5.11: + +- Fixed an out of scope variable missed when moving functions around. + +# v1.5.10: + +- Salt no longer has the master branch in git, install from develop as default. +- Installing from Git on Red Hat based distributions now also needs `yum-utils` installed. +- Allow the script to use a different git repository to install from. +- Fixed a bug where a branch name with dashes would be wrongly detected as an option to the + script. +- Default to secure file downloads(if any). +- Distro Support Fixed: +- Minimal Ubuntu installation might not have upstart installed, fixed. +- FreeBSD now uses the official FreeBSD repository. Thank You Paul Brian(lifeisstillgood)! + +# v1.5.9: + +- Allow to not start the daemons after bootstrapping salt. This will allow `vagrant-lxc` + installations, `debootstrap*`, etc, to finish properly. Thanks Henrik Holmboe (holmboe). +- Distro Support Fixed: +- Salt >= 0.17 requires ElementTree which is on the python standard library after python + 2.6 but openSUSE split that into a separate package. +- Fixed a logic preventing proper Ubuntu bootstrapping on some situations. + +# v1.5.8: + +- Fixed an Ubuntu regression. `add-apt-repository` is only available on + `software-properties-common` after 12.10, inclusive. Thanks Diego Woitasen(diegows) + +# v1.5.7: + +- For RedHat based distributions which rely on `epel`, the user can now pass `testing` to the + script and `epel-testing` shall be used to bootstrap salt and it's dependencies. +- No full system upgrades, if optional by the distribution, shall be done unless `-U` is passed + to the bootstrap script(required upgrade procedures must exist on the script, currently Debian + and RedHat based distributions support system upgrades). +- Fixed an issue where passing BS_KEEP_TEMP_FILES=1 to the script was causing an error. #206. +- Switched FreeBSD default packages repository to PCBSD(http://www.pcbsd.org) and added + multiple repository support to install salt from the SaltStack's FreeBSD repository. Thanks + Christer Edwards(cedwards). +- Improved Gentoo Support. Thanks Elias Probst(eliasp). +- Stop execution soon for end of life distributions or non supported distribution versions. +- Distro Support Fixed: +- Fixed an unbound variable while bootstraping Gentoo. +- Fixed CentOS/RHEL 5. +- Fixed crypto++ compilation. Thanks Kenneth Wilke(KennethWilke)! +- Fixed FreeBSD git installations not pointing to the proper salt configuration directory, + which on FreeBSD is '/usr/local/etc/salt'. +- Fixed testing installation for Red Hat based distributions. Thanks Jeff Strunk(jstrunk) +- Fixed wrong package name on Arch. Thanks Niels Abspoel(aboe76) +- Make sure the Ubuntu universe repository is enabled. Thanks Karl Grzeszczak(karlgrz). +- Fixed SmartOS installation. Thanks Matthieu Guegan(mguegan). + +# v1.5.6: + +- If there's a `grains` file on the provided temporary configuration directory, move it to the + proper place while moving the minion configuration file. +- Gentoo bootstraps can now use a bin host to provide binary packages, just set the + `BS_GENTOO_USE_BINHOST` environment variable. +- If `BS_KEEP_TEMP_FILES=1` is found on the environment, the script will copy the files instead + of moving them. +- There were still some `mv` and `cp` occurrences which were not using their `{move,copy}file` + replacements which ended up on now respecting the "Do not override existing configuration" + feature. +- Distro Support Fixed: +- Arch now upgrades it's system package properly as suggested on their mailing list. +- Arch now moves back any configuration files provided by the user renamed by pacman on the + installation process. +- Fixed SmartOS detection(was being detected as Solaris) and bootstrapping. Fixed SmartOS + different gcc package names for different package sets. +- Fixed FreeBSD git based installations(no rc.d scripts were available). +- Fixed FreeBSD not re-evaluating the `PKI_DIR` variable since the `SALT_ETC_DIR` was + redefined. +- Distro Support Added: +- Linux Mint. Thanks Alex Van't Hof(alexvh)! +- Linaro. + +# v1.5.5: + +- Fixed a variable error in the new pre-seed feature. +- Fixed the destination path to where the pre-seed minions keys should be copied. +- Debian installations now use SaltStack's repository. +- Configuration files can now be passed as an URL to a compressed file. Thanks Geoff Garside! +- Distro Support Fixed: +- Debian's optional ZMQ3 support was fixed (libzmq3 has moved from experimental to + unstable). +- Ubuntu Lucid Daily PPA +- SmartOS no longer ignores $SALT_ETC_DIR. Matthieu Guegan! +- FreeBSD no longer ignores $SALT_ETC_DIR. Thanks Geoff Garside! +- FreeBSD does not try to install pkgng if pkg is installed. Thanks Geoff Garside! +- SunOS (Make use of XPG4 binaries on SunOS). Thanks Matthieu Guegan! +- openSUSE (Don't fail if only one of the repositories failed to update) +- Arch (Fixed the GPG issues for git installations) +- Distro Support Added: +- Gentoo. Thanks kaithar! + +# v1.5.4: + +- Fixed an issue we had when /proc/cpuinfo had more than one CPU. Detected on AMD CPUs. +- OpenSUSE 12.3 uses lsb_release. Fix the returned distro name "openSUSE project" to "openSUSE" + which the script handles. +- Added an custom move function which will only override if required and if we permit it. +- Implemented the necessary function to pre-seed minion keys on a salt master as an optional + argument. +- Distro Support Fixed: +- FreeBSD (Don't let the script fail if PACKAGESITE is not set) +- Debian Stable installations (the function search was not working as supposed) +- Distro Support Added: +- Ubuntu 13.04 (Was disabled because of a bad beta1. Fixed in beta2) + +# v1.5.3: + +- Return 0 or 1 from functions +- Convert several pipes into a single awk call +- Fixed `/etc/os-release` parsing +- Fixed `config_salt()` +- Distro Support Fixed: +- EPEL-based installations (CentOS, Amazon Linux, RedHat) +- SuSE/OpenSUSE (problem running the script twice, ie, existing `devel_languages_python` + repository) +- SuSE 11 SP1 (pip based install and config trigger) +- Distro Support Added: +- Debian 7 (Only git installations at the moment) + +# v1.5.2: + +- Fix issue with Travis testing (it installs it's own ZeroMQ3 lib +- Allow setting the debug output from an environment variable +- Fix an escape issue in the `printf` calls used in our echo calls +- Don't overwrite files (`config`, `init.d`, etc). Use a specific flag to force overwrites. +- Distro Support Fixed: +- Ubuntu daily installs. +- Distro Support Added: +- Trisquel 6.0 (Ubuntu 12.04) + +# v1.5.1: + +- Improved unittesting. +- Starting daemons. +- Make sure that daemons are really running. +- For the users to make the choice if installing from PIP (if required since there aren't system + pacakges). +- Fixed salt's git cloning when the salt git tree is already present on the system. +- Distro Support Fixed: +- Debian 6 +- Ubuntu 12.10 +- CentOS +- Distro Support Added: +- SuSE 11 SP1/11 SP2 +- OpenSUSE 12.x + +# v1.5: + +- First stable version of the script +- Support for: +- Ubuntu 10.x/11.x/12.x +- Debian 6.x +- CentOS 5/6 +- Red Hat 5/6 +- Red Hat Enterprise 5/6 +- Fedora +- Arch +- SmartOS +- FreeBSD 9.0 diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index fda066b..0000000 --- a/ChangeLog +++ /dev/null @@ -1,879 +0,0 @@ -Version TBD (In Progress on the Develop Branch): - -Version 2022.05.19 - * Fix situations where the registry key for root_dir does not exist - on Windows (twangboy) #1828 - * Add Ubuntu 22 support (krionbsd) #1820 - * Add Fedora 36 support (myii) #1818 - -Version 2022.03.15: - * Add detection and functions for AlmaLinux and Rocky Linux (myii) #1803 - * Copy configs to correct config dirs (v3004+) (dafyddj) #1798 - * Support Non-LTS Ubuntu 21.04 & 21.10 (blindpirate) #1793 - * Use native repositories for Debian 11 (jpacura) #1615 - * Keep all command-line parameters when UAC is enabled (Simon-TheUser) #1613 - * Add support for Raspbian (Jille) #1612 - * Add openrc to alpine:latest dependencies (krionbsd) #1609 - * Add CentOS 7 base key (bryceml) #1608 - * Fix git master install on alpine 3.12+ (Nascire) #1604 - * Sort help alphabetically (krionbsd) #1601 - -Version 2021.09.17: - * Re-add Ubuntu-16 support as it's still supported with 3001 and 3002 (krionbsd) #1594 - * Add oncoming 3004 release (krionbsd) #1593 - -Version 2021.09.14: - * Update latest Salt version in README (krionbsd) #1588 - * Make Python 3 the default (bryceml) #1577 - * Don't output info if using the default -x value (bryceml) #1587 - -Version 2021.08.19: - * Update README with instructions to use salt-bootstrap custom version (ari) #1580 - * Remove unsupported versions (bryceml) #1578 - * Update FreeBSD default Python version to 3.8 (myii) #1574 - -Version 2021.06.23: - * Use salt.list instead of saltstack.list (bryceml) #1563 - * Use fetch_url function for curl (xeacott) #1562 - * Add Ubuntu 21.04 support (krionbsd) #1559 - * Remove python2-futures package for ArchLinux (myii) #1546 - -Version 2020.03.02: - * Debian 11 (bullseye/testing) support using Debian 10 packages (jpacura, bryceml) #1514 - * Fix bootstrap on Gentoo (ijansky) #1516 #1518 - * Fix project URLs (bryceml) #1526 - * FreeBSD also needs the _PKI_DIR reset (krionbsd) #1523 - * Fix openSUSE Tumbleweed support. (myii) #1525 - * Fix Debian and Ubuntu version support. (jpacura) #1529 - * Powershell: Implement configure only option (for Vagrant). (dafyddj) #1530 - * Powershell: Handle Vagrant's `grains_config` option. (dafyddj) #1520 - * apt-key is deprecated on Debian 10+ and Ubuntu 20+ (bryceml) #1533 - * Fix python Tornado on FreeBSD. (krionbsd) #1522 - -Version 2020.10.20: - * Add support to allow bootstrapping Salt 3002 (s0undt3ch) #1506 - -Version 2020.10.19: - * Fix v3000+ with git install on FreeBSD (krionbsd) #1487 - * Update README giving ONE example of WINDOWS bootstrapping. Default to python3 instead of - python2. (noelmcloughlin) #1496 - * Support git and stable salt-bootstrap on Gentoo. (ijansky) #1500 - * Add support for Linux Mint 20. (taigrr) #1502 - * Adding missing functions for Red Hat 8. (mbochenk) #1489 - * Allow pinning minor 3xxx versions. (max-arnold) #1491 - -Version 2020.06.23: - * Fix for Cumulus Linux 4.1 (darylturner) #1474 - * Fix file download exit code, improve error message on failed download (bryceml) #1478 - * Add support for Ubuntu 20.04 (bryceml) #1479 - * Default Ubuntu 20.04 to Py3 since there isn't a Py2 release for it (bryceml) #1480 - * Warn instead of exit when using -R and -x python3 on centos to allow installing python3 - versions of salt on centos from other repos. Old unsupported releases probably need to - manually install epel-release before running the bootstrap script for versions before 2018.3.5 - and before 2019.2.1 (bryceml) #1482 - * Start maintaining .sha256 files for the bootstrap script - -Version 2020.05.28: - * Fix Opensuse Tumbleweed (noelmcloughlin) #1441 - * Remove Debian 8 from Python 3 supported list (jay1648) #1448 - * Fixed deps parsing for FreeBSD git installs (cedwards) #1462 - * Added support for the upcoming Sodium release (s0undt3ch) #1466 - * Fixed KDE Neon detection (ender8282) #1466 - * Updated README python 2 and 3 installations (gdebunne) #1466 - * Updated README and CONTRIBUTING to prefer Salt's master branch (DmitryKuzmenko) #1466 - * Fixed IUS repo addresses (oeuftete) #1469 - * Updated tests to assert target Python and Salt versions (s0undt3ch) #1470 - * Fixed Amazon 2 -x support (s0undt3ch) #1470 - * Fix Fedora stable installs for older releases (s0undt3ch) #1470 - * Fix CentOS 8 installations (s0undt3ch) #1470 - * Default Debian 10 to Py3 (s0undt3ch) #1470 - * Fix Arch Linux installs (s0undt3ch) #1470 - -Version 2020.02.24: - * Fix SLES 15 install (max298) #1431 - * Fix 3000(Neon) stable install (sblaisot) #1433 - * Fix Amazon Linux Py3 install (s0undt3ch) #1434 - -Version 2020.02.04: - * Add support for the Salt Neon(3000) release (s0undt3ch) #1424 - * Drop support for Fedora < 30 (s0undt3ch) #1424 - * Drop support for Debian < 8 (s0undt3ch) #1424 - -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 - -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 - -Version 2019.10.03: - * Fix possible typo with `gnupg-curl` vs `gnupg curl` (zahiar) - * Install only python3 packges if requested on ubuntu (noelmcloughlin) #1356 - * Fixing debian wheezy (bryceml) #1359 - * Fixed Amazon Linux 2 detection when lsb_release is installed (jars99) #1361 - * Mac OS Support (felippeb) #1363 #1364 #1365 #1366 - -Version 2019.05.20: - * Allow stable version selection for amazon linux (puluanau) #1328 - * FreeBSD 12 support (sticky-note) #1329 - * Apt wait for lock modification (ripesensor) #1335 - * Opensuse 15 Git installation fixes (s0undt3ch) #1340 #1341 - * Amazon Linux Image fixes (nshenry03) #1343 - * apt_key_fetch fixes (greut) #1344 - * CentOS Git and PIP installation m2crypto fixes (s0undt3ch) #1347 - * CI process enhancements/fixes (s0undt3ch) #1347 - -Version 2019.02.27: - * Add support for bunsenlabs devian derivative (kevinquinnyo) #1300 - * Add support for TurnKey devian derivative (dafyddj) #1313 - * Fix BSD develop install (hackacad) #1316 - * Ensure python-concurrent.futures is installed for Ubuntu (garethgreenaway) #1321 - -Version 2019.01.08: - * use official amazon linux 2 repo for amazon linux 2 (mchugh19) #1287 - * Add release info to applicable docs (rallytime) #1292 - * Modify wait_for_apt function (ripesensor) #1291 - * Add support for LinuxMint 19 (darkocerdic) #1289 - * FIX #1237 SmartOS should use pkgin show-deps (sjorge) #1283 - * Fedora: Reduce DNF calls to 2 during install_dep phase (The-Loeki) #1278 - -Version 2018.08.15: - * Add tests using kitchen-salt (gtmanfred) #1279 - * Add python-futures to Py2 installs (gtmanfred) #1279 - -Version 2018.08.13: - * Fedora Py3 fixes (The-Loeki) #1273 - * Handle commented lines in the requirements files for pip pkgs (rallytime) #1271 - * Remove typo: extra 'c' was accidentally added in #1269 (rallytime) #1270 - * [Arch] Add python2-futures to list of pkgs on git install (rallytime) #1269 - * Fix undefined variable warn_msg on amd64 (alexandruavadanii) #1268 - * SLES12SP changed packages git to git-core and libzmq3 to libzmq4 (mfapouw) #1266 - * Add opensuse 15 specific installation functions (rallytime) #1263 - * Remove support for openSUSE Leap 42.2 (rallytime) #1262 - * Remove support for Fedora 26 (rallytime) #1261 - * Remove support for Ubuntu 17.10 (rallytime) #1260 - * Ensure pipe is absent before mkfifo/mknod (noelmcloughlin) #1256 - * fix for opensuse15 if no lsb_release pkg (noelmcloughlin) #1255 - * Fix Up ShellCheck errors/warnings for latest version of shellcheck (rallytime) #1253 - * Remove daily install option on Ubuntu system (icy) #1250 - * Add python 3 support for Ubuntu 18 (rallytime) #1248 - * Return immediately if apt-get fails (icy) #1247 - * Disable shell error about unbound variable during daily install (icy) #1246 - * OpenSuse_Leap_15.0 saltstack repo support (noelmcloughlin) #1244 - * Add Python3 package support for Debian 9 (rallytime) #1243 - * Add Python3 package support for CentOS 7 (rallytime) #1242 - * Shellcheck fixes found when running latest version (rallytime) #1239 - * Add Python3 package support for Ubuntu 16.04 (rallytime) #1238 - * Fix the variable ref from #803 (rallytime) #1229 - * Add Ubuntu 18.04 support (rallytime) #1228 - * Call __git_clone_and_checkout directly (jheidbrink) #1226 - * Fix for silently ignored version argument on CentOS/RHEL (pjcreath) #1210 - -Version 2018.04.25: - * Install py-tornado4 for FreeBSD. (abednarik) #1219 - * Remove COPR repos configuration for Fedora (vutny ) #1211 - * Fix for silently ignored version argument on CentOS/RHEL (pjcreath) #1210 - * Use integer parameter for sleep command (bdrung) #1205 - * Add 2018.3 branch to list of stable options (rallytime) #1204 - * If installing with -P, install tornado<5.0. (rallytime) #1203 - * Add M2Crypto to python27 centos 6 bootstrap install (Ch3LL) #1201 - * Update README to include mention of bootstrap-salt.ps1 for Windows (rallytime) #1200 - * Port spelling fixes from change in Salt to Bootstrap (rallytime) #1199 - * Add M2Crypto package back to git install functions (rallytime) #1198 - * OpenBSD has a cdn which handles selecting the best mirror (jasperla) #1197 - * Change gnupg2 pacakge to gnupg for non-LTS versions of Ubuntu (rallytime) #1196 - * Install swig30 as freebsd dep instead of swig. (abednarik) #1191 - * make salt-syndic optional on salt bootstrap (sybix) #1190 - * Add __wait_for_apt function: avoid locking on the apt-get process (rallytime) #1186 - * Update the README.rst file with some grammatical changes (rallytime) #1185 - * Update Fedora support: 25 is EOL, 27 is supported (rallytime) #1184 - * Add a note about the use of sudo when running commands to README (rallytime) #1183 - * Adding support for minor release pinning on AWS Linux (cmclaughlin) #1182 - * Wait for zypper processes to finish before calling zypper again (rallytime) #1181 - * only install ca-certificates on opensuse if it isn't already installed (gtmanfred) #1179 - -Version 2017.12.13: - * Use HTTPS URL for OpenSuse's saltstack repo (gdm85) #1174 - * Respect disable repos (-r) option on OpenBSD (eradman) #1171 - * Fix #1168 : -b option causes error (vutny) #1170 - * Fix fatal error with using the -b option. (arizvisa) #1169 - * Devuan support (ymasson) #1165 - * Fix yum repo on AWS Linux (cmclaughlin) #1164 - * Use suse repo to install packages, rather than defining them (rallytime) #1157 - * Remove patch-level-1 specific code for SLES installs (rallytime) #1156 - * priority sort fedora-release (toanju) #1153 - * Declare EOL for SUSE Linux Enterprise Server releases (vutny) #1150 - * Fix #1142: allow git install on Raspbian 9 (vutny) #1146 - * Follow symlinks when parsing distro release files (vutny) #1145 - * fedora: use dnf-utils for F26 and above (toanju) #1144 - * Declare EOL for openSUSE LEAP 42.1 (vutny) #1143 - * Fix #1137: import GPG key through an HTTP(S) proxy (vutny) #1139 - * Fix #1138: git install on Debian/Ubuntu various arches (vutny) #1141 - * Declare EOL for openSUSE releases earlier and including 13.X (vutny) #1136 - * Update Fedora support: 24 is EOL (rallytime) #1134 - -Version 2017.08.17: - * Add new authors (rallytime) #1130 - * README: Fix typo and Table of Contents for Debian section (vutny) #1129 - * Reduce the # of days an issue is stale to 6 months (rallytime) #1125 - * Only install Python version if "-y" is defined (rallytime) #1124 - * Allow powershell bootstrap script to specify PY2 or 3 (rallytime) #1123 - * Remove the test that checks if the EPEL RPM was installed (amendlik) #1122 - * added latest version string of nitrogen release 2017.7 (sourceindex) #1120 - * use versions specified in base.txt when doing pip installs (aflat) #1116 - * Remove pip install requirement on Fedora git installs (rallytime) #1114 - * Introductory support for Debian 10 (Buster) (rallytime) #1113 - * Add Debian 9 support using official repo.saltstack.com packages (rallytime) #1111 - * Fix 1105 (vernondcole) #1110 - * Move SUSE specific function closer to related code (vutny) #1107 - * Update Authors file (rallytime) #1103 - * Fix ubuntu 16.04 LTS installation (BlaineAtAffirm) #1102 - * Add debian_codename_translation function, similar to Ubuntu (rallytime) #1101 - * Add the CODE_OF_CONDUCT.md file (rallytime) #1100 - * Update Debian and Ubuntu service file paths to be consistent with salt (rallytime) #1099 - * Add hash verification information to installation instructions (rallytime) #1098 - * Fix installing salt-cloud package on Arch Linux (rallytime) #1097 - * Support bootstrapping on upcoming Debian GNU/Linux 9.0 (vutny) #1096 - * Removes faulty explicit version ordering (absolutejam) #1095 - * Remove configuring EPEL repo for Amazon Linux (vutny) #1093 - * Fix -j/-J (JSON configs) options for Debian 8 (vutny) #1092 - * Fix #1035: detect and log errors earlier (vutny) #1091 - * Update AUTHORS file (rallytime) #1089 - * Autounmask as separate step (decomposite) #1088 - * Ensure presence of CONFIG_PROTECT_MASK files (decomposite) #1087 - * Update Fedora support: 23 is EOL now. (rallytime) #1084 - * Fix the -R option on Debian/Ubuntu (rallytime) #1082 - * Declare End-Of-Life for Ubuntu 12.04 LTS (vutny) #1080 - -Version 2017.05.24: - * Use freebsd repo to query for salt dependencies (Ch3LL) #1076 - * Allow amazon to work with python2.7 on installs over 2016.11 (Ch3LL) #1073 - * ensure sles12 enables services with stable installs (Ch3LL) #1075 - * Declare End-of-Life for RHEL 5 and its variants (vutny) #1070 - * Fix configuring SaltStack's repo URL for RHEL variants (vutny) #1068 - * Add Manjaro as Arch derivative (luthes) #1063 - * Add "unmarkComment" option to probot-stale config (rallytime) #1064 - * Properly detect all supported Debian GNU/Linux derivatives (vutny) #1062 - * Archlinux must always update (gtmanfred) #1060 - * Alpine: fix adding, checking and running Salt Syndic in stable mode (vutny) #1059 - * Add KDE neon... (EHJ-52n) #1058 - * Update probot-stale message formatting. (rallytime) #1057 - * Fix `git` bootstrap mode for CentOS (vutny) #1054 - * update install_freebsd_10_stable to use FreeBSD repo (bytesatwork-xx) #1053 - * Support OpenBSD 6.1 (eradman) #1048 - * Update daysUntilStale value in probot-stale config (rallytime) #1055 - * Add ability to install and use a different python version when installing salt (Ch3LL) #1049 - * Add non-LTS type support for Ubuntu 17.04 (rallytime) #1051 - * Allow -R option to work for Debian/Ubuntu (rallytime) #1045 - * Adjust "daysUntilStale" variable to 190 days. #1047 - * Reduce the number of days an issue is considered "stale" (rallytime) #1046 - * Alpine: fix bootstrapping from Git -- install OpenRC initscripts (vutny) #1044 - * Add probot-stale config file (rallytime) #1042 - * Shallow cloning and Python setup fix for BSD (amontalban) #1040 - * Fix not needed quoting for salt/salt-bootstrap#1026 (amontalban) #1039 - * Update README file with supported release documentation (rallytime) #1034 - * Remove <<< bashism (The-Loeki) #1032 - * [-R option] Fix logic error where we trying to enable epel with -R (rallytime) #1033 - * Alpine: check Salt services have been enabled to start on boot (vutny) #1031 - * AWS Linux Native Support (bkruger99) #1022 - * Correct package name for FreeBSD installation (amontalban) #1030 - * README: describe architectures support for Salt deps on Linux distros (vutny) #1029 - * This commit addresses some of the issues in salt/salt-bootstrap#996 (amontalban) #1026 - * Add support for stable installation on Alpine Linux release 3.5 (vutny) #1028 - * Alpine Linux: fix installation of multiple pkgs ("stable" bootstrap) (vutny) #1027 - * Add Void Linux support (ndrwdn) #1025 - * RHEL6: disable stdin to fix shell session hang on killing tee pipe (vutny) #1018 - * Adding 2016.11 to stable version (ashokrajar) #1017 - * Update bootstrap-salt.sh (caelor) #1015 - * Alpine Linux support #1009 (ek9) #1010 - * Add Table of Contents in README (vutny) #1014 - -Version 2017.01.10: - * Update AUTHORS.rst with new contributors (rallytime) #1011 - * fix bootstrap in Arch Linux by updating package name from salt-zmq to salt (ek9) #1007 - * Add python-systemd package to debian 8 git install (rallytime) #1003 - * Updated supported versions for Ubuntu: 12.04, 14.04, 16.04, and 16.10 (best effort) (rallytime) #1002 - * Add "yakkety" to ubuntu_codename_translation function (rallytime) #1001 - * Update supported versions for Fedora: 23, 24, and 25. (rallytime) #1000 - * Handle renaming of gnupg-curl to gnupg1-curl for Ubuntu 16.10 (marco-m) #998 - * fix systemctl path (dmitrievav) #997 - * Drop unnecessary workarounds (creating directories) for early releases (vutny) #995 - * Let's detect newly released Salt 2016.11 stable release (vutny) #994 - * Adjust code examples to use the actual bootstrap-salt.sh file name (rallytime) #993 - * Install TLS certs before cloning git repo via https (vutny) #991 - * Remove fix me comment and fix systemsmanagement link (rallytime) #990 - * Correct usage description about "config only" mode (vutny) #989 - * Fix overwriting Minion config from temporarily directory (vutny) #988 - * Configure Salt components after the dependencies installation (vutny) #987 - * Add CloudLinux support (rallytime) #986 - * Apply the insecure flag to git as well (cachedout) #981 - -Version 2016.10.25: - * Update AUTHORS.rst with new contributors (rallytime) #978 - * Let's start detecting the upcoming Debian 9 (Stretch) (lhost) #975 - * FreeBSD: set _SALT_ETC_DIR directory to match ports (eradman) #970 - * Update OpenBSD 6.0+ provisioning (eradman) #969 - * adds supports for Cumulus Linux (plumbis) #967 - * Run "pip install -U futures" for SmartOS git install (rallytime) #966 - * Change /pkg/rpm/ to /pkg/deb/ in install_ubuntu_git_post func (rallytime) #965 - * SUSE: Refactor systemsmanagement_saltstack repo checks to be DRY (rallytime) #964 - * Fix detection of EPEL repository with not-expired metadata (sp1r) #963 - * Display warning message about deprecating the `-G` option (vutny) #958 - * Allow correct salt paths to be used when -c is passed (justinta) #955 - * Fix issues with replacing configs when python3 is default in os. (fizmat) #954 - * Remove m2crypto package installs (rallytime) #951 - * Try to install SP4 packages on SLE 11 when SP version is older (rallytime) #950 - * Add python-futures package to install_centos_git_deps (rallytime) #948 - * Add /etc/portage/package.accept_keywords to CONFIG_PROTECT_MASK (rallytime) #947 - * Deprecate `-G` option: use `https` scheme for GitHub by default (vutny) #945 - * [SECURITY] Properly handle GnuPG keys for APT repositories (vutny) #940 - -Version 2016.08.16: - * Ubuntu git mode: install all deps from SaltStack corp repo by default. (vutny) #936 - -Version 2016.08.15: - * Remove chris-lea python-zmq repo. (rallytime) #929 - * Disable the '--enablerepo=${_EPEL_REPO}' part of yum install cmds when passing -R/-r. (rallytime) #928 - * Fix grep pattern in `__check_services_sysvinit`. (vutny) #927 - * Missing python dependency for salt-cloud added. (toanju) #925 - * Fix git install mode when using commit hash with `-g` option. (vutny) #922 - * Install `salt-cloud` package with `-L` option in `stable` mode. (vutny) #919 - * Fix bootstrapping from Git on CentOS7 when `systemd` is not running. (vutny) #915 - -Version 2016.07.07: - * Add new contributors to authors list. (rallytime) #910 - * Split up python-requests and python-msgpack packages for newer Fedora. (rallytime) #909 - * Fix typo in repository configuration for FreeBSD. (ekollof) #907 - * Make sure $STABLE_REV is set before setting up SaltStack repo. (rallytime) #906 - * Remove tests written question from template. (rallytime) #904 - * Adding support for Linux Mint 18 (based on Ubuntu 16.04). (eliezerlp) #902 - * Allow git installation for SLES 12. (rallytime) #903 - * Set repo_arch for raspberry pi installs. (mrichar1) #899 - * Change temporary directory for storing executable to C:\Windows\Temp. (themalkolm) #897 - * add apt-transport-https for ubuntu. (epcim) #896 - * Fix expanding shell script position parameters with nounset enabled. (vutny) #895 - * RFC: Add tests for bootstrap-salt.ps1. (themalkolm) #893 - * Keep original name of salt executable executable. (themalkolm) #857 - -Version 2016.06.27: - * Fix race condition when doing one-liner bootstrap. (vutny) #889 - * Add space back in between 'install' and '--install'. (rallytime) #890 - -Version 2016.06.24: - * Save invocation command and arguments into variables. (jfindlay) #885 - * Update the authors list with new contributors. (rallytime) #884 - * Add option to make setup.py install quiet. (nasenbaer13) #865 - * Fix lint. (jfindlay) #881 - * Add -R option to allow a custom repo URL. (rallytime) #877 - * Exclude path of script when called from another dir. (l2ol33rt) #871 - * Print invocation info. (jfindlay) #869 - * Always refresh the Arch Linux keyring if needed. (cachedout) #868 - * Ubuntu 16.04 LTS Xenial Support. (notpeter) #852 - * Install Salt packages from repo.saltstack.com on Debian 7 "Wheezy". (vutny) #864 - * Drop support for Debian 6 old-old-stable "squeeze": reached end-of-life. (vutny) #860 - * Removed ubuntu version restriction for apt-get update. (marccardinal) #859 - * Fix bootstrapping from git on Debian 8 by installing latest `tornado` via pip. (vutny) #828 - * Add the ability to override master and/or minion configs from CLI. (rallytime) #841 - * Don't sleep 11 seconds if the user allowed overwrite of config files. (poelzi) #832 - -Version 2016.05.11: - * Only overwrite the minion config file if '-C' is passed. Otherwise, preserve it. (rallytime) #848 - -Version 2016.05.10: - * Removed libzmq4 and forking-deamon-patch for Opensuse13. (jtand) #840 - * Ubuntu 12.04 needs to be updated before installing packages. (jtand) #829 - * Always download and install *latest* `epel-release` package on RHEL systems. (vutny) #825 - * Fix Amazon Linux EOL check. (vutny) #818 - -Version 2016.04.18: - * Add support for openSUSE Leap. Thanks Roman Inflianskas(rominf). #693 - * Fix missing deps installation on Debian. Thanks Steve Groesz(wolfpackmars2). #699 - * Update SaltStack repo location and latest version for Windows. (brandon099) #711 - * Better EPEL repository detection on RHEL and CentOS. (vutny) #717 - * Fix git invocation fail when `man` command is not available. (vutny) #718 - * Fix `epel-release` package installation on CentOS/RHEL 5. (vutny) #719 - * Removed deprecated cli option. (abednarik) #705 - * Remove RHEL optional repo check and enable. (vutny) #720 - * Remove SaltStack COPR repository configuration for CentOS/RHEL5. (vutny) #721 - * Add opensuse_Tumbleweed support. (aboe76) #725 - * Sometimes bootstrap doesn't install zmq. (jtand) #726 - * Process -s (default sleep for service restarts) in bootstrap-salt.sh. (hipikat) #692 - * Minion keys and /etc/salt/minion should be overwritten on -C. (cro) #541 - * Fix for -C (_CONFIG_ONLY). (beaucephus) #544 - * Fix when using upstream tags. (The-Loeki) #564 - * COPR project moved. (rmohr) #738 - * Update license year range. (pra85) #743 - * Use POSIX-Compliant Command-Exists Test. (kojiromike) #741 - * Add -f option to force shallow cloning. (eyj) #660 - * add SLE 12 support, fix OpenSUSE support. (grep4linux) #748 - * Fix CentOS git setup.py syntax error upon installation. (The-Loeki) #746 - * Enable shallow cloning for version branches by default, not only tags. (vutny) #750 - * do not install copr repo on fedora 22+. (toanju) #751 - * Add support for pegged versions on YUM based OS'ses through repo.saltstack.com. (The-Loeki) #685 - * fix for FreeBSD 11 CURRENT install functions. (serge-p) #723 - * Don't add zypp repo if it already exists. (furlongm) #731 - * switch repositories for suse and sles fixes `#706`_. (aboe76) #734 - * Reformat and correct usage instructions. (vutny) #755 - * fixed missing repo for suse 12. (aboe76) #756 - * fix for Amazon Linux. (shawnbutts) #700 - * adding support for OpenBSD distribution. (serge-p) #722 - * fixing syntax errors. (beardedeagle) #760 - * Import CentOS 7 GPG key on RHEL for installing base dependencies from Salt corp repo. (vutny) #765 - * Fix multiple lint errors (shellcheck) and make some refactoring. (vutny) #768 - * Fix sleep time option to recognize a numeric argument. (vutny) #771 - * Update README. (vutny) #787 - * get tornado from pip on a fedora git install. (jfindlay) #785 - * Remove the Saltstack repo's alias. (cro) #794 - * Ability to change cache dir. (clarkperkins) #761 - * Add config_freebsd_salt func so freebsd puts cfgs in the right place. (ryanwalder) #779 - * Allow archive versions. (clarkperkins) #769 - * Lack of HTTPS for RPM packages. (jaredestroud) #783 - * Ability to change cache dir. (clarkperkins) #761 - * Bootstrap on Docker. (vutny) #793 - * add downstream pkg repo for SUSE. (jfindlay) #791 - * Fixed use of HTTP over HTTPS for anonscm.debian.org. (gdm85) #788 - * Bump Salt version to latest stable in PS bootstrap script for Windows. (vutny) #801 - * Add an -l option to switch https to http links. (rallytime) #795 - * Virtualenv support for Ubuntu. (l2ol33rt) #666 - * Lint. (jfindlay) #805 - * use portable command check. (jfindlay) #806 - * Update epel-release version number (RuriRyan) #809 - - -Version 2015.11.09 - * Make sure that wget is installed. #868 - - -Version 2015.11.04: - * Allow bypassing dependencies installation. Thanks EYJ. #656. - * Add FreeBSD 11 support. Thanks Chris Buechler(cbuechler). #653 - * Move RHEL installations to use repo.saltstack.com #674 - * Move Debian 8 installation to use repo.saltstack.com #674 - * Fix error finding python-jinja2 in RHEL 7. Thanks Rob Eden(hedinfaok). #654 - * Move Ubuntu 12 and 14 installations to use repo.saltstack.com #674 - * Move FreeBSD installations to use repo.saltstack.com #674 - * Use dnf on Fedora 22 and later. Thanks Michele Bologna (mbologna). #665 - - -Version 2015.08.06: - * Fix python-requests installations for Ubuntu >= 14.04 LTS. #631, #632, #633 - * Install python-crypto from Chris Lea's PPA for Ubuntu < 14.04 - * Exit the git checkout directory before deleting it. Thanks Bret Fisher. #634 - * Use prefix /usr for centos git install. Thanks Stanislav B. #638 - * Drop Ubuntu EOL versions. All Ubuntu version before 12.04. - * Make sure python-dev is installed wheb trying to install tornado from PyPi. #640 - - -Version 2015.07.22: - * Fix tornado installation in Ubuntu. Thanks Yushi Nakai. #627 - * Install tornado using pip on Ubuntu for Salt's v2015.8.xx onward stable releases. - * Install requests on Ubuntu from Chris Lea's PPA. #630 - -Version 2015.07.17: - * Make sure setuptools is installed before using it. #598. - * `systemd` is only fully supported from 15.04 onwards. #602 - * Fix debian mirrors issue. Thanks Wolodja Wentland(babilen). #606 - * Fix python-jinja2 repo move on RHEL6. Thanks lomeroe. #621 - * Allow skipping services. Thanks denmat. #455 - * Fix missing Debian init script. #607 saltstack/salt#25270 and saltstack/salt#25456 - * Fix SmartOS etc path. Thanks Bret Fisher. #624 - * Fix possible unbound variable in Gentoo. #625 - * Properly detect the git binary in SmartOS. #611 - -Version 2015.05.07: - * Lower required requests version dependency. Use system requests package where possible. - * Allow Ubuntu alternate ppas. Thanks Peter Tripp(notpeter). #563 - -Version 2015.05.04: - * Fix the configuration path for FreeBSD. #567/#552. Thanks Ronald van Zantvoort(The-Loeki). - + Fix non grouping support in POSIX sed. Thanks Ronald van Zantvoort(The-Loeki). - * Add Debian 8 support. Thanks Matt Black(mafrosis) - * Improve Debian version parsing. Thanks Mark Lee(malept) - * Make sure we update packages list one Chris Lea's PPA repository is added. - * Hard code the Debian Squeeze backports to the DE mirror since the main repository is down. - Thanks @panticz. #589. - * Only install git if not already installed. #560 - * Fix openSUSE 13.2 where we need to pass --replaceflags. Thanks Roman Inflianskas(rominf). - #504. - * Make sure that a recent enough requests package is installed in Debian/Ubuntu. - * Install tornado on git installs for the develop branch if necessary. #580 - * Add support for Ubuntu 15.04 - -Version 2015.03.15: - * Add multi-master support. Thanks Fred Reimer(freimer). #555 - -Version 2015.03.04: - * Fix the salt package selection on Arch stable installs. - -Version 2015.02.28: - * Fix Debian backports repository. - -Version 2015.02.27: - * Try other tools besides wget when downloading the COPR repo file. Thanks Ronald van - Zantvoort(The-Loeki) - * No need to install packages from the Unstable repository for debian, use backports. Thanks - Ari Aosved(devaos) - * Fix an issue in CentOS where the syndic package wasn't being installed(since it's now a - separate package). Thanks Ronald van Zantvoort(The-Loeki) - * Enable the server-optionals repository for RHEL >= 7 - * RHEL/CentOS 5 now uses the COPR repository. #533 - -Version 2015.01.12: - * Add package upgrades support to FreeBSD. Thanks William Eshagh(eshagl). - * Make sure wget is installed on debian bare systems. - * Make sure the Arch pacman database is up to date - * Install `python-hashlib` in CentOS 5 in order to use the COPR repository - -Version 2014.12.11: - * Enable binary installations on CentOS 7. Thanks ggillies - * Updated the URL for EPEL 7 - -Version 2014.10.30: - * Apply the forking patch to openSUSE git installations. - -Version 2014.10.28: - * Install the python systemd bindings for Arch and Fedora git installations - * Allow cloning from Salt's git repository using HTTPS. #475 - -Version 2014.10.21: - * Fix path to python on FreeBSD. Thanks Pavel Snagovsky(paha) - * Fix syndic installation on RHEL based installations. Thanks markgaylard - * Properly detect the git checkout `basename` directory instead of hard coding it. Thanks - Howard Mei(HowardMei). - * Allow installing ZMQ for SaltStack's COPR repository. - * Allow installing ZMQ4/PyZMQ14 from Chris Lea's PPA repository. - -Version 2014.10.14: - * Fixed a regex issue with matching Salt's tags. Match v2014.7 but not 2014.7 as a valid tag - * Distro Support Added: - * Added Linux Mint 17 support(Thanks Skyler Berg) - * Disrto Suuport Fixed: - * Init pacman keys if not done so previously - -Version 2014.09.25: - * Properly detect Amazon AMI's >= 2014.9. #468 - -Version 2014.09.09: - * Distro Support Fixes: - * Updated the URL for EPEL 7 - * PIP based installations on Ubuntu 10.04 need setuptools installed - * Arch stopped providing the version information on `/etc/arch-release` - * Complete `salt-api` services checking. #450 - -Version 2014.08.30: - * Skip service checks for `salt-api`, since this should be an opt-in service not necessarily - meant to start at boot time. - * Distro Support Fixes: - * Also install the salt-api service on RHEL based distributions for git based - installations. - * Properly detect Arch Linux when lsb-release is available - * Updated the URL for EPEL 7 - -Version 2014.08.23: - * Avoid redirect breakage when installing EPEL with rpm on RHEL 5 - * Ensure python-apt is installed by the bootstrap script for Debian & Ubuntu minions. Thanks - @garethgreenaway. - * Don't shallow clone on git versions lower than 1.7.10 - * Only shallow clone on git tag based installations - * Configurable Salt repository clone directory for git based installations - * Distro Support Fixed: - * Fixed the URL to download EPEL for Cent 5 - * Use the full path to the `chkconfig` binary when checking for services in SysV init - systems. - * Fixed an issue where the default sleep period(3 secs) on Ubuntu would cause a race - condition with upstart wherein the package installation would call an upstart start and - before it could complete, bootstrap would call another. The result was *two* copies of salt - running which ended up causing a most stubborn bug that's documented in - https://github.com/saltstack/salt/issues/12248 - -Version 2014.07.29: - * Shallow clone Salt's repository for speed improvements. In case of failure, resume old - behaviour. - * Fixed bug introduced in 0577622 when salt-api service install and checks were added - * Distro Support Fixed: - * Fixed infinite loop when handling RHEL dependencies. Thanks Dan Mick(@dmick). - -Version 2014.07.27: - * Amazon Linux AMI 2010.xx is not explicitly not supported. - * Install the `salt-api` scripts if available when the `salt-master` is also installed. - * Added support for a configurable sleep time when starting, restarting and checking for - enabled services. - * Drop the `tsflags` requirement for RHEL and RHEL based distributions. - * When sorting release files, oracle-release has higher priority than redhat-release. - * Distro Support Fixed: - * Debian >= 7 uses system's python-requests package, not PIP - * Install 'python-zypp' in SuSE and openSUSE(required by Salt's zypper module) - * Only install EPEL on requiring distributions if not already installed - * CentOS 7 now uses systemd and the script now properly handles it - * systemd in openSUSE 12.2 complains if service does not contain `.service`` - * Properly detect openSUSE using `lsb_release - * SLES 11 SP3 ships with both python-M2Crypto-0.22.* and python-m2crypto-0.21 and we will - be asked which we want to install, even with --non-interactive. Let's try to install the - higher version first and then the lower one in case of failure. - * Allow some extra time on RHEL for the optionals repo check in case the repository - subscription is being managed externally. - -Version 2014.06.30: - * Distro Support Fixed: - * Bump build/maintenance version for epel-release package. Thanks Gregory Meno(GregMeno) - * Properly detect Amazon Linux AMI when using `lsb_release` - * Fix `tsflags` installation. - -Version 2014.06.28: - * Fixed `tsflags` packages detection for RHEL and Oracle Linux 6.5 - -Version 2014.06.21: - * Also export the HTTPS proxy environment variable. Thanks Giuseppe Iannello(gianello). - * Distro Support Fixed: - * Improve Oracle Linux Server detection - * Overcome the Oracle Linux awkwardness. `--enablerepo=XYX` disables ALL OTHER REPOS!!!! - * Oracle Linux also support testing repositories installation - -Version 2014.06.19: - * Allow passing the master address as an environment variable, `BS_SALT_MASTER_ADDRESS` - * Fixed an issue with the keys pre-seed. We were passing absolute paths where we only needed - basenames. - * Added HTTP proxy configuration support. Thanks Giuseppe Iannello(gianello), - * Distro Support Added: - * Elementary OS - * RHEL 7 Beta/RC - * Kali Linux. Thanks Valentin Bud(valentinbud) - * Distro Support Fixed: - * Improved RHEL optionals repository detection - -Version 2014.04.16: - * Fixed a bug for RHEL 6 based distributions where yum-utils was not getting installed. - * Added minor version check for RHEL 6 optional channel. - * Added quotes around "apache-libcloud>=$_LIBCLOUD_MIN_VERSION" for proper version requirements - handling. - * Install the python 'requests' package which is now a hard dependency in Salt. - * When installing from a user defined repository add the official one as a remote and fetch - its tags for proper versioning. - * Distro Support Fixed: - * CentOS netinstall ISO's don't install `chkconfig` - * Improved RHEL optional repository detection. This allows user repository usage, which - don't need the optional repository support since they usually provide their packages. - * Distro Support Added: - * Oracle Linux - * Scientific Linux - -Version 2014.03.10-1: - * Distro Support Fixed: - * Fix the Debian services running function - -Version 2014.03.10: - * Debian based distributions which don't use upstart now also check if the salt services are - enabled. - * Distro Support Fixed: - * RedHat based distributions now have a proper services enabled checker. - -Version 2014.02.27: - * Fixed a bug on the services enabled function searching logic. - * Arch, Fedora, openSUSE and SuSE now check for services enabled, if using systemd - * CentOS(and any RedHat based) and Ubuntu now check for services enabled is using upstart - * Distro Support Added: - * Debian 8. Thank You Boris Feld(Lothiraldan). - -Version 2014.02.19: - * Fixed a problem with the quotes of an error message - * Arch installations now uses the community repository - * Distro Support Fixed: - * Fixed Fedora Git based installations(git was not being installed) - -Version 2014.02.18: - * Debian based distribution now get a warning stating that NOT starting daemons does not work - as supposed, mainly because that's the Debian policy. - * Fix bug introduced when implementing the master ip flag. The default minion includes - directory is `minion.d`, not `minion.conf.d` - -Version 2014.02.16: - * The script now allows setting up the salt-master address as a separate configuration file by - passing `-A` to the script. - * Add support to install apache-libcloud by passing the `-L` flag. In some distribution it's - also needed to pass `-P` because the minimal apache-libcloud version is `0.14.0`. This support - is still missing for FreeBSD and SmartOS. - * Fixed an issue when copying or moving files. We now test to see if the destination is a - directory and create a full path from that so that the "do not override" logic works as - supposed. #294. - * Allow passing additional package names to install while installing Salt's dependencies. #262 - * Pass the salt configuration directory, default or from environment variable to the setup.py - script for git based installations. #305 - * Distro Support Fixed: - * FreeBSD `fetch` now has a notion of insecure certificates. Handle this properly. Thank - You Mike Carlson(m87carlson). - * Arch, openSUSE and SuSE are now upgradable when the `-U` flag is passed. - * Force overwrites now works for existing init.d scripts on CentOS git installations. #259 - * Distro Support Added: - * FreeBSD 10 is now also supported. Thank You Mike Carlson(m87carlson). - * Red Had Enterprise Workstation is now supported. - -Version 1.5.11: - * Fixed an out of scope variable missed when moving functions around. - -Version 1.5.10: - * Salt no longer has the master branch in git, install from develop as default. - * Installing from Git on Red Hat based distributions now also needs `yum-utils` installed. - * Allow the script to use a different git repository to install from. - * Fixed a bug where a branch name with dashes would be wrongly detected as an option to the - script. - * Default to secure file downloads(if any). - * Distro Support Fixed: - * Minimal Ubuntu installation might not have upstart installed, fixed. - * FreeBSD now uses the official FreeBSD repository. Thank You Paul Brian(lifeisstillgood)! - -Version 1.5.9: - * Allow to not start the daemons after bootstrapping salt. This will allow `vagrant-lxc` - installations, `debootstrap*`, etc, to finish properly. Thanks Henrik Holmboe (holmboe). - * Distro Support Fixed: - * Salt >= 0.17 requires ElementTree which is on the python standard library after python - 2.6 but openSUSE split that into a separate package. - * Fixed a logic preventing proper Ubuntu bootstrapping on some situations. - -Version 1.5.8: - * Fixed an Ubuntu regression. `add-apt-repository` is only available on - `software-properties-common` after 12.10, inclusive. Thanks Diego Woitasen(diegows) - -Version 1.5.7: - * For RedHat based distributions which rely on `epel`, the user can now pass `testing` to the - script and `epel-testing` shall be used to bootstrap salt and it's dependencies. - * No full system upgrades, if optional by the distribution, shall be done unless `-U` is passed - to the bootstrap script(required upgrade procedures must exist on the script, currently Debian - and RedHat based distributions support system upgrades). - * Fixed an issue where passing BS_KEEP_TEMP_FILES=1 to the script was causing an error. #206. - * Switched FreeBSD default packages repository to PCBSD(http://www.pcbsd.org) and added - multiple repository support to install salt from the SaltStack's FreeBSD repository. Thanks - Christer Edwards(cedwards). - * Improved Gentoo Support. Thanks Elias Probst(eliasp). - * Stop execution soon for end of life distributions or non supported distribution versions. - * Distro Support Fixed: - * Fixed an unbound variable while bootstraping Gentoo. - * Fixed CentOS/RHEL 5. - * Fixed crypto++ compilation. Thanks Kenneth Wilke(KennethWilke)! - * Fixed FreeBSD git installations not pointing to the proper salt configuration directory, - which on FreeBSD is '/usr/local/etc/salt'. - * Fixed testing installation for Red Hat based distributions. Thanks Jeff Strunk(jstrunk) - * Fixed wrong package name on Arch. Thanks Niels Abspoel(aboe76) - * Make sure the Ubuntu universe repository is enabled. Thanks Karl Grzeszczak(karlgrz). - * Fixed SmartOS installation. Thanks Matthieu Guegan(mguegan). - -Version 1.5.6: - * If there's a `grains` file on the provided temporary configuration directory, move it to the - proper place while moving the minion configuration file. - * Gentoo bootstraps can now use a bin host to provide binary packages, just set the - `BS_GENTOO_USE_BINHOST` environment variable. - * If `BS_KEEP_TEMP_FILES=1` is found on the environment, the script will copy the files instead - of moving them. - * There were still some `mv` and `cp` occurrences which were not using their `{move,copy}file` - replacements which ended up on now respecting the "Do not override existing configuration" - feature. - * Distro Support Fixed: - * Arch now upgrades it's system package properly as suggested on their mailing list. - * Arch now moves back any configuration files provided by the user renamed by pacman on the - installation process. - * Fixed SmartOS detection(was being detected as Solaris) and bootstrapping. Fixed SmartOS - different gcc package names for different package sets. - * Fixed FreeBSD git based installations(no rc.d scripts were available). - * Fixed FreeBSD not re-evaluating the `PKI_DIR` variable since the `SALT_ETC_DIR` was - redefined. - * Distro Support Added: - * Linux Mint. Thanks Alex Van't Hof(alexvh)! - * Linaro. - - -Version 1.5.5: - * Fixed a variable error in the new pre-seed feature. - * Fixed the destination path to where the pre-seed minions keys should be copied. - * Debian installations now use SaltStack's repository. - * Configuration files can now be passed as an URL to a compressed file. Thanks Geoff Garside! - * Distro Support Fixed: - * Debian's optional ZMQ3 support was fixed (libzmq3 has moved from experimental to - unstable). - * Ubuntu Lucid Daily PPA - * SmartOS no longer ignores $SALT_ETC_DIR. Matthieu Guegan! - * FreeBSD no longer ignores $SALT_ETC_DIR. Thanks Geoff Garside! - * FreeBSD does not try to install pkgng if pkg is installed. Thanks Geoff Garside! - * SunOS (Make use of XPG4 binaries on SunOS). Thanks Matthieu Guegan! - * openSUSE (Don't fail if only one of the repositories failed to update) - * Arch (Fixed the GPG issues for git installations) - * Distro Support Added: - * Gentoo. Thanks kaithar! - - -Version 1.5.4: - * Fixed an issue we had when /proc/cpuinfo had more than one CPU. Detected on AMD CPUs. - * OpenSUSE 12.3 uses lsb_release. Fix the returned distro name "openSUSE project" to "openSUSE" - which the script handles. - * Added an custom move function which will only override if required and if we permit it. - * Implemented the necessary function to pre-seed minion keys on a salt master as an optional - argument. - * Distro Support Fixed: - * FreeBSD (Don't let the script fail if PACKAGESITE is not set) - * Debian Stable installations (the function search was not working as supposed) - * Distro Support Added: - * Ubuntu 13.04 (Was disabled because of a bad beta1. Fixed in beta2) - - -Version 1.5.3: - * Return 0 or 1 from functions - * Convert several pipes into a single awk call - * Fixed `/etc/os-release` parsing - * Fixed `config_salt()` - * Distro Support Fixed: - * EPEL-based installations (CentOS, Amazon Linux, RedHat) - * SuSE/OpenSUSE (problem running the script twice, ie, existing `devel_languages_python` - repository) - * SuSE 11 SP1 (pip based install and config trigger) - * Distro Support Added: - * Debian 7 (Only git installations at the moment) - - -Version 1.5.2: - * Fix issue with Travis testing (it installs it's own ZeroMQ3 lib - * Allow setting the debug output from an environment variable - * Fix an escape issue in the `printf` calls used in our echo calls - * Don't overwrite files (`config`, `init.d`, etc). Use a specific flag to force overwrites. - * Distro Support Fixed: - * Ubuntu daily installs. - * Distro Support Added: - * Trisquel 6.0 (Ubuntu 12.04) - - -Version 1.5.1: - * Improved unittesting. - * Starting daemons. - * Make sure that daemons are really running. - * For the users to make the choice if installing from PIP (if required since there aren't system - pacakges). - * Fixed salt's git cloning when the salt git tree is already present on the system. - * Distro Support Fixed: - * Debian 6 - * Ubuntu 12.10 - * CentOS - * Distro Support Added: - * SuSE 11 SP1/11 SP2 - * OpenSUSE 12.x - - -Version 1.5: - * First stable version of the script - * Support for: - * Ubuntu 10.x/11.x/12.x - * Debian 6.x - * CentOS 5/6 - * Red Hat 5/6 - * Red Hat Enterprise 5/6 - * Fedora - * Arch - * SmartOS - * FreeBSD 9.0 - - -# Don't remove the line below. -# vim: fenc=utf-8 spell spl=en cc=100 tw=99 fo=want ts=4 diff --git a/ChangeLog b/ChangeLog new file mode 120000 index 0000000..83b6947 --- /dev/null +++ b/ChangeLog @@ -0,0 +1 @@ +CHANGELOG.md \ No newline at end of file From 50dd136e9a36b597544113df8e3d7331189b457d Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 10 Aug 2022 12:48:58 +0100 Subject: [PATCH 098/113] Automated release process Signed-off-by: Pedro Algarvio --- .../{checksums.yml => checksums.yml.bak} | 4 +- .github/workflows/release.yml | 217 ++++++++++++++++-- .github/workflows/scripts/cut-release.py | 203 ++++++++++++++++ 3 files changed, 396 insertions(+), 28 deletions(-) rename .github/workflows/{checksums.yml => checksums.yml.bak} (84%) create mode 100644 .github/workflows/scripts/cut-release.py diff --git a/.github/workflows/checksums.yml b/.github/workflows/checksums.yml.bak similarity index 84% rename from .github/workflows/checksums.yml rename to .github/workflows/checksums.yml.bak index 091e3a6..b03fde4 100644 --- a/.github/workflows/checksums.yml +++ b/.github/workflows/checksums.yml.bak @@ -9,22 +9,20 @@ jobs: checksums: name: Update Scripts Checksums runs-on: ubuntu-latest + if: github.repository == 'saltstack/salt-bootstrap' steps: - uses: actions/checkout@v2 - if: github.repository == 'saltstack/salt-bootstrap' with: ref: stable - name: Get bootstrap-salt.sh sha256sum - if: github.repository == 'saltstack/salt-bootstrap' run: | echo "SH=$(sha256sum bootstrap-salt.sh | awk '{ print $1 }')" >> $GITHUB_ENV echo "PS1=$(sha256sum bootstrap-salt.ps1 | awk '{ print $1 }')" >> $GITHUB_ENV echo "BS_VERSION=$(sh bootstrap-salt.sh -v | awk '{ print $4 }')" >> $GITHUB_ENV - name: Update Checksums - if: github.repository == 'saltstack/salt-bootstrap' run: | echo ${{ env.SH }} > bootstrap-salt.sh.sha256 echo ${{ env.PS1 }} > bootstrap-salt.ps1.sha256 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c00c5cd..a42557b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,45 +1,210 @@ -name: Release +name: Cut Release -on: - push: - tags: - - '*' +on: workflow_dispatch jobs: - bootstrap: - name: Update Release Checksums on Develop + update-develop: + name: Update CHANGELOG.md and bootstrap-salt.sh runs-on: ubuntu-latest - + if: github.repository == 'saltstack/salt-bootstrap' + permissions: + contents: write # To be able to publish the release steps: - - uses: actions/checkout@v2 - if: github.repository == 'saltstack/salt-bootstrap' + - name: Check Branch Triggering Release + run: | + if [ "${{ github.ref_name }}" != "develop" ] + then + echo "This workflow should only be triggered from the develop branch" + exit 1 + fi + - uses: actions/checkout@v3 + with: + ref: develop + repository: ${{ github.repository }} + + - name: Update Git Settings + run: | + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot] on behalf of ${{ github.event.sender.login }}" + + - name: Set up Python 3.7 + uses: actions/setup-python@v4 + with: + python-version: 3.9 + + - name: Install Requirements + run: | + python3 -m pip install requests pre-commit + pre-commit install --install-hooks + + - name: Update Repository + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + python3 .github/workflows/scripts/cut-release.py --repo ${{ github.repository }} + export CUT_RELEASE_VERSION=$(cat .cut_release_version) + export CUT_RELEASE_CHANGES=$(cat .cut_release_changes) + echo "CUT_RELEASE_VERSION=${CUT_RELEASE_VERSION}" >> $GITHUB_ENV + echo "CUT_RELEASE_CHANGES=${CUT_RELEASE_CHANGES}" >> $GITHUB_ENV + + - name: Show Changes + run: | + git status + git diff + + - name: Commit Changes + run: | + git commit -am "Update develop branch for the ${CUT_RELEASE_VERSION} release" || \ + git commit -am "Update develop branch for the ${CUT_RELEASE_VERSION} release" + + - name: Push Changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: develop + + - name: Upload Release Details + uses: actions/upload-artifact@v3 + with: + name: release-details + path: | + .cut_release_version + .cut_release_changes + + merge-develop-into-stable: + name: Merge develop into stable + runs-on: ubuntu-latest + if: github.repository == 'saltstack/salt-bootstrap' + needs: update-develop + permissions: + contents: write # To be able to publish the release + steps: + - uses: actions/checkout@v3 with: ref: stable + repository: ${{ github.repository }} + fetch-depth: 0 + + - name: Update Git Settings + run: | + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot] on behalf of @${{ github.event.sender.login }}" + + - name: Download Release Details + uses: actions/download-artifact@v3 + with: + name: release-details + + - name: Update Environment + run: | + export CUT_RELEASE_VERSION=$(cat .cut_release_version) + export CUT_RELEASE_CHANGES=$(cat .cut_release_changes) + echo "CUT_RELEASE_VERSION=${CUT_RELEASE_VERSION}" >> $GITHUB_ENV + echo "CUT_RELEASE_CHANGES=${CUT_RELEASE_CHANGES}" >> $GITHUB_ENV + + - name: Merge develop into stable + run: | + git merge --no-ff -m "Merge develop into stable" origin/develop || touch .git-conflicts + if [ -f .git-conflicts ] + then + git diff + for f in $(git status | grep 'both modified' | awk '{ print $3 }') + do + git checkout --theirs $f + git add $f + done + git commit -a -m "Merge develop into stable(auto resolving conflicts to the develop version)" + fi + + - name: Tag Release + uses: mathieudutour/github-tag-action@v6.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + custom_tag: ${{ env.CUT_RELEASE_VERSION }} + tag_prefix: "" + create_annotated_tag: true + + - name: Push Changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: stable + tags: true + + publish-release: + name: Create GitHub Release + runs-on: ubuntu-latest + if: github.repository == 'saltstack/salt-bootstrap' + needs: merge-develop-into-stable + permissions: + contents: write # To be able to publish the release + steps: + - uses: actions/checkout@v3 + with: + ref: stable + repository: ${{ github.repository }} + - name: Download Release Details + uses: actions/download-artifact@v3 + with: + name: release-details + + - name: Update Environment + run: | + export CUT_RELEASE_VERSION=$(cat .cut_release_version) + export CUT_RELEASE_CHANGES=$(cat .cut_release_changes) + echo "CUT_RELEASE_VERSION=${CUT_RELEASE_VERSION}" >> $GITHUB_ENV + echo "CUT_RELEASE_CHANGES=${CUT_RELEASE_CHANGES}" >> $GITHUB_ENV + + - name: Create Github Release + uses: softprops/action-gh-release@v1 + with: + name: ${{ env.CUT_RELEASE_VERSION }} + tag_name: ${{ env.CUT_RELEASE_VERSION }} + body_path: .cut_release_changes + target_commitish: stable + prerelease: false + generate_release_notes: false + files: | + bootstrap-salt.sh + bootstrap-salt.ps1 + LICENSE + + update-develop-checksums: + name: Update Release Checksums on Develop + runs-on: ubuntu-latest + if: github.repository == 'saltstack/salt-bootstrap' + needs: publish-release + permissions: + contents: write # For action peter-evans/create-pull-request + pull-requests: write # For action peter-evans/create-pull-request + + steps: + - uses: actions/checkout@v3 + with: + ref: stable + repository: ${{ github.repository }} - name: Get bootstrap-salt.sh sha256sum - if: github.repository == 'saltstack/salt-bootstrap' run: | echo "SH=$(sha256sum bootstrap-salt.sh | awk '{ print $1 }')" >> $GITHUB_ENV echo "BS_VERSION=$(sh bootstrap-salt.sh -v | awk '{ print $4 }')" >> $GITHUB_ENV - - uses: actions/checkout@v2 - if: github.repository == 'saltstack/salt-bootstrap' + - uses: actions/checkout@v3 with: ref: develop + repository: ${{ github.repository }} - name: Set up Python 3.7 - if: github.repository == 'saltstack/salt-bootstrap' - uses: actions/setup-python@v1 + uses: actions/setup-python@v4 with: python-version: 3.7 - name: Update Latest Release on README - if: github.repository == 'saltstack/salt-bootstrap' run: | python3 .github/workflows/scripts/update-release-shasum.py ${{ env.BS_VERSION }} ${{ env.SH }} - name: Create Pull Request Against Develop - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@v4 with: title: Update README.rst with ${{ env.BS_VERSION }} release sha256sum commit-message: Update README.rst with ${{ env.BS_VERSION }} release sha256sum @@ -48,34 +213,36 @@ jobs: salt: name: Update Release on Salt Repo runs-on: ubuntu-latest + if: github.repository == 'saltstack/salt-bootstrap' + needs: update-develop-checksums + permissions: + contents: write # For action peter-evans/create-pull-request + pull-requests: write # For action peter-evans/create-pull-request steps: - - uses: actions/checkout@v2 - if: github.repository == 'saltstack/salt-bootstrap' + - uses: actions/checkout@v3 with: ref: stable + repository: ${{ github.repository }} - name: Get bootstrap version - if: github.repository == 'saltstack/salt-bootstrap' run: | echo "BS_VERSION=$(sh bootstrap-salt.sh -v | awk '{ print $4 }')" >> $GITHUB_ENV - - uses: actions/checkout@v2 - if: github.repository == 'saltstack/salt-bootstrap' + - uses: actions/checkout@v3 with: repository: saltstack/salt ref: master path: salt-checkout - name: Update bootstrap script on Salt - if: github.repository == 'saltstack/salt-bootstrap' run: | cp bootstrap-salt.sh salt-checkout/salt/cloud/deploy/bootstrap-salt.sh - name: Create Pull Request Against Develop - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@v4 with: - title: Update the bootstrap script to v${{ env.BS_VERSION }} + title: "[DO NOT MERGE] Update the bootstrap script to v${{ env.BS_VERSION }}" path: salt-checkout commit-message: Update the bootstrap script to v${{ env.BS_VERSION }} delete-branch: true diff --git a/.github/workflows/scripts/cut-release.py b/.github/workflows/scripts/cut-release.py new file mode 100644 index 0000000..4cbda55 --- /dev/null +++ b/.github/workflows/scripts/cut-release.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python +import os +import re +import sys +import pathlib +import argparse +import requests +from datetime import datetime + +REPO_ROOT = pathlib.Path(__file__).resolve().parent.parent.parent.parent + + +class ClassPropertyDescriptor: + def __init__(self, fget, fset=None): + self.fget = fget + self.fset = fset + + def __get__(self, obj, klass=None): + if klass is None: + klass = type(obj) + return self.fget.__get__(obj, klass)() + + def __set__(self, obj, value): + if not self.fset: + raise AttributeError("can't set attribute") + type_ = type(obj) + return self.fset.__get__(obj, type_)(value) + + def setter(self, func): + if not isinstance(func, (classmethod, staticmethod)): + func = classmethod(func) + self.fset = func + return self + + +def classproperty(func): + if not isinstance(func, (classmethod, staticmethod)): + func = classmethod(func) + + return ClassPropertyDescriptor(func) + + +class Session: + + _instance = None + + def __init__(self, endpoint=None): + if endpoint is None: + endpoint = "https://api.github.com" + self.endpoint = endpoint + self.session = requests.Session() + self.session.headers.update( + { + "Accept": "application/vnd.github+json", + "Authorization": f"token {os.environ['GITHUB_TOKEN']}", + } + ) + + @classproperty + def instance(cls): + if cls._instance is None: + cls._instance = cls() + return cls._instance + + def get(self, path, **kwargs): + return self.session.get(f"{self.endpoint}/{path.lstrip('/')}", **kwargs) + + def post(self, path, **kwargs): + return self.session.post(f"{self.endpoint}/{path.lstrip('/')}", **kwargs) + + def __enter__(self): + self.session.__enter__() + return self + + def __exit__(self, *args): + self.session.__exit__(*args) + + +def get_latest_release(options): + response = Session.instance.get(f"/repos/{options.repo}/releases/latest") + if response.status_code != 404: + return response.json()["tag_name"] + + print( + f"Failed to get latest release. HTTP Response:\n{response.text}", + file=sys.stderr, + flush=True, + ) + print("Searching tags...", file=sys.stderr, flush=True) + + tags = [] + page = 0 + while True: + page += 1 + response = Session.instance.get( + f"/repos/{options.repo}/tags", data={"pre_page": 100, "page": page} + ) + repo_tags = response.json() + added_tags = False + for tag in repo_tags: + if tag["name"] not in tags: + tags.append(tag["name"]) + added_tags = True + if added_tags is False: + break + + return list(sorted(tags))[-1] + + +def get_generated_changelog(options): + response = Session.instance.post( + f"/repos/{options.repo}/releases/generate-notes", + json={ + "tag_name": options.release_tag, + "previous_tag_name": options.previous_tag, + "target_commitish": "develop", + }, + ) + if response.status_code == 200: + return response.json() + return response.text + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("--repo", required=True, help="The / to use") + parser.add_argument("--release-tag", required=False, help="The tag of the release") + parser.add_argument( + "--previous-tag", + required=False, + help="The previous release tag. If not passed, the GH Api will be queried for it.", + ) + + changelog_file = REPO_ROOT / "CHANGELOG.md" + + if not os.environ.get("GITHUB_TOKEN"): + parser.exit(status=1, message="GITHUB_TOKEN environment variable not set") + + options = parser.parse_args() + if not options.release_tag: + options.release_tag = f"v{datetime.utcnow().strftime('%Y.%m.%d')}" + if not options.previous_tag: + options.previous_tag = get_latest_release(options) + + print( + f"Creating changelog entries from {options.previous_tag} to {options.release_tag} ...", + file=sys.stderr, + flush=True, + ) + + changelog = get_generated_changelog(options) + if not isinstance(changelog, dict): + parser.exit( + status=1, + message=f"Unable to generate changelog. HTTP Response:\n{changelog}", + ) + + cut_release_version = REPO_ROOT / ".cut_release_version" + print( + f"* Writing {cut_release_version.relative_to(REPO_ROOT)} ...", + file=sys.stderr, + flush=True, + ) + cut_release_version.write_text(options.release_tag) + + cut_release_changes = REPO_ROOT / ".cut_release_changes" + print( + f"* Writing {cut_release_changes.relative_to(REPO_ROOT)} ...", + file=sys.stderr, + flush=True, + ) + cut_release_changes.write_text(changelog["body"]) + + print( + f"* Updating {changelog_file.relative_to(REPO_ROOT)} ...", + file=sys.stderr, + flush=True, + ) + changelog_file.write_text( + f"# {changelog['name']}\n\n" + + changelog["body"] + + "\n\n" + + changelog_file.read_text() + ) + + bootstrap_script_path = REPO_ROOT / "bootstrap-salt.sh" + print( + f"* Updating {bootstrap_script_path.relative_to(REPO_ROOT)} ...", + file=sys.stderr, + flush=True, + ) + bootstrap_script_path.write_text( + re.sub( + r'__ScriptVersion="(.*)"', + f'__ScriptVersion="{options.release_tag.lstrip("v")}"', + bootstrap_script_path.read_text(), + ) + ) + parser.exit(status=0, message="CHANGELOG.md and bootstrap-salt.sh updated\n") + + +if __name__ == "__main__": + main() From 808a1bc277692e9484e10ab9e355b677e2e6c894 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 10 Aug 2022 20:37:17 +0100 Subject: [PATCH 099/113] A check in order not to update twice Signed-off-by: Pedro Algarvio --- .github/workflows/scripts/update-release-shasum.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/scripts/update-release-shasum.py b/.github/workflows/scripts/update-release-shasum.py index 60a6600..46e38a0 100644 --- a/.github/workflows/scripts/update-release-shasum.py +++ b/.github/workflows/scripts/update-release-shasum.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import sys import pathlib +import subprocess THIS_FILE = pathlib.Path(__file__).resolve() CODE_ROOT = THIS_FILE.parent.parent.parent.parent @@ -9,6 +10,9 @@ README_PATH = CODE_ROOT / "README.rst" def main(version, sha256sum): in_contents = README_PATH.read_text() + if version in in_contents: + print(f"README file already contains an entry for version {version}") + sys.exit(1) out_contents = "" found_anchor = False updated_version = False @@ -32,6 +36,14 @@ def main(version, sha256sum): if in_contents != out_contents: README_PATH.write_text(out_contents) + ret = subprocess.run( + ["git", "diff", "--stat"], universal_newlines=True, capture_output=True + ) + if "1 file changed, 1 insertion(+)" not in ret.stdout: + print("Too Many Changes to the readme file") + sys.exit(1) + sys.exit(0) + if __name__ == "__main__": main(sys.argv[1], sys.argv[2]) From f23cf0d4808b246eb50b8e9d72ee023544a382f8 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 11 Aug 2022 17:09:16 +0100 Subject: [PATCH 100/113] Link to GH's contributors listing Signed-off-by: Pedro Algarvio --- AUTHORS.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/AUTHORS.rst b/AUTHORS.rst index 3424e38..fb75513 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -1,5 +1,11 @@ +This authors list is kept for historical purposes +================================================= + +Feel free to add yourself to this list, but for a full list of contributors, +`check here `_. + Authors -======= +------- Here's a list of everyone who contributed to salt-bootstrap in alphabetical order. From 1c1cd7e95c876840fc66d6edc8dcd87124ef9cc9 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Wed, 10 Aug 2022 21:32:13 +0100 Subject: [PATCH 101/113] We don't need the release changelog contents as an environment variable Signed-off-by: Pedro Algarvio --- .github/workflows/release.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a42557b..594b887 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,9 +43,7 @@ jobs: run: | python3 .github/workflows/scripts/cut-release.py --repo ${{ github.repository }} export CUT_RELEASE_VERSION=$(cat .cut_release_version) - export CUT_RELEASE_CHANGES=$(cat .cut_release_changes) echo "CUT_RELEASE_VERSION=${CUT_RELEASE_VERSION}" >> $GITHUB_ENV - echo "CUT_RELEASE_CHANGES=${CUT_RELEASE_CHANGES}" >> $GITHUB_ENV - name: Show Changes run: | @@ -98,9 +96,7 @@ jobs: - name: Update Environment run: | export CUT_RELEASE_VERSION=$(cat .cut_release_version) - export CUT_RELEASE_CHANGES=$(cat .cut_release_changes) echo "CUT_RELEASE_VERSION=${CUT_RELEASE_VERSION}" >> $GITHUB_ENV - echo "CUT_RELEASE_CHANGES=${CUT_RELEASE_CHANGES}" >> $GITHUB_ENV - name: Merge develop into stable run: | @@ -151,9 +147,7 @@ jobs: - name: Update Environment run: | export CUT_RELEASE_VERSION=$(cat .cut_release_version) - export CUT_RELEASE_CHANGES=$(cat .cut_release_changes) echo "CUT_RELEASE_VERSION=${CUT_RELEASE_VERSION}" >> $GITHUB_ENV - echo "CUT_RELEASE_CHANGES=${CUT_RELEASE_CHANGES}" >> $GITHUB_ENV - name: Create Github Release uses: softprops/action-gh-release@v1 From 0c94af18d77735547017e16e5bf9a6b092496e0c Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 11 Aug 2022 17:03:53 +0100 Subject: [PATCH 102/113] Only repository admins can cut releases Signed-off-by: Pedro Algarvio --- .github/workflows/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 594b887..bef7a18 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,6 +10,12 @@ jobs: permissions: contents: write # To be able to publish the release steps: + - name: Check For Admin Permission + uses: actions-cool/check-user-permission@v2 + with: + require: admin + username: ${{ github.triggering_actor }} + - name: Check Branch Triggering Release run: | if [ "${{ github.ref_name }}" != "develop" ] From 7ae790f5e415e18ed8a676841db587f21ed6d26f Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 11 Aug 2022 16:26:07 +0100 Subject: [PATCH 103/113] Update pre-commit hooks Signed-off-by: Pedro Algarvio --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3e3a4e6..89069ae 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,7 +2,7 @@ minimum_pre_commit_version: 1.15.2 repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.1.0 + rev: v4.3.0 hooks: - id: check-merge-conflict # Check for files that contain merge conflict strings. - id: trailing-whitespace # Trims trailing whitespace. @@ -17,7 +17,7 @@ repos: - id: mdformat - repo: https://github.com/psf/black - rev: 22.3.0 + rev: 22.6.0 hooks: - id: black From 494fe6f9331ddb4dd14879657fadb28b96ab47d4 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 11 Aug 2022 14:40:07 +0100 Subject: [PATCH 104/113] Re-work the CI pipeline Signed-off-by: Pedro Algarvio --- .github/workflows/ci.yml | 566 ++++ .github/workflows/kitchen.macos.yml | 129 - .github/workflows/kitchen.vagrant.yml | 73 - .github/workflows/kitchen.windows.yml | 147 - .github/workflows/main-branch-only.yml | 195 -- .github/workflows/main.yml | 3451 -------------------- .github/workflows/templates/ci-tail.yml | 33 + .github/workflows/templates/ci.yml | 100 + .github/workflows/templates/generate.py | 396 ++- .github/workflows/templates/lint.yml | 12 - .github/workflows/templates/linux.yml | 44 - .github/workflows/templates/main.yml | 13 - .github/workflows/templates/pre-commit.yml | 20 - .github/workflows/test-bsd.yml | 88 + .github/workflows/test-linux.yml | 80 + .github/workflows/test-macos.yml | 88 + .github/workflows/test-windows.yml | 113 + .pre-commit-config.yaml | 2 +- Gemfile.lock | 126 - kitchen.vagrant.yml => kitchen.bsd.yml | 0 kitchen.macos.yml | 4 +- kitchen.windows.yml | 4 +- kitchen.yml | 14 +- 23 files changed, 1341 insertions(+), 4357 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .github/workflows/kitchen.macos.yml delete mode 100644 .github/workflows/kitchen.vagrant.yml delete mode 100644 .github/workflows/kitchen.windows.yml delete mode 100644 .github/workflows/main-branch-only.yml delete mode 100644 .github/workflows/main.yml create mode 100644 .github/workflows/templates/ci-tail.yml create mode 100644 .github/workflows/templates/ci.yml delete mode 100644 .github/workflows/templates/lint.yml delete mode 100644 .github/workflows/templates/linux.yml delete mode 100644 .github/workflows/templates/main.yml delete mode 100644 .github/workflows/templates/pre-commit.yml create mode 100644 .github/workflows/test-bsd.yml create mode 100644 .github/workflows/test-linux.yml create mode 100644 .github/workflows/test-macos.yml create mode 100644 .github/workflows/test-windows.yml delete mode 100644 Gemfile.lock rename kitchen.vagrant.yml => kitchen.bsd.yml (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..59069db --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,566 @@ +name: CI +on: + - push + - pull_request + +concurrency: + # If changes are pushed to a PR, stop all running workflows before starting new ones + group: ${{ github.head_ref || (github.repository == 'saltstack/salt-bootstrap' && github.run_id || github.ref_name) }} + cancel-in-progress: true + +jobs: + + collect-changed-files: + name: Collect changed files + runs-on: ubuntu-latest + outputs: + run-tests: ${{ steps.set-output.outputs.run-tests }} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Get specific changed files + id: changed-files + uses: tj-actions/changed-files@v25 + with: + separator: "," + files: | + bootstrap-salt.* + Gemfile + kitchen*.yml + tests/** + .github/workflows/** + + - name: Set Job Output + id: set-output + run: | + echo "::set-output name=run-tests::${{ steps.changed-files.outputs.any_modified }}" + + generate-actions-workflow: + name: Generate The Actions Workflow + runs-on: ubuntu-latest + needs: collect-changed-files + + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + steps: + - uses: actions/checkout@v3 + + - name: Set up Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: 3.9 + + - name: Install Pre-Commit + run: | + python3 -m pip install -U pip + python3 -m pip install pre-commit + pre-commit install --install-hooks + + - name: Generate Workflow Actions + run: | + pre-commit run -av generate-actions-workflow + + - name: Set Exit Status + if: always() + run: | + mkdir exitstatus + echo "${{ job.status }}" > exitstatus/${{ github.job }} + + - name: Upload Exit Status + if: always() + uses: actions/upload-artifact@v3 + with: + name: exitstatus + path: exitstatus + + lint: + name: Lint + runs-on: ubuntu-latest + needs: collect-changed-files + container: koalaman/shellcheck-alpine:v0.6.0 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + steps: + - uses: actions/checkout@v3 + - name: ShellCheck + run: | + shellcheck -s sh -f tty bootstrap-salt.sh + + - name: Set Exit Status + if: always() + run: | + mkdir exitstatus + echo "${{ job.status }}" > exitstatus/${{ github.job }} + + - name: Upload Exit Status + if: always() + uses: actions/upload-artifact@v3 + with: + name: exitstatus + path: exitstatus + + + almalinux-8: + name: AlmaLinux 8 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: almalinux-8 + display-name: AlmaLinux 8 + timeout: 20 + instances: '["stable-3003", "git-3003", "stable-3004", "git-3004", "git-master", "latest"]' + + + amazon-2: + name: Amazon 2 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: amazon-2 + display-name: Amazon 2 + timeout: 20 + instances: '["stable-3003", "stable-3004", "git-master", "latest"]' + + + arch: + name: Arch + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: arch + display-name: Arch + timeout: 20 + instances: '["git-master", "latest"]' + + + centos-7: + name: CentOS 7 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: centos-7 + display-name: CentOS 7 + timeout: 20 + instances: '["stable-3003", "git-3003", "stable-3004", "git-3004", "git-master", "latest"]' + + + centos-stream8: + name: CentOS Stream 8 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: centos-stream8 + display-name: CentOS Stream 8 + timeout: 20 + instances: '["stable-3003", "git-3003", "stable-3004", "git-3004", "git-master", "latest"]' + + + debian-10: + name: Debian 10 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: debian-10 + display-name: Debian 10 + timeout: 20 + instances: '["stable-3003", "stable-3004", "git-master", "latest"]' + + + debian-11: + name: Debian 11 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: debian-11 + display-name: Debian 11 + timeout: 20 + instances: '["stable-3004", "git-master", "latest"]' + + + debian-9: + name: Debian 9 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: debian-9 + display-name: Debian 9 + timeout: 20 + instances: '["stable-3003", "git-3003", "stable-3004", "git-3004", "git-master", "latest"]' + + + fedora-35: + name: Fedora 35 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: fedora-35 + display-name: Fedora 35 + timeout: 20 + instances: '["git-master", "latest"]' + + + fedora-36: + name: Fedora 36 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: fedora-36 + display-name: Fedora 36 + timeout: 20 + instances: '["git-master", "latest"]' + + + gentoo: + name: Gentoo + if: github.event_name == 'push' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: gentoo + display-name: Gentoo + timeout: 90 + instances: '["git-master", "latest"]' + + + gentoo-systemd: + name: Gentoo (systemd) + if: github.event_name == 'push' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: gentoo-systemd + display-name: Gentoo (systemd) + timeout: 90 + instances: '["git-master", "latest"]' + + + opensuse-15: + name: Opensuse 15 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: opensuse-15 + display-name: Opensuse 15 + timeout: 20 + instances: '["git-master", "latest"]' + + + opensuse-tumbleweed: + name: Opensuse Tumbleweed + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: opensuse-tumbleweed + display-name: Opensuse Tumbleweed + timeout: 20 + instances: '["git-master", "latest"]' + + + oraclelinux-7: + name: Oracle Linux 7 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: oraclelinux-7 + display-name: Oracle Linux 7 + timeout: 20 + instances: '["stable-3003", "git-3003", "stable-3004", "git-3004", "git-master", "latest"]' + + + oraclelinux-8: + name: Oracle Linux 8 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: oraclelinux-8 + display-name: Oracle Linux 8 + timeout: 20 + instances: '["stable-3003", "git-3003", "stable-3004", "git-3004", "git-master", "latest"]' + + + rockylinux-8: + name: Rocky Linux 8 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: rockylinux-8 + display-name: Rocky Linux 8 + timeout: 20 + instances: '["stable-3004", "git-3004", "git-master", "latest"]' + + + ubuntu-1804: + name: Ubuntu 18.04 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: ubuntu-1804 + display-name: Ubuntu 18.04 + timeout: 20 + instances: '["stable-3003", "git-3003", "stable-3004", "git-3004", "git-master", "latest"]' + + + ubuntu-2004: + name: Ubuntu 20.04 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: ubuntu-2004 + display-name: Ubuntu 20.04 + timeout: 20 + instances: '["stable-3003", "stable-3004", "git-master", "latest"]' + + + ubuntu-2204: + name: Ubuntu 22.04 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-linux.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: ubuntu-2204 + display-name: Ubuntu 22.04 + timeout: 20 + instances: '["stable-3004", "git-master", "latest"]' + + + + windows-2019: + name: Windows 2019 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-windows.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: windows-2019 + display-name: Windows 2019 + timeout: 20 + runs-on: windows-2019 + instances: '["stable-3003", "stable-3004", "latest"]' + + + windows-2022: + name: Windows 2022 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-windows.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: windows-2022 + display-name: Windows 2022 + timeout: 20 + runs-on: windows-2022 + instances: '["stable-3003", "stable-3004", "latest"]' + + + + macos-1015: + name: macOS 10.15 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-macos.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: macos-1015 + display-name: macOS 10.15 + timeout: 20 + runs-on: macos-10.15 + instances: '["stable-3003", "stable-3004", "latest"]' + + + macos-11: + name: macOS 11 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-macos.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: macos-11 + display-name: macOS 11 + timeout: 20 + runs-on: macos-11 + instances: '["stable-3003", "stable-3004", "latest"]' + + + macos-12: + name: macOS 12 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-macos.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: macos-12 + display-name: macOS 12 + timeout: 20 + runs-on: macos-12 + instances: '["stable-3003", "stable-3004", "latest"]' + + + + freebsd-131: + name: FreeBSD 13.1 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-bsd.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: freebsd-131 + display-name: FreeBSD 13.1 + timeout: 20 + runs-on: macos-10.15 + instances: '["git-master", "latest"]' + + + freebsd-123: + name: FreeBSD 12.3 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-bsd.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: freebsd-123 + display-name: FreeBSD 12.3 + timeout: 20 + runs-on: macos-10.15 + instances: '["git-master", "latest"]' + + + openbsd-6: + name: OpenBSD 6 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-bsd.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: openbsd-6 + display-name: OpenBSD 6 + timeout: 20 + runs-on: macos-10.15 + instances: '["latest"]' + + + set-pipeline-exit-status: + # This step is just so we can make github require this step, to pass checks + # on a pull request instead of requiring all + name: Set the ${{ github.workflow }} Pipeline Exit Status + runs-on: ubuntu-latest + needs: + - lint + - generate-actions-workflow + - almalinux-8 + - amazon-2 + - arch + - centos-7 + - centos-stream8 + - debian-10 + - debian-11 + - debian-9 + - fedora-35 + - fedora-36 + - gentoo + - gentoo-systemd + - opensuse-15 + - opensuse-tumbleweed + - oraclelinux-7 + - oraclelinux-8 + - rockylinux-8 + - ubuntu-1804 + - ubuntu-2004 + - ubuntu-2204 + - windows-2019 + - windows-2022 + - macos-1015 + - macos-11 + - macos-12 + - freebsd-131 + - freebsd-123 + - openbsd-6 + if: always() + steps: + + - name: Download Exit Status Files + if: always() + uses: actions/download-artifact@v3 + with: + name: exitstatus + path: exitstatus + + - name: Delete Exit Status Artifacts + if: always() + uses: geekyeggo/delete-artifact@v1 + with: + name: exitstatus + failOnError: false + + - name: Set Pipeline Exit Status + run: | + grep -RE 'failure|cancelled' exitstatus/ && exit 1 || exit 0 + + - name: Done + if: always() + run: + echo "All worflows finished" diff --git a/.github/workflows/kitchen.macos.yml b/.github/workflows/kitchen.macos.yml deleted file mode 100644 index 5e1be29..0000000 --- a/.github/workflows/kitchen.macos.yml +++ /dev/null @@ -1,129 +0,0 @@ -# yamllint disable rule:line-length ---- -name: 'Kitchen (macOS)' -'on': ['push', 'pull_request'] - -env: - KITCHEN_LOCAL_YAML: 'kitchen.macos.yml' - -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 -av generate-actions-workflow - lint: - name: 'Lint' - runs-on: 'ubuntu-latest' - needs: 'generate-actions-workflow' - container: 'koalaman/shellcheck-alpine:v0.6.0' - steps: - - uses: 'actions/checkout@v1' - - name: 'ShellCheck' - run: | - shellcheck -s sh -f tty bootstrap-salt.sh - test-12: - runs-on: 'macos-12' - timeout-minutes: 20 - needs: 'lint' - strategy: - fail-fast: false - matrix: - instance: - - latest-macos-12 - - py3-stable-3004-macos-12 - - py3-stable-3003-macos-12 - steps: - - name: 'Check out code' - uses: 'actions/checkout@v2' - - name: 'Set up Bundler cache' - uses: 'actions/cache@v1' - with: - path: 'vendor/bundle' - key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" - restore-keys: "${{ runner.os }}-gems-" - - name: 'Run Bundler' - run: | - ruby --version - bundle config path vendor/bundle - bundle install --jobs 4 --retry 3 - - name: 'Install Python Dependencies' - run: | - pip3 install -U pip - pip3 install -r tests/requirements.txt - - name: 'Run Test Kitchen' - run: 'bundle exec kitchen test ${{ matrix.instance }}' - test-11: - runs-on: 'macos-11' - timeout-minutes: 20 - needs: 'lint' - strategy: - fail-fast: false - matrix: - instance: - - latest-macos-11 - - py3-stable-3004-macos-11 - - py3-stable-3003-macos-11 - steps: - - name: 'Check out code' - uses: 'actions/checkout@v2' - - name: 'Set up Bundler cache' - uses: 'actions/cache@v1' - with: - path: 'vendor/bundle' - key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" - restore-keys: "${{ runner.os }}-gems-" - - name: 'Run Bundler' - run: | - ruby --version - bundle config path vendor/bundle - bundle install --jobs 4 --retry 3 - - name: 'Install Python Dependencies' - run: | - pip3 install -U pip - pip3 install -r tests/requirements.txt - - name: 'Run Test Kitchen' - run: 'bundle exec kitchen test ${{ matrix.instance }}' - test-1015: - runs-on: 'macos-10.15' - timeout-minutes: 20 - needs: 'lint' - strategy: - fail-fast: false - matrix: - instance: - - latest-macos-1015 - - py3-stable-3004-macos-1015 - - py3-stable-3003-macos-1015 - steps: - - name: 'Check out code' - uses: 'actions/checkout@v2' - - name: 'Set up Bundler cache' - uses: 'actions/cache@v1' - with: - path: 'vendor/bundle' - key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" - restore-keys: "${{ runner.os }}-gems-" - - name: 'Run Bundler' - run: | - ruby --version - bundle config path vendor/bundle - bundle install --jobs 4 --retry 3 - - name: 'Install Python Dependencies' - run: | - pip3 install -U pip - pip3 install -r tests/requirements.txt - - name: 'Run Test Kitchen' - run: 'bundle exec kitchen test ${{ matrix.instance }}' diff --git a/.github/workflows/kitchen.vagrant.yml b/.github/workflows/kitchen.vagrant.yml deleted file mode 100644 index 1364554..0000000 --- a/.github/workflows/kitchen.vagrant.yml +++ /dev/null @@ -1,73 +0,0 @@ ---- -name: 'Kitchen Vagrant (FreeBSD & OpenBSD)' -'on': ['push', 'pull_request'] - -env: - KITCHEN_LOCAL_YAML: 'kitchen.vagrant.yml' - -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 -av generate-actions-workflow - lint: - name: 'Lint' - runs-on: 'ubuntu-latest' - needs: 'generate-actions-workflow' - container: 'koalaman/shellcheck-alpine:v0.6.0' - steps: - - uses: 'actions/checkout@v1' - - name: 'ShellCheck' - run: | - shellcheck -s sh -f tty bootstrap-salt.sh - test: - runs-on: 'macos-10.15' - timeout-minutes: 20 - needs: 'lint' - strategy: - fail-fast: false - matrix: - instance: - - py3-git-master-freebsd-131 - - py3-git-master-freebsd-123 - # - py3-git-master-openbsd-6 - - latest-freebsd-131 - - latest-freebsd-123 - - latest-openbsd-6 - steps: - - name: 'Check out code' - uses: 'actions/checkout@v2' - - name: 'Set up Bundler cache' - uses: 'actions/cache@v1' - with: - path: 'vendor/bundle' - key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" - restore-keys: "${{ runner.os }}-gems-" - - name: 'Run Bundler' - run: | - ruby --version - bundle config path vendor/bundle - bundle install --jobs 4 --retry 3 - - 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: 'Run Test Kitchen' - run: 'bundle exec kitchen test ${{ matrix.instance }}' diff --git a/.github/workflows/kitchen.windows.yml b/.github/workflows/kitchen.windows.yml deleted file mode 100644 index ce5c7c3..0000000 --- a/.github/workflows/kitchen.windows.yml +++ /dev/null @@ -1,147 +0,0 @@ -# yamllint disable rule:line-length ---- -name: 'Kitchen (Windows)' -'on': ['push', 'pull_request'] - -env: - machine_user: kitchen - machine_pass: Password1 - machine_port: 5985 - KITCHEN_LOCAL_YAML: 'kitchen.windows.yml' - -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 -av generate-actions-workflow - lint: - name: 'Lint' - runs-on: 'ubuntu-latest' - needs: 'generate-actions-workflow' - container: 'koalaman/shellcheck-alpine:v0.6.0' - steps: - - uses: 'actions/checkout@v1' - - name: 'ShellCheck' - run: | - shellcheck -s sh -f tty bootstrap-salt.sh - test-2022: - runs-on: 'windows-2022' - timeout-minutes: 20 - needs: 'lint' - strategy: - fail-fast: false - matrix: - instance: - - py3-stable-3003-windows-2022 - - py3-stable-3004-windows-2022 - - latest-windows-2022 - steps: - - name: 'Check out code' - uses: 'actions/checkout@v2' - - name: 'Install Chef' - uses: 'actionshub/chef-install@1.1.0' - with: - project: 'chef' - version: '16.10.8' - - name: 'Add Chef bindir to PATH' - uses: 'myci-actions/export-env-var-powershell@1' - with: - name: 'PATH' - value: "C:\\opscode\\chef\\bin;\ - C:\\opscode\\chef\\embedded\\bin;$env:PATH" - - name: 'Set up Bundler cache' - uses: 'actions/cache@v1' - with: - path: 'vendor/bundle' - key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" - restore-keys: "${{ runner.os }}-gems-" - - name: 'Set up test user' - run: | - $password = ConvertTo-SecureString $env:machine_pass -AsPlainText -Force - New-LocalUser $env:machine_user -Password $password - Add-LocalGroupMember -Group "Administrators" -Member $env:machine_user - - name: 'Set up WinRM' - run: | - Set-WSManQuickConfig -Force - - name: 'Run Bundler' - run: | - ruby --version - bundle config path vendor/bundle - bundle install --jobs 4 --retry 3 - - 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: 'Run Test Kitchen' - run: 'bundle exec kitchen test ${{ matrix.instance }}' - test-2019: - runs-on: 'windows-2019' - timeout-minutes: 20 - needs: 'lint' - strategy: - fail-fast: false - matrix: - instance: - - py3-stable-3003-windows-2019 - - py3-stable-3004-windows-2019 - - latest-windows-2019 - steps: - - name: 'Check out code' - uses: 'actions/checkout@v2' - - name: 'Install Chef' - uses: 'actionshub/chef-install@1.1.0' - with: - project: 'chef' - version: '16.10.8' - - name: 'Add Chef bindir to PATH' - uses: 'myci-actions/export-env-var-powershell@1' - with: - name: 'PATH' - value: "C:\\opscode\\chef\\bin;\ - C:\\opscode\\chef\\embedded\\bin;$env:PATH" - - name: 'Set up Bundler cache' - uses: 'actions/cache@v1' - with: - path: 'vendor/bundle' - key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}" - restore-keys: "${{ runner.os }}-gems-" - - name: 'Set up test user' - run: | - $password = ConvertTo-SecureString $env:machine_pass -AsPlainText -Force - New-LocalUser $env:machine_user -Password $password - Add-LocalGroupMember -Group "Administrators" -Member $env:machine_user - - name: 'Set up WinRM' - run: | - Set-WSManQuickConfig -Force - - name: 'Run Bundler' - run: | - ruby --version - bundle config path vendor/bundle - bundle install --jobs 4 --retry 3 - - 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: 'Run Test Kitchen' - run: 'bundle exec kitchen test ${{ matrix.instance }}' diff --git a/.github/workflows/main-branch-only.yml b/.github/workflows/main-branch-only.yml deleted file mode 100644 index 6e13b05..0000000 --- a/.github/workflows/main-branch-only.yml +++ /dev/null @@ -1,195 +0,0 @@ -# DO NOT EDIT THIS FILE DIRECTLY! -# -# This file was generated by .github/workflows/templates/generate.py -# -# yamllint disable rule:line-length rule:empty-lines ---- - -name: Branch Testing - -'on': [push] - -jobs: - - py3-git-master-gentoo: - name: Gentoo Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-master-gentoo || bundle exec kitchen create py3-git-master-gentoo - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-gentoo - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-gentoo - - - latest-gentoo: - name: Gentoo Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-gentoo || bundle exec kitchen create latest-gentoo - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-gentoo - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-gentoo - - - py3-git-master-gentoo-systemd: - name: Gentoo (systemd) Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-master-gentoo-systemd || bundle exec kitchen create py3-git-master-gentoo-systemd - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-gentoo-systemd - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-gentoo-systemd - - - latest-gentoo-systemd: - name: Gentoo (systemd) Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 90 - - - - 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-gentoo-systemd || bundle exec kitchen create latest-gentoo-systemd - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-gentoo-systemd - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-gentoo-systemd diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index fa24692..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,3451 +0,0 @@ -# DO NOT EDIT THIS FILE DIRECTLY! -# -# This file was generated by .github/workflows/templates/generate.py -# -# yamllint disable rule:line-length rule:empty-lines ---- - -name: Testing - -'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 -av generate-actions-workflow - - - lint: - name: Lint - runs-on: ubuntu-latest - - needs: generate-actions-workflow - - container: koalaman/shellcheck-alpine:v0.6.0 - steps: - - uses: actions/checkout@v1 - - name: ShellCheck - run: | - shellcheck -s sh -f tty bootstrap-salt.sh - - - py3-stable-3003-almalinux-8: - name: AlmaLinux 8 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-almalinux-8 || bundle exec kitchen create py3-stable-3003-almalinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-almalinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-almalinux-8 - - - py3-git-3003-almalinux-8: - name: AlmaLinux 8 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-almalinux-8 || bundle exec kitchen create py3-git-3003-almalinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-almalinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-almalinux-8 - - - py3-stable-3004-almalinux-8: - name: AlmaLinux 8 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-almalinux-8 || bundle exec kitchen create py3-stable-3004-almalinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-almalinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-almalinux-8 - - - py3-git-3004-almalinux-8: - name: AlmaLinux 8 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-almalinux-8 || bundle exec kitchen create py3-git-3004-almalinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-almalinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-almalinux-8 - - - py3-git-master-almalinux-8: - name: AlmaLinux 8 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-almalinux-8 || bundle exec kitchen create py3-git-master-almalinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-almalinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-almalinux-8 - - - latest-almalinux-8: - name: AlmaLinux 8 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-almalinux-8 || bundle exec kitchen create latest-almalinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-almalinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-almalinux-8 - - - py3-stable-3003-amazon-2: - name: Amazon 2 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-amazon-2 || bundle exec kitchen create py3-stable-3003-amazon-2 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-amazon-2 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-amazon-2 - - - py3-stable-3004-amazon-2: - name: Amazon 2 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-amazon-2 || bundle exec kitchen create py3-stable-3004-amazon-2 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-amazon-2 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-amazon-2 - - - py3-git-master-amazon-2: - name: Amazon 2 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-amazon-2 || bundle exec kitchen create py3-git-master-amazon-2 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-amazon-2 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-amazon-2 - - - latest-amazon-2: - name: Amazon 2 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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 - - - py3-git-master-arch: - name: Arch Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-arch || bundle exec kitchen create py3-git-master-arch - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-arch - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-arch - - - latest-arch: - name: Arch Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-arch || bundle exec kitchen create latest-arch - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-arch - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-arch - - - py3-stable-3003-centos-7: - name: CentOS 7 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-centos-7 || bundle exec kitchen create py3-stable-3003-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-centos-7 - - - py3-git-3003-centos-7: - name: CentOS 7 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-centos-7 || bundle exec kitchen create py3-git-3003-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-centos-7 - - - py3-stable-3004-centos-7: - name: CentOS 7 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-centos-7 || bundle exec kitchen create py3-stable-3004-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-centos-7 - - - py3-git-3004-centos-7: - name: CentOS 7 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-centos-7 || bundle exec kitchen create py3-git-3004-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-centos-7 - - - py3-git-master-centos-7: - name: CentOS 7 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-centos-7 || bundle exec kitchen create py3-git-master-centos-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-centos-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-centos-7 - - - latest-centos-7: - name: CentOS 7 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-centos-stream8: - name: CentOS Stream 8 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-centos-stream8 || bundle exec kitchen create py3-stable-3003-centos-stream8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-centos-stream8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-centos-stream8 - - - py3-git-3003-centos-stream8: - name: CentOS Stream 8 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-centos-stream8 || bundle exec kitchen create py3-git-3003-centos-stream8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-centos-stream8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-centos-stream8 - - - py3-stable-3004-centos-stream8: - name: CentOS Stream 8 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-centos-stream8 || bundle exec kitchen create py3-stable-3004-centos-stream8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-centos-stream8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-centos-stream8 - - - py3-git-3004-centos-stream8: - name: CentOS Stream 8 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-centos-stream8 || bundle exec kitchen create py3-git-3004-centos-stream8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-centos-stream8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-centos-stream8 - - - py3-git-master-centos-stream8: - name: CentOS Stream 8 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-centos-stream8 || bundle exec kitchen create py3-git-master-centos-stream8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-centos-stream8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-centos-stream8 - - - latest-centos-stream8: - name: CentOS Stream 8 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-stream8 || bundle exec kitchen create latest-centos-stream8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-centos-stream8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-centos-stream8 - - - py3-stable-3003-debian-10: - name: Debian 10 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-debian-10 || bundle exec kitchen create py3-stable-3003-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-debian-10 - - - py3-stable-3004-debian-10: - name: Debian 10 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-debian-10 || bundle exec kitchen create py3-stable-3004-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-debian-10 - - - py3-git-master-debian-10: - name: Debian 10 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-debian-10 || bundle exec kitchen create py3-git-master-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-debian-10 - - - latest-debian-10: - name: Debian 10 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-10 || bundle exec kitchen create latest-debian-10 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-debian-10 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-debian-10 - - - py3-stable-3004-debian-11: - name: Debian 11 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-debian-11 || bundle exec kitchen create py3-stable-3004-debian-11 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-debian-11 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-debian-11 - - - py3-git-master-debian-11: - name: Debian 11 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-debian-11 || bundle exec kitchen create py3-git-master-debian-11 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-debian-11 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-debian-11 - - - latest-debian-11: - name: Debian 11 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-11 || bundle exec kitchen create latest-debian-11 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-debian-11 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-debian-11 - - - py3-stable-3003-debian-9: - name: Debian 9 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-debian-9 || bundle exec kitchen create py3-stable-3003-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-debian-9 - - - py3-git-3003-debian-9: - name: Debian 9 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-debian-9 || bundle exec kitchen create py3-git-3003-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-debian-9 - - - py3-stable-3004-debian-9: - name: Debian 9 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-debian-9 || bundle exec kitchen create py3-stable-3004-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-debian-9 - - - py3-git-3004-debian-9: - name: Debian 9 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-debian-9 || bundle exec kitchen create py3-git-3004-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-debian-9 - - - py3-git-master-debian-9: - name: Debian 9 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-debian-9 || bundle exec kitchen create py3-git-master-debian-9 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-debian-9 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-debian-9 - - - latest-debian-9: - name: Debian 9 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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 - - - py3-git-master-fedora-35: - name: Fedora 35 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-fedora-35 || bundle exec kitchen create py3-git-master-fedora-35 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-fedora-35 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-fedora-35 - - - latest-fedora-35: - name: Fedora 35 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-35 || bundle exec kitchen create latest-fedora-35 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-fedora-35 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-fedora-35 - - - py3-git-master-fedora-36: - name: Fedora 36 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-fedora-36 || bundle exec kitchen create py3-git-master-fedora-36 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-fedora-36 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-fedora-36 - - - latest-fedora-36: - name: Fedora 36 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-36 || bundle exec kitchen create latest-fedora-36 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-fedora-36 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-fedora-36 - - - py3-git-master-opensuse-15: - name: Opensuse 15 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-opensuse-15 || bundle exec kitchen create py3-git-master-opensuse-15 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-opensuse-15 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-opensuse-15 - - - latest-opensuse-15: - name: Opensuse 15 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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 - - - py3-git-master-opensuse-tumbleweed: - name: Opensuse Tumbleweed Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-opensuse-tumbleweed || bundle exec kitchen create py3-git-master-opensuse-tumbleweed - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-opensuse-tumbleweed - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-opensuse-tumbleweed - - - latest-opensuse-tumbleweed: - name: Opensuse Tumbleweed Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-tumbleweed || bundle exec kitchen create latest-opensuse-tumbleweed - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-opensuse-tumbleweed - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-opensuse-tumbleweed - - - py3-stable-3003-oraclelinux-7: - name: Oracle Linux 7 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-oraclelinux-7 || bundle exec kitchen create py3-stable-3003-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-oraclelinux-7 - - - py3-git-3003-oraclelinux-7: - name: Oracle Linux 7 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-oraclelinux-7 || bundle exec kitchen create py3-git-3003-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-oraclelinux-7 - - - py3-stable-3004-oraclelinux-7: - name: Oracle Linux 7 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-oraclelinux-7 || bundle exec kitchen create py3-stable-3004-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-oraclelinux-7 - - - py3-git-3004-oraclelinux-7: - name: Oracle Linux 7 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-oraclelinux-7 || bundle exec kitchen create py3-git-3004-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-oraclelinux-7 - - - py3-git-master-oraclelinux-7: - name: Oracle Linux 7 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-oraclelinux-7 || bundle exec kitchen create py3-git-master-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-oraclelinux-7 - - - latest-oraclelinux-7: - name: Oracle Linux 7 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-oraclelinux-7 || bundle exec kitchen create latest-oraclelinux-7 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-oraclelinux-7 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-oraclelinux-7 - - - py3-stable-3003-oraclelinux-8: - name: Oracle Linux 8 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-oraclelinux-8 || bundle exec kitchen create py3-stable-3003-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-oraclelinux-8 - - - py3-git-3003-oraclelinux-8: - name: Oracle Linux 8 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-oraclelinux-8 || bundle exec kitchen create py3-git-3003-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-oraclelinux-8 - - - py3-stable-3004-oraclelinux-8: - name: Oracle Linux 8 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-oraclelinux-8 || bundle exec kitchen create py3-stable-3004-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-oraclelinux-8 - - - py3-git-3004-oraclelinux-8: - name: Oracle Linux 8 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-oraclelinux-8 || bundle exec kitchen create py3-git-3004-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-oraclelinux-8 - - - py3-git-master-oraclelinux-8: - name: Oracle Linux 8 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-oraclelinux-8 || bundle exec kitchen create py3-git-master-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-oraclelinux-8 - - - latest-oraclelinux-8: - name: Oracle Linux 8 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-oraclelinux-8 || bundle exec kitchen create latest-oraclelinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-oraclelinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-oraclelinux-8 - - - py3-stable-3004-rockylinux-8: - name: Rocky Linux 8 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-rockylinux-8 || bundle exec kitchen create py3-stable-3004-rockylinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-rockylinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-rockylinux-8 - - - py3-git-3004-rockylinux-8: - name: Rocky Linux 8 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-rockylinux-8 || bundle exec kitchen create py3-git-3004-rockylinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-rockylinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-rockylinux-8 - - - py3-git-master-rockylinux-8: - name: Rocky Linux 8 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-rockylinux-8 || bundle exec kitchen create py3-git-master-rockylinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-rockylinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-rockylinux-8 - - - latest-rockylinux-8: - name: Rocky Linux 8 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-rockylinux-8 || bundle exec kitchen create latest-rockylinux-8 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-rockylinux-8 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-rockylinux-8 - - - py3-stable-3003-ubuntu-1804: - name: Ubuntu 18.04 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-ubuntu-1804 || bundle exec kitchen create py3-stable-3003-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-ubuntu-1804 - - - py3-git-3003-ubuntu-1804: - name: Ubuntu 18.04 v3003 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-ubuntu-1804 || bundle exec kitchen create py3-git-3003-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3003-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3003-ubuntu-1804 - - - py3-stable-3004-ubuntu-1804: - name: Ubuntu 18.04 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-ubuntu-1804 || bundle exec kitchen create py3-stable-3004-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-ubuntu-1804 - - - py3-git-3004-ubuntu-1804: - name: Ubuntu 18.04 v3004 Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-ubuntu-1804 || bundle exec kitchen create py3-git-3004-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-3004-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-3004-ubuntu-1804 - - - py3-git-master-ubuntu-1804: - name: Ubuntu 18.04 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-ubuntu-1804 || bundle exec kitchen create py3-git-master-ubuntu-1804 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-ubuntu-1804 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-ubuntu-1804 - - - latest-ubuntu-1804: - name: Ubuntu 18.04 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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 - - - py3-stable-3003-ubuntu-2004: - name: Ubuntu 20.04 v3003 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3003-ubuntu-2004 || bundle exec kitchen create py3-stable-3003-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3003-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3003-ubuntu-2004 - - - py3-stable-3004-ubuntu-2004: - name: Ubuntu 20.04 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-ubuntu-2004 || bundle exec kitchen create py3-stable-3004-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-ubuntu-2004 - - - py3-git-master-ubuntu-2004: - name: Ubuntu 20.04 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-ubuntu-2004 || bundle exec kitchen create py3-git-master-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-ubuntu-2004 - - - latest-ubuntu-2004: - name: Ubuntu 20.04 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-2004 || bundle exec kitchen create latest-ubuntu-2004 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-ubuntu-2004 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-ubuntu-2004 - - - py3-stable-3004-ubuntu-2204: - name: Ubuntu 22.04 v3004 Py3 Stable - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-3004-ubuntu-2204 || bundle exec kitchen create py3-stable-3004-ubuntu-2204 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-stable-3004-ubuntu-2204 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-stable-3004-ubuntu-2204 - - - py3-git-master-ubuntu-2204: - name: Ubuntu 22.04 Master Py3 Git - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-master-ubuntu-2204 || bundle exec kitchen create py3-git-master-ubuntu-2204 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify py3-git-master-ubuntu-2204 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy py3-git-master-ubuntu-2204 - - - latest-ubuntu-2204: - name: Ubuntu 22.04 Latest packaged release - runs-on: ubuntu-latest - timeout-minutes: 20 - - 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-2204 || bundle exec kitchen create latest-ubuntu-2204 - - - name: Test Bootstrap In Test Container - run: | - bundle exec kitchen verify latest-ubuntu-2204 - - - name: Destroy Test Container - if: always() - run: | - bundle exec kitchen destroy latest-ubuntu-2204 diff --git a/.github/workflows/templates/ci-tail.yml b/.github/workflows/templates/ci-tail.yml new file mode 100644 index 0000000..403ddd5 --- /dev/null +++ b/.github/workflows/templates/ci-tail.yml @@ -0,0 +1,33 @@ + + set-pipeline-exit-status: + # This step is just so we can make github require this step, to pass checks + # on a pull request instead of requiring all + name: Set the ${{{{ github.workflow }}}} Pipeline Exit Status + runs-on: ubuntu-latest + needs: + {needs} + if: always() + steps: + + - name: Download Exit Status Files + if: always() + uses: actions/download-artifact@v3 + with: + name: exitstatus + path: exitstatus + + - name: Delete Exit Status Artifacts + if: always() + uses: geekyeggo/delete-artifact@v1 + with: + name: exitstatus + failOnError: false + + - name: Set Pipeline Exit Status + run: | + grep -RE 'failure|cancelled' exitstatus/ && exit 1 || exit 0 + + - name: Done + if: always() + run: + echo "All worflows finished" diff --git a/.github/workflows/templates/ci.yml b/.github/workflows/templates/ci.yml new file mode 100644 index 0000000..b179842 --- /dev/null +++ b/.github/workflows/templates/ci.yml @@ -0,0 +1,100 @@ +name: CI +on: + - push + - pull_request + +concurrency: + # If changes are pushed to a PR, stop all running workflows before starting new ones + group: ${{ github.head_ref || (github.repository == 'saltstack/salt-bootstrap' && github.run_id || github.ref_name) }} + cancel-in-progress: true + +jobs: + + collect-changed-files: + name: Collect changed files + runs-on: ubuntu-latest + outputs: + run-tests: ${{ steps.set-output.outputs.run-tests }} + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Get specific changed files + id: changed-files + uses: tj-actions/changed-files@v25 + with: + separator: "," + files: | + bootstrap-salt.* + Gemfile + kitchen*.yml + tests/** + .github/workflows/** + + - name: Set Job Output + id: set-output + run: | + echo "::set-output name=run-tests::${{ steps.changed-files.outputs.any_modified }}" + + generate-actions-workflow: + name: Generate The Actions Workflow + runs-on: ubuntu-latest + needs: collect-changed-files + + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + steps: + - uses: actions/checkout@v3 + + - name: Set up Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: 3.9 + + - name: Install Pre-Commit + run: | + python3 -m pip install -U pip + python3 -m pip install pre-commit + pre-commit install --install-hooks + + - name: Generate Workflow Actions + run: | + pre-commit run -av generate-actions-workflow + + - name: Set Exit Status + if: always() + run: | + mkdir exitstatus + echo "${{ job.status }}" > exitstatus/${{ github.job }} + + - name: Upload Exit Status + if: always() + uses: actions/upload-artifact@v3 + with: + name: exitstatus + path: exitstatus + + lint: + name: Lint + runs-on: ubuntu-latest + needs: collect-changed-files + container: koalaman/shellcheck-alpine:v0.6.0 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + steps: + - uses: actions/checkout@v3 + - name: ShellCheck + run: | + shellcheck -s sh -f tty bootstrap-salt.sh + + - name: Set Exit Status + if: always() + run: | + mkdir exitstatus + echo "${{ job.status }}" > exitstatus/${{ github.job }} + + - name: Upload Exit Status + if: always() + uses: actions/upload-artifact@v3 + with: + name: exitstatus + path: exitstatus diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index e604c5b..64e6262 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- import os +import json +import pathlib import datetime os.chdir(os.path.abspath(os.path.dirname(__file__))) @@ -27,7 +29,21 @@ LINUX_DISTROS = [ "ubuntu-2004", "ubuntu-2204", ] -OSX = WINDOWS = [] +WINDOWS = [ + "windows-2019", + "windows-2022", +] + +OSX = [ + "macos-1015", + "macos-11", + "macos-12", +] +BSD = [ + "freebsd-131", + "freebsd-123", + "openbsd-6", +] STABLE_DISTROS = [ "almalinux-8", @@ -108,21 +124,21 @@ BLACKLIST_GIT_3004 = [ "ubuntu-2204", ] -SALT_BRANCHES = [ +SALT_VERSIONS = [ "3003", "3004", "master", "latest", ] -BRANCH_DISPLAY_NAMES = { +VERSION_DISPLAY_NAMES = { "3003": "v3003", "3004": "v3004", "master": "Master", "latest": "Latest", } -STABLE_BRANCH_BLACKLIST = [] +STABLE_VERSION_BLACKLIST = [] LATEST_PKG_BLACKLIST = [] @@ -147,6 +163,14 @@ DISTRO_DISPLAY_NAMES = { "ubuntu-1804": "Ubuntu 18.04", "ubuntu-2004": "Ubuntu 20.04", "ubuntu-2204": "Ubuntu 22.04", + "macos-1015": "macOS 10.15", + "macos-11": "macOS 11", + "macos-12": "macOS 12", + "freebsd-131": "FreeBSD 13.1", + "freebsd-123": "FreeBSD 12.3", + "openbsd-6": "OpenBSD 6", + "windows-2019": "Windows 2019", + "windows-2022": "Windows 2022", } TIMEOUT_DEFAULT = 20 @@ -154,168 +178,270 @@ TIMEOUT_OVERRIDES = { "gentoo": 90, "gentoo-systemd": 90, } -BRANCH_ONLY_OVERRIDES = [ +VERSION_ONLY_OVERRIDES = [ "gentoo", "gentoo-systemd", ] +TEMPLATE = """ + {distro}: + name: {display_name}{ifcheck} + uses: {uses} + needs: + - lint + - generate-actions-workflow + with: + distro-slug: {distro} + display-name: {display_name} + timeout: {timeout_minutes}{runs_on} + instances: '{instances}' +""" + def generate_test_jobs(): test_jobs = "" - branch_only_test_jobs = "" + needs = ["lint", "generate-actions-workflow"] - for distro in LINUX_DISTROS + OSX + WINDOWS: + for distro in LINUX_DISTROS: + test_jobs += "\n" + runs_on = "" + ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" + uses = "./.github/workflows/test-linux.yml" + instances = [] timeout_minutes = ( TIMEOUT_OVERRIDES[distro] if distro in TIMEOUT_OVERRIDES else TIMEOUT_DEFAULT ) - needs = " needs: lint" - if distro in BRANCH_ONLY_OVERRIDES: - needs = "" - current_test_jobs = "" + if distro in VERSION_ONLY_OVERRIDES: + ifcheck = "\n if: github.event_name == 'push'" - for branch in SALT_BRANCHES: + for salt_version in SALT_VERSIONS: - if branch == "latest": + if salt_version == "latest": if distro in LATEST_PKG_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: - current_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], - ), - timeout_minutes=timeout_minutes, - needs=needs, - ) - ) + instances.append(salt_version) continue - for python_version in ("py3",): - - for bootstrap_type in ("stable", "git"): - if bootstrap_type == "stable": - if branch == "master": - # For the master branch there's no stable build - continue - if distro not in STABLE_DISTROS: - continue - - if branch in STABLE_BRANCH_BLACKLIST: - continue - - if distro.startswith("fedora") and branch != "latest": - # Fedora does not keep old builds around - continue - - BLACKLIST = { - "3003": BLACKLIST_3003, - "3004": BLACKLIST_3004, - } - if bootstrap_type == "git": - BLACKLIST = { - "3003": BLACKLIST_GIT_3003, - "3004": BLACKLIST_GIT_3004, - } - - # .0 versions are a virtual version for pinning to the first point release of a major release, such as 3003, there is no git version. - if branch.endswith("-0"): - continue - - if ( - branch in ("3003", "3004") - and distro in BLACKLIST[branch] - ): + for bootstrap_type in ("stable", "git"): + if bootstrap_type == "stable": + if salt_version == "master": + # For the master branch there's no stable build + continue + if distro not in STABLE_DISTROS: 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)) + if salt_version in STABLE_VERSION_BLACKLIST: + continue - with open(template) as rfh: - current_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_DISPLAY_NAMES[branch], - python_version.capitalize(), - bootstrap_type.capitalize(), - ), - timeout_minutes=timeout_minutes, - needs=needs, - ) - ) - if distro in BRANCH_ONLY_OVERRIDES: - branch_only_test_jobs += current_test_jobs + if distro.startswith("fedora") and salt_version != "latest": + # Fedora does not keep old builds around + continue + + BLACKLIST = { + "3003": BLACKLIST_3003, + "3004": BLACKLIST_3004, + } + if bootstrap_type == "git": + BLACKLIST = { + "3003": BLACKLIST_GIT_3003, + "3004": BLACKLIST_GIT_3004, + } + + # .0 versions are a virtual version for pinning to the first + # point release of a major release, such as 3003, + # there is no git version. + if salt_version.endswith("-0"): + continue + + if ( + salt_version in ("3003", "3004") + and distro in BLACKLIST[salt_version] + ): + continue + + kitchen_target = f"{bootstrap_type}-{salt_version}" + instances.append(kitchen_target) + + if instances: + needs.append(distro) + test_jobs += TEMPLATE.format( + distro=distro, + runs_on=runs_on, + uses=uses, + ifcheck=ifcheck, + instances=json.dumps(instances), + display_name=DISTRO_DISPLAY_NAMES[distro], + timeout_minutes=timeout_minutes, + ) + + test_jobs += "\n" + for distro in WINDOWS: + test_jobs += "\n" + runs_on = f"\n runs-on: {distro}" + ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" + uses = "./.github/workflows/test-windows.yml" + instances = [] + timeout_minutes = ( + TIMEOUT_OVERRIDES[distro] + if distro in TIMEOUT_OVERRIDES + else TIMEOUT_DEFAULT + ) + + for salt_version in SALT_VERSIONS: + + if salt_version == "latest": + + instances.append(salt_version) + continue + + for bootstrap_type in ("stable",): + if bootstrap_type == "stable": + if salt_version == "master": + # For the master branch there's no stable build + continue + + kitchen_target = f"{bootstrap_type}-{salt_version}" + instances.append(kitchen_target) + + if instances: + needs.append(distro) + test_jobs += TEMPLATE.format( + distro=distro, + runs_on=runs_on, + uses=uses, + ifcheck=ifcheck, + instances=json.dumps(instances), + display_name=DISTRO_DISPLAY_NAMES[distro], + timeout_minutes=timeout_minutes, + ) + + test_jobs += "\n" + for distro in OSX: + test_jobs += "\n" + if distro == "macos-1015": + runs_on = "macos-10.15" else: - test_jobs += current_test_jobs + runs_on = distro + runs_on = f"\n runs-on: {runs_on}" + ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" + uses = "./.github/workflows/test-macos.yml" + instances = [] + timeout_minutes = ( + TIMEOUT_OVERRIDES[distro] + if distro in TIMEOUT_OVERRIDES + else TIMEOUT_DEFAULT + ) - with open("lint.yml") as rfh: - lint_job = "\n{}\n".format(rfh.read()) + for salt_version in SALT_VERSIONS: - with open("pre-commit.yml") as rfh: - pre_commit_job = "\n{}\n".format(rfh.read()) + if salt_version == "latest": - with open("../main.yml", "w") as wfh: - with open("main.yml") as rfh: - wfh.write( - "{}\n".format( - rfh.read() - .format( - jobs="{pre_commit}{lint}{test}".format( - lint=lint_job, - test=test_jobs, - pre_commit=pre_commit_job, - ), - on="push, pull_request", - name="Testing", - ) - .strip() - ) + instances.append(salt_version) + continue + + for bootstrap_type in ("stable",): + if bootstrap_type == "stable": + if salt_version == "master": + # For the master branch there's no stable build + continue + + kitchen_target = f"{bootstrap_type}-{salt_version}" + instances.append(kitchen_target) + + if instances: + needs.append(distro) + test_jobs += TEMPLATE.format( + distro=distro, + runs_on=runs_on, + uses=uses, + ifcheck=ifcheck, + instances=json.dumps(instances), + display_name=DISTRO_DISPLAY_NAMES[distro], + timeout_minutes=timeout_minutes, ) - with open("../main-branch-only.yml", "w") as wfh: - with open("main.yml") as rfh: - wfh.write( - "{}\n".format( - rfh.read() - .format( - jobs="{test}".format( - test=branch_only_test_jobs, - ), - on="push", - name="Branch Testing", - ) - .strip() - ) + test_jobs += "\n" + for distro in BSD: + test_jobs += "\n" + runs_on = "macos-10.15" + runs_on = f"\n runs-on: {runs_on}" + ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" + uses = "./.github/workflows/test-bsd.yml" + instances = [] + timeout_minutes = ( + TIMEOUT_OVERRIDES[distro] + if distro in TIMEOUT_OVERRIDES + else TIMEOUT_DEFAULT + ) + for salt_version in SALT_VERSIONS: + + if salt_version == "latest": + if distro in LATEST_PKG_BLACKLIST: + continue + + instances.append(salt_version) + continue + + if distro == "openbsd-6": + # Only test latest on OpenBSD 6 + continue + + if salt_version != "master": + # Only test the master branch on BSD's + continue + + # BSD's don't have a stable release, only use git + for bootstrap_type in ("git",): + + BLACKLIST = { + "3003": BLACKLIST_3003, + "3004": BLACKLIST_3004, + } + if bootstrap_type == "git": + BLACKLIST = { + "3003": BLACKLIST_GIT_3003, + "3004": BLACKLIST_GIT_3004, + } + + # .0 versions are a virtual version for pinning to the first + # point release of a major release, such as 3003, + # there is no git version. + if salt_version.endswith("-0"): + continue + + if ( + salt_version in ("3003", "3004") + and distro in BLACKLIST[salt_version] + ): + continue + + kitchen_target = f"{bootstrap_type}-{salt_version}" + instances.append(kitchen_target) + + if instances: + needs.append(distro) + test_jobs += TEMPLATE.format( + distro=distro, + runs_on=runs_on, + uses=uses, + ifcheck=ifcheck, + instances=json.dumps(instances), + display_name=DISTRO_DISPLAY_NAMES[distro], + timeout_minutes=timeout_minutes, ) + ci_src_workflow = pathlib.Path("ci.yml").resolve() + ci_tail_src_workflow = pathlib.Path("ci-tail.yml").resolve() + ci_dst_workflow = pathlib.Path("../ci.yml").resolve() + ci_workflow_contents = ci_src_workflow.read_text() + test_jobs + "\n" + ci_workflow_contents += ci_tail_src_workflow.read_text().format( + needs="\n".join([f" - {need}" for need in needs]).lstrip() + ) + ci_dst_workflow.write_text(ci_workflow_contents) + if __name__ == "__main__": generate_test_jobs() diff --git a/.github/workflows/templates/lint.yml b/.github/workflows/templates/lint.yml deleted file mode 100644 index 273e115..0000000 --- a/.github/workflows/templates/lint.yml +++ /dev/null @@ -1,12 +0,0 @@ - lint: - name: Lint - runs-on: ubuntu-latest - - needs: generate-actions-workflow - - container: koalaman/shellcheck-alpine:v0.6.0 - steps: - - uses: actions/checkout@v1 - - name: ShellCheck - run: | - shellcheck -s sh -f tty bootstrap-salt.sh diff --git a/.github/workflows/templates/linux.yml b/.github/workflows/templates/linux.yml deleted file mode 100644 index e956676..0000000 --- a/.github/workflows/templates/linux.yml +++ /dev/null @@ -1,44 +0,0 @@ - {python_version}-{bootstrap_type}-{branch}-{distro}: - name: {display_name} - runs-on: ubuntu-latest - timeout-minutes: {timeout_minutes} - -{needs} - - 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 deleted file mode 100644 index 5686c00..0000000 --- a/.github/workflows/templates/main.yml +++ /dev/null @@ -1,13 +0,0 @@ -# DO NOT EDIT THIS FILE DIRECTLY! -# -# This file was generated by .github/workflows/templates/generate.py -# -# yamllint disable rule:line-length rule:empty-lines ---- - -name: {name} - -'on': [{on}] - -jobs: -{jobs} diff --git a/.github/workflows/templates/pre-commit.yml b/.github/workflows/templates/pre-commit.yml deleted file mode 100644 index 654d2a5..0000000 --- a/.github/workflows/templates/pre-commit.yml +++ /dev/null @@ -1,20 +0,0 @@ - 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 diff --git a/.github/workflows/test-bsd.yml b/.github/workflows/test-bsd.yml new file mode 100644 index 0000000..5fbf2f5 --- /dev/null +++ b/.github/workflows/test-bsd.yml @@ -0,0 +1,88 @@ +name: Test FreeBSD & OpenBSD +on: + workflow_call: + inputs: + distro-slug: + type: string + required: true + description: The Distribution Slug + + display-name: + type: string + required: true + description: The Display Name For The Job + + runs-on: + type: string + required: true + description: The GitHub MacOS Worker To Run Workflow On + + instances: + type: string + required: true + description: The Instances To Test + + timeout: + type: number + required: false + default: 20 + description: The timeout(in minutes) for the workflow + +env: + KITCHEN_LOCAL_YAML: 'kitchen.bsd.yml' + +jobs: + Test: + name: ${{ matrix.instance }} + runs-on: ${{ inputs.runs-on }} + timeout-minutes: ${{ inputs.timeout }} + strategy: + fail-fast: false + matrix: + instance: ${{ fromJSON(inputs.instances) }} + + steps: + - uses: actions/checkout@v3 + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.6.10 + bundler-cache: true + + - name: Set up Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: 3.9 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Instance + run: | + bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }} || \ + (sleep 10 && bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }}) + + - name: Test Bootstrap + run: | + bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Destroy Test Instance + if: always() + run: | + bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Set Exit Status + if: always() + run: | + mkdir exitstatus + echo "${{ job.status }}" > exitstatus/${{ github.job }}-${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Upload Exit Status + if: always() + uses: actions/upload-artifact@v3 + with: + name: exitstatus + path: exitstatus diff --git a/.github/workflows/test-linux.yml b/.github/workflows/test-linux.yml new file mode 100644 index 0000000..3949aff --- /dev/null +++ b/.github/workflows/test-linux.yml @@ -0,0 +1,80 @@ +name: Test Linux +on: + workflow_call: + inputs: + distro-slug: + type: string + required: true + description: The Distribution Slug + + display-name: + type: string + required: true + description: The Display Name For The Job + + instances: + type: string + required: true + description: The Instances To Test + + timeout: + type: number + required: false + default: 20 + + +jobs: + Test: + name: ${{ matrix.instance }} + runs-on: ubuntu-latest + timeout-minutes: ${{ inputs.timeout }} + strategy: + fail-fast: false + matrix: + instance: ${{ fromJSON(inputs.instances) }} + + steps: + - uses: actions/checkout@v3 + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.6.10 + bundler-cache: true + + - name: Set up Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: 3.9 + + - name: Install Python Dependencies + run: | + python3 -m pip install -U pip + python3 -m pip install -r tests/requirements.txt + + - name: Create Test Instance + run: | + bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }} || \ + (sleep 10 && bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }}) + + - name: Test Bootstrap + run: | + bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Destroy Test Instance + if: always() + run: | + bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Set Exit Status + if: always() + run: | + mkdir exitstatus + echo "${{ job.status }}" > exitstatus/${{ github.job }}-${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Upload Exit Status + if: always() + uses: actions/upload-artifact@v3 + with: + name: exitstatus + path: exitstatus diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml new file mode 100644 index 0000000..0c6c0da --- /dev/null +++ b/.github/workflows/test-macos.yml @@ -0,0 +1,88 @@ +name: Test MacOS +on: + workflow_call: + inputs: + distro-slug: + type: string + required: true + description: The Distribution Slug + + display-name: + type: string + required: true + description: The Display Name For The Job + + runs-on: + type: string + required: true + description: The GitHub MacOS Worker To Run Workflow On + + instances: + type: string + required: true + description: The Instances To Test + + timeout: + type: number + required: false + default: 20 + description: The timeout(in minutes) for the workflow + +env: + KITCHEN_LOCAL_YAML: 'kitchen.macos.yml' + +jobs: + Test: + name: ${{ matrix.instance }} + runs-on: ${{ inputs.runs-on }} + timeout-minutes: ${{ inputs.timeout }} + strategy: + fail-fast: false + matrix: + instance: ${{ fromJSON(inputs.instances) }} + + steps: + - uses: actions/checkout@v3 + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.6.10 + bundler-cache: true + + - name: Set up Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: 3.9 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Instance + run: | + bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }} || \ + (sleep 10 && bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }}) + + - name: Test Bootstrap + run: | + bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Destroy Test Instance + if: always() + run: | + bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Set Exit Status + if: always() + run: | + mkdir exitstatus + echo "${{ job.status }}" > exitstatus/${{ github.job }}-${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Upload Exit Status + if: always() + uses: actions/upload-artifact@v3 + with: + name: exitstatus + path: exitstatus diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml new file mode 100644 index 0000000..c034c9d --- /dev/null +++ b/.github/workflows/test-windows.yml @@ -0,0 +1,113 @@ +name: Test Windows +on: + workflow_call: + inputs: + distro-slug: + type: string + required: true + description: The Distribution Slug + + display-name: + type: string + required: true + description: The Display Name For The Job + + runs-on: + type: string + required: true + description: The GitHub Windows Worker To Run Workflow On + + instances: + type: string + required: true + description: The Instances To Test + + timeout: + type: number + required: false + default: 20 + description: The timeout(in minutes) for the workflow + +env: + machine_user: kitchen + machine_pass: Password1 + machine_port: 5985 + KITCHEN_LOCAL_YAML: 'kitchen.windows.yml' + +jobs: + Test: + name: ${{ matrix.instance }} + runs-on: ${{ inputs.runs-on }} + timeout-minutes: ${{ inputs.timeout }} + strategy: + fail-fast: false + matrix: + instance: ${{ fromJSON(inputs.instances) }} + + steps: + - uses: actions/checkout@v3 + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.6.10 + bundler-cache: true + + - name: Install Chef + uses: actionshub/chef-install@1.1.0 + with: + project: chef + version: 16.10.8 + + - name: Add Chef bindir to PATH + uses: myci-actions/export-env-var-powershell@1 + with: + name: PATH + value: "C:\\opscode\\chef\\bin;C:\\opscode\\chef\\embedded\\bin;$env:PATH" + + - name: Setup test user + run: | + $password = ConvertTo-SecureString $env:machine_pass -AsPlainText -Force + New-LocalUser $env:machine_user -Password $password + Add-LocalGroupMember -Group "Administrators" -Member $env:machine_user + + - name: Set up WinRM + run: | + Set-WSManQuickConfig -Force + + - name: Set up Python 3.9 + uses: actions/setup-python@v4 + with: + python-version: 3.9 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Instance + run: | + bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }} || \ + (sleep 10 && bundle exec kitchen create ${{ matrix.instance }}-${{ inputs.distro-slug }}) + + - name: Test Bootstrap + run: | + bundle exec kitchen verify ${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Destroy Test Instance + if: always() + run: | + bundle exec kitchen destroy ${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Set Exit Status + if: always() + run: | + mkdir exitstatus + echo "${{ job.status }}" > exitstatus/${{ github.job }}-${{ matrix.instance }}-${{ inputs.distro-slug }} + + - name: Upload Exit Status + if: always() + uses: actions/upload-artifact@v3 + with: + name: exitstatus + path: exitstatus diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 89069ae..b4d63be 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -27,7 +27,7 @@ repos: name: Generate Github Actions Workflow entry: .github/workflows/templates/generate.py pass_filenames: false - files: '.github/workflows/templates/.*' + files: '^.github/workflows/.*$' language: script - id: shellcheck diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 0860045..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,126 +0,0 @@ -GIT - remote: https://github.com/test-kitchen/kitchen-docker.git - revision: 8d2a6f04e77b76bc9f77e0bb8cc52542743b7b6a - specs: - kitchen-docker (2.11.0) - test-kitchen (>= 1.0.0) - -GEM - remote: https://rubygems.org/ - specs: - bcrypt_pbkdf (1.1.0) - builder (3.2.4) - chef-utils (17.10.0) - concurrent-ruby - concurrent-ruby (1.1.10) - ed25519 (1.3.0) - erubi (1.10.0) - ffi (1.15.5) - gssapi (1.3.1) - ffi (>= 1.0.1) - gyoku (1.4.0) - builder (>= 2.1.2) - rexml (~> 3.0) - hashie (5.0.0) - httpclient (2.8.3) - kitchen-salt (0.7.2) - hashie (>= 3.5) - test-kitchen (>= 1.4) - kitchen-vagrant (1.11.0) - test-kitchen (>= 1.4, < 4) - license-acceptance (2.1.13) - pastel (~> 0.7) - tomlrb (>= 1.2, < 3.0) - tty-box (~> 0.6) - tty-prompt (~> 0.20) - little-plugger (1.1.4) - logging (2.3.1) - little-plugger (~> 1.1) - multi_json (~> 1.14) - mixlib-install (3.12.19) - mixlib-shellout - mixlib-versioning - thor - mixlib-shellout (3.2.7) - chef-utils - mixlib-versioning (1.2.12) - multi_json (1.15.0) - net-scp (3.0.0) - net-ssh (>= 2.6.5, < 7.0.0) - net-ssh (6.1.0) - net-ssh-gateway (2.0.0) - net-ssh (>= 4.0.0) - nori (2.6.0) - pastel (0.8.0) - tty-color (~> 0.5) - rexml (3.2.5) - rubyntlm (0.6.3) - rubyzip (2.3.2) - strings (0.2.1) - strings-ansi (~> 0.2) - unicode-display_width (>= 1.5, < 3.0) - unicode_utils (~> 1.4) - strings-ansi (0.2.0) - test-kitchen (3.2.2) - bcrypt_pbkdf (~> 1.0) - chef-utils (>= 16.4.35) - ed25519 (~> 1.2) - license-acceptance (>= 1.0.11, < 3.0) - mixlib-install (~> 3.6) - mixlib-shellout (>= 1.2, < 4.0) - net-scp (>= 1.1, < 4.0) - net-ssh (>= 2.9, < 7.0) - net-ssh-gateway (>= 1.2, < 3.0) - thor (>= 0.19, < 2.0) - winrm (~> 2.0) - winrm-elevated (~> 1.0) - winrm-fs (~> 1.1) - thor (1.2.1) - tomlrb (2.0.3) - tty-box (0.7.0) - pastel (~> 0.8) - strings (~> 0.2.0) - tty-cursor (~> 0.7) - tty-color (0.6.0) - tty-cursor (0.7.1) - tty-prompt (0.23.1) - pastel (~> 0.8) - tty-reader (~> 0.8) - tty-reader (0.9.0) - tty-cursor (~> 0.7) - tty-screen (~> 0.8) - wisper (~> 2.0) - tty-screen (0.8.1) - unicode-display_width (2.1.0) - unicode_utils (1.4.0) - winrm (2.3.6) - builder (>= 2.1.2) - erubi (~> 1.8) - gssapi (~> 1.2) - gyoku (~> 1.0) - httpclient (~> 2.2, >= 2.2.0.2) - logging (>= 1.6.1, < 3.0) - nori (~> 2.0) - rubyntlm (~> 0.6.0, >= 0.6.3) - winrm-elevated (1.2.3) - erubi (~> 1.8) - winrm (~> 2.0) - winrm-fs (~> 1.0) - winrm-fs (1.3.5) - erubi (~> 1.8) - logging (>= 1.6.1, < 3.0) - rubyzip (~> 2.0) - winrm (~> 2.0) - wisper (2.0.1) - -PLATFORMS - x86_64-linux - -DEPENDENCIES - kitchen-docker! - kitchen-salt (>= 0.7.2) - kitchen-vagrant - test-kitchen (>= 3.2.2) - -BUNDLED WITH - 2.2.26 diff --git a/kitchen.vagrant.yml b/kitchen.bsd.yml similarity index 100% rename from kitchen.vagrant.yml rename to kitchen.bsd.yml diff --git a/kitchen.macos.yml b/kitchen.macos.yml index cc4ed9a..845bace 100644 --- a/kitchen.macos.yml +++ b/kitchen.macos.yml @@ -19,10 +19,10 @@ platforms: - name: macos-1015 suites: - - name: py3-stable-3003 + - name: stable-3003 provisioner: salt_version: 3003.4 - - name: py3-stable-3004 + - name: stable-3004 provisioner: salt_version: 3004.1 - name: latest diff --git a/kitchen.windows.yml b/kitchen.windows.yml index b732725..e54b7f6 100644 --- a/kitchen.windows.yml +++ b/kitchen.windows.yml @@ -17,10 +17,10 @@ platforms: - name: windows-2019 suites: - - name: py3-stable-3003 + - name: stable-3003 provisioner: salt_version: 3003.4-1 - - name: py3-stable-3004 + - name: stable-3004 provisioner: salt_version: 3004.1-1 - name: latest diff --git a/kitchen.yml b/kitchen.yml index 1a94327..d449f8d 100644 --- a/kitchen.yml +++ b/kitchen.yml @@ -113,11 +113,11 @@ platforms: run_command: /lib/systemd/systemd suites: - - name: py3-git-3003 + - name: git-3003 provisioner: salt_version: 3003 salt_bootstrap_options: -x python3 -MPfq git %s - - name: py3-git-3004 + - name: git-3004 provisioner: salt_version: 3004 salt_bootstrap_options: -x python3 -MPfq git %s @@ -131,7 +131,7 @@ suites: - freebsd-131 - freebsd-123 - openbsd-6 - - name: py3-stable-3003-0 + - name: stable-3003-0 provisioner: salt_version: 3003 salt_bootstrap_options: -x python3 -MP stable 3003.0 @@ -151,7 +151,7 @@ suites: - freebsd-131 - freebsd-123 - openbsd-6 - - name: py3-stable-3003 + - name: stable-3003 provisioner: salt_version: 3003 salt_bootstrap_options: -x python3 -MP stable %s @@ -162,7 +162,7 @@ suites: - freebsd-131 - freebsd-123 - openbsd-6 - - name: py3-stable-3004-0 + - name: stable-3004-0 provisioner: salt_version: 3004 salt_bootstrap_options: -x python3 -MP stable 3004.0 @@ -175,7 +175,7 @@ suites: - freebsd-131 - freebsd-123 - openbsd-6 - - name: py3-stable-3004 + - name: stable-3004 provisioner: salt_version: 3004 salt_bootstrap_options: -x python3 -MP stable %s @@ -186,7 +186,7 @@ suites: - freebsd-131 - freebsd-123 - openbsd-6 - - name: py3-git-master + - name: git-master provisioner: salt_version: master salt_bootstrap_options: -x python3 -MPfq -D git %s From ef6f91ddaa7861aff537ed89ca94303771aac835 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 12 Aug 2022 07:42:39 +0100 Subject: [PATCH 105/113] Queue slower pipelines first Signed-off-by: Pedro Algarvio --- .github/workflows/ci.yml | 262 ++++++++++---------- .github/workflows/templates/generate.py | 312 ++++++++++++------------ 2 files changed, 287 insertions(+), 287 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 59069db..4445572 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -100,6 +100,129 @@ jobs: path: exitstatus + freebsd-131: + name: FreeBSD 13.1 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-bsd.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: freebsd-131 + display-name: FreeBSD 13.1 + timeout: 20 + runs-on: macos-10.15 + instances: '["git-master", "latest"]' + + + freebsd-123: + name: FreeBSD 12.3 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-bsd.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: freebsd-123 + display-name: FreeBSD 12.3 + timeout: 20 + runs-on: macos-10.15 + instances: '["git-master", "latest"]' + + + openbsd-6: + name: OpenBSD 6 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-bsd.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: openbsd-6 + display-name: OpenBSD 6 + timeout: 20 + runs-on: macos-10.15 + instances: '["latest"]' + + + + macos-1015: + name: macOS 10.15 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-macos.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: macos-1015 + display-name: macOS 10.15 + timeout: 20 + runs-on: macos-10.15 + instances: '["stable-3003", "stable-3004", "latest"]' + + + macos-11: + name: macOS 11 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-macos.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: macos-11 + display-name: macOS 11 + timeout: 20 + runs-on: macos-11 + instances: '["stable-3003", "stable-3004", "latest"]' + + + macos-12: + name: macOS 12 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-macos.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: macos-12 + display-name: macOS 12 + timeout: 20 + runs-on: macos-12 + instances: '["stable-3003", "stable-3004", "latest"]' + + + + windows-2019: + name: Windows 2019 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-windows.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: windows-2019 + display-name: Windows 2019 + timeout: 20 + runs-on: windows-2019 + instances: '["stable-3003", "stable-3004", "latest"]' + + + windows-2022: + name: Windows 2022 + if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' + uses: ./.github/workflows/test-windows.yml + needs: + - lint + - generate-actions-workflow + with: + distro-slug: windows-2022 + display-name: Windows 2022 + timeout: 20 + runs-on: windows-2022 + instances: '["stable-3003", "stable-3004", "latest"]' + + + almalinux-8: name: AlmaLinux 8 if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' @@ -380,129 +503,6 @@ jobs: instances: '["stable-3004", "git-master", "latest"]' - - windows-2019: - name: Windows 2019 - if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' - uses: ./.github/workflows/test-windows.yml - needs: - - lint - - generate-actions-workflow - with: - distro-slug: windows-2019 - display-name: Windows 2019 - timeout: 20 - runs-on: windows-2019 - instances: '["stable-3003", "stable-3004", "latest"]' - - - windows-2022: - name: Windows 2022 - if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' - uses: ./.github/workflows/test-windows.yml - needs: - - lint - - generate-actions-workflow - with: - distro-slug: windows-2022 - display-name: Windows 2022 - timeout: 20 - runs-on: windows-2022 - instances: '["stable-3003", "stable-3004", "latest"]' - - - - macos-1015: - name: macOS 10.15 - if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' - uses: ./.github/workflows/test-macos.yml - needs: - - lint - - generate-actions-workflow - with: - distro-slug: macos-1015 - display-name: macOS 10.15 - timeout: 20 - runs-on: macos-10.15 - instances: '["stable-3003", "stable-3004", "latest"]' - - - macos-11: - name: macOS 11 - if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' - uses: ./.github/workflows/test-macos.yml - needs: - - lint - - generate-actions-workflow - with: - distro-slug: macos-11 - display-name: macOS 11 - timeout: 20 - runs-on: macos-11 - instances: '["stable-3003", "stable-3004", "latest"]' - - - macos-12: - name: macOS 12 - if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' - uses: ./.github/workflows/test-macos.yml - needs: - - lint - - generate-actions-workflow - with: - distro-slug: macos-12 - display-name: macOS 12 - timeout: 20 - runs-on: macos-12 - instances: '["stable-3003", "stable-3004", "latest"]' - - - - freebsd-131: - name: FreeBSD 13.1 - if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' - uses: ./.github/workflows/test-bsd.yml - needs: - - lint - - generate-actions-workflow - with: - distro-slug: freebsd-131 - display-name: FreeBSD 13.1 - timeout: 20 - runs-on: macos-10.15 - instances: '["git-master", "latest"]' - - - freebsd-123: - name: FreeBSD 12.3 - if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' - uses: ./.github/workflows/test-bsd.yml - needs: - - lint - - generate-actions-workflow - with: - distro-slug: freebsd-123 - display-name: FreeBSD 12.3 - timeout: 20 - runs-on: macos-10.15 - instances: '["git-master", "latest"]' - - - openbsd-6: - name: OpenBSD 6 - if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true' - uses: ./.github/workflows/test-bsd.yml - needs: - - lint - - generate-actions-workflow - with: - distro-slug: openbsd-6 - display-name: OpenBSD 6 - timeout: 20 - runs-on: macos-10.15 - instances: '["latest"]' - - set-pipeline-exit-status: # This step is just so we can make github require this step, to pass checks # on a pull request instead of requiring all @@ -511,6 +511,14 @@ jobs: needs: - lint - generate-actions-workflow + - freebsd-131 + - freebsd-123 + - openbsd-6 + - macos-1015 + - macos-11 + - macos-12 + - windows-2019 + - windows-2022 - almalinux-8 - amazon-2 - arch @@ -531,14 +539,6 @@ jobs: - ubuntu-1804 - ubuntu-2004 - ubuntu-2204 - - windows-2019 - - windows-2022 - - macos-1015 - - macos-11 - - macos-12 - - freebsd-131 - - freebsd-123 - - openbsd-6 if: always() steps: diff --git a/.github/workflows/templates/generate.py b/.github/workflows/templates/generate.py index 64e6262..ab000e6 100755 --- a/.github/workflows/templates/generate.py +++ b/.github/workflows/templates/generate.py @@ -202,6 +202,162 @@ def generate_test_jobs(): test_jobs = "" needs = ["lint", "generate-actions-workflow"] + for distro in BSD: + test_jobs += "\n" + runs_on = "macos-10.15" + runs_on = f"\n runs-on: {runs_on}" + ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" + uses = "./.github/workflows/test-bsd.yml" + instances = [] + timeout_minutes = ( + TIMEOUT_OVERRIDES[distro] + if distro in TIMEOUT_OVERRIDES + else TIMEOUT_DEFAULT + ) + for salt_version in SALT_VERSIONS: + + if salt_version == "latest": + if distro in LATEST_PKG_BLACKLIST: + continue + + instances.append(salt_version) + continue + + if distro == "openbsd-6": + # Only test latest on OpenBSD 6 + continue + + if salt_version != "master": + # Only test the master branch on BSD's + continue + + # BSD's don't have a stable release, only use git + for bootstrap_type in ("git",): + + BLACKLIST = { + "3003": BLACKLIST_3003, + "3004": BLACKLIST_3004, + } + if bootstrap_type == "git": + BLACKLIST = { + "3003": BLACKLIST_GIT_3003, + "3004": BLACKLIST_GIT_3004, + } + + # .0 versions are a virtual version for pinning to the first + # point release of a major release, such as 3003, + # there is no git version. + if salt_version.endswith("-0"): + continue + + if ( + salt_version in ("3003", "3004") + and distro in BLACKLIST[salt_version] + ): + continue + + kitchen_target = f"{bootstrap_type}-{salt_version}" + instances.append(kitchen_target) + + if instances: + needs.append(distro) + test_jobs += TEMPLATE.format( + distro=distro, + runs_on=runs_on, + uses=uses, + ifcheck=ifcheck, + instances=json.dumps(instances), + display_name=DISTRO_DISPLAY_NAMES[distro], + timeout_minutes=timeout_minutes, + ) + + test_jobs += "\n" + for distro in OSX: + test_jobs += "\n" + if distro == "macos-1015": + runs_on = "macos-10.15" + else: + runs_on = distro + runs_on = f"\n runs-on: {runs_on}" + ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" + uses = "./.github/workflows/test-macos.yml" + instances = [] + timeout_minutes = ( + TIMEOUT_OVERRIDES[distro] + if distro in TIMEOUT_OVERRIDES + else TIMEOUT_DEFAULT + ) + + for salt_version in SALT_VERSIONS: + + if salt_version == "latest": + + instances.append(salt_version) + continue + + for bootstrap_type in ("stable",): + if bootstrap_type == "stable": + if salt_version == "master": + # For the master branch there's no stable build + continue + + kitchen_target = f"{bootstrap_type}-{salt_version}" + instances.append(kitchen_target) + + if instances: + needs.append(distro) + test_jobs += TEMPLATE.format( + distro=distro, + runs_on=runs_on, + uses=uses, + ifcheck=ifcheck, + instances=json.dumps(instances), + display_name=DISTRO_DISPLAY_NAMES[distro], + timeout_minutes=timeout_minutes, + ) + + test_jobs += "\n" + for distro in WINDOWS: + test_jobs += "\n" + runs_on = f"\n runs-on: {distro}" + ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" + uses = "./.github/workflows/test-windows.yml" + instances = [] + timeout_minutes = ( + TIMEOUT_OVERRIDES[distro] + if distro in TIMEOUT_OVERRIDES + else TIMEOUT_DEFAULT + ) + + for salt_version in SALT_VERSIONS: + + if salt_version == "latest": + + instances.append(salt_version) + continue + + for bootstrap_type in ("stable",): + if bootstrap_type == "stable": + if salt_version == "master": + # For the master branch there's no stable build + continue + + kitchen_target = f"{bootstrap_type}-{salt_version}" + instances.append(kitchen_target) + + if instances: + needs.append(distro) + test_jobs += TEMPLATE.format( + distro=distro, + runs_on=runs_on, + uses=uses, + ifcheck=ifcheck, + instances=json.dumps(instances), + display_name=DISTRO_DISPLAY_NAMES[distro], + timeout_minutes=timeout_minutes, + ) + + test_jobs += "\n" for distro in LINUX_DISTROS: test_jobs += "\n" runs_on = "" @@ -277,162 +433,6 @@ def generate_test_jobs(): timeout_minutes=timeout_minutes, ) - test_jobs += "\n" - for distro in WINDOWS: - test_jobs += "\n" - runs_on = f"\n runs-on: {distro}" - ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" - uses = "./.github/workflows/test-windows.yml" - instances = [] - timeout_minutes = ( - TIMEOUT_OVERRIDES[distro] - if distro in TIMEOUT_OVERRIDES - else TIMEOUT_DEFAULT - ) - - for salt_version in SALT_VERSIONS: - - if salt_version == "latest": - - instances.append(salt_version) - continue - - for bootstrap_type in ("stable",): - if bootstrap_type == "stable": - if salt_version == "master": - # For the master branch there's no stable build - continue - - kitchen_target = f"{bootstrap_type}-{salt_version}" - instances.append(kitchen_target) - - if instances: - needs.append(distro) - test_jobs += TEMPLATE.format( - distro=distro, - runs_on=runs_on, - uses=uses, - ifcheck=ifcheck, - instances=json.dumps(instances), - display_name=DISTRO_DISPLAY_NAMES[distro], - timeout_minutes=timeout_minutes, - ) - - test_jobs += "\n" - for distro in OSX: - test_jobs += "\n" - if distro == "macos-1015": - runs_on = "macos-10.15" - else: - runs_on = distro - runs_on = f"\n runs-on: {runs_on}" - ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" - uses = "./.github/workflows/test-macos.yml" - instances = [] - timeout_minutes = ( - TIMEOUT_OVERRIDES[distro] - if distro in TIMEOUT_OVERRIDES - else TIMEOUT_DEFAULT - ) - - for salt_version in SALT_VERSIONS: - - if salt_version == "latest": - - instances.append(salt_version) - continue - - for bootstrap_type in ("stable",): - if bootstrap_type == "stable": - if salt_version == "master": - # For the master branch there's no stable build - continue - - kitchen_target = f"{bootstrap_type}-{salt_version}" - instances.append(kitchen_target) - - if instances: - needs.append(distro) - test_jobs += TEMPLATE.format( - distro=distro, - runs_on=runs_on, - uses=uses, - ifcheck=ifcheck, - instances=json.dumps(instances), - display_name=DISTRO_DISPLAY_NAMES[distro], - timeout_minutes=timeout_minutes, - ) - - test_jobs += "\n" - for distro in BSD: - test_jobs += "\n" - runs_on = "macos-10.15" - runs_on = f"\n runs-on: {runs_on}" - ifcheck = "\n if: github.event_name == 'push' || needs.collect-changed-files.outputs.run-tests == 'true'" - uses = "./.github/workflows/test-bsd.yml" - instances = [] - timeout_minutes = ( - TIMEOUT_OVERRIDES[distro] - if distro in TIMEOUT_OVERRIDES - else TIMEOUT_DEFAULT - ) - for salt_version in SALT_VERSIONS: - - if salt_version == "latest": - if distro in LATEST_PKG_BLACKLIST: - continue - - instances.append(salt_version) - continue - - if distro == "openbsd-6": - # Only test latest on OpenBSD 6 - continue - - if salt_version != "master": - # Only test the master branch on BSD's - continue - - # BSD's don't have a stable release, only use git - for bootstrap_type in ("git",): - - BLACKLIST = { - "3003": BLACKLIST_3003, - "3004": BLACKLIST_3004, - } - if bootstrap_type == "git": - BLACKLIST = { - "3003": BLACKLIST_GIT_3003, - "3004": BLACKLIST_GIT_3004, - } - - # .0 versions are a virtual version for pinning to the first - # point release of a major release, such as 3003, - # there is no git version. - if salt_version.endswith("-0"): - continue - - if ( - salt_version in ("3003", "3004") - and distro in BLACKLIST[salt_version] - ): - continue - - kitchen_target = f"{bootstrap_type}-{salt_version}" - instances.append(kitchen_target) - - if instances: - needs.append(distro) - test_jobs += TEMPLATE.format( - distro=distro, - runs_on=runs_on, - uses=uses, - ifcheck=ifcheck, - instances=json.dumps(instances), - display_name=DISTRO_DISPLAY_NAMES[distro], - timeout_minutes=timeout_minutes, - ) - ci_src_workflow = pathlib.Path("ci.yml").resolve() ci_tail_src_workflow = pathlib.Path("ci-tail.yml").resolve() ci_dst_workflow = pathlib.Path("../ci.yml").resolve() From fe7283a5ff2f51509a9629340d76de4a18492158 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 12 Aug 2022 07:06:29 +0100 Subject: [PATCH 106/113] Cache vagrant images. Closes https://github.com/saltstack/salt-bootstrap/pull/1847 Signed-off-by: Pedro Algarvio --- .github/workflows/test-bsd.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/test-bsd.yml b/.github/workflows/test-bsd.yml index 5fbf2f5..a9667b2 100644 --- a/.github/workflows/test-bsd.yml +++ b/.github/workflows/test-bsd.yml @@ -29,6 +29,7 @@ on: description: The timeout(in minutes) for the workflow env: + VAGRANT_HOME: '${{ github.workspace }}/.vagrant.d' KITCHEN_LOCAL_YAML: 'kitchen.bsd.yml' jobs: @@ -50,6 +51,14 @@ jobs: ruby-version: 2.6.10 bundler-cache: true + - name: Setup Vagrant Cache + uses: actions/cache@v3 + with: + path: | + ${{ github.workspace }}/.kitchen + ${{ github.workspace }}/.vagrant.d/ + key: "${{ runner.os }}|vagrant|${{ inputs.distro-slug }}|${{ hashFiles('**/Gemfile', '**/ci.yml', '**/test-*.yml') }}" + - name: Set up Python 3.9 uses: actions/setup-python@v4 with: From 60e28fe66da47f7eff1ab647209460778eac648b Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 11 Aug 2022 16:26:40 +0100 Subject: [PATCH 107/113] It's always python 3 Signed-off-by: Pedro Algarvio --- tests/conftest.py | 12 +++++------- tests/integration/test_installation.py | 3 --- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index e718201..5e9429d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -9,7 +9,10 @@ log = logging.getLogger(__name__) @pytest.fixture(scope="session") def host(): - if os.environ.get("RUNNER_OS", "") == "macOS" and os.environ.get("KITCHEN_LOCAL_YAML", "") == "kitchen.macos.yml": + if ( + os.environ.get("RUNNER_OS", "") == "macOS" + and os.environ.get("KITCHEN_LOCAL_YAML", "") == "kitchen.macos.yml" + ): # Adjust the `PATH` so that the `salt-call` executable can be found os.environ["PATH"] = "/opt/salt/bin{}{}".format(os.pathsep, os.environ["PATH"]) return testinfra.get_host("local://", sudo=True) @@ -37,12 +40,7 @@ def host(): @pytest.fixture(scope="session") def target_python_version(): - target_python = os.environ["KITCHEN_SUITE"].split("-", 1)[0] - if target_python == "latest": - pytest.skip( - "Unable to get target python from {}".format(os.environ["KITCHEN_SUITE"]) - ) - return int(target_python.replace("py", "")) + return 3 @pytest.fixture(scope="session") diff --git a/tests/integration/test_installation.py b/tests/integration/test_installation.py index 30bc087..aacc7de 100644 --- a/tests/integration/test_installation.py +++ b/tests/integration/test_installation.py @@ -1,9 +1,6 @@ # -*- coding: utf-8 -*- -import json import os -import pytest import logging -import pprint from contextlib import nullcontext log = logging.getLogger(__name__) From b35fe054d7a60c91655af4135dd872dbf8bc7e3d Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 12 Aug 2022 08:14:03 +0100 Subject: [PATCH 108/113] A more static cache key Signed-off-by: Pedro Algarvio --- .github/workflows/test-bsd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-bsd.yml b/.github/workflows/test-bsd.yml index a9667b2..62fcfa5 100644 --- a/.github/workflows/test-bsd.yml +++ b/.github/workflows/test-bsd.yml @@ -57,7 +57,7 @@ jobs: path: | ${{ github.workspace }}/.kitchen ${{ github.workspace }}/.vagrant.d/ - key: "${{ runner.os }}|vagrant|${{ inputs.distro-slug }}|${{ hashFiles('**/Gemfile', '**/ci.yml', '**/test-*.yml') }}" + key: "${{ runner.os }}|vagrant|${{ inputs.distro-slug }}|${{ hashFiles('Gemfile', '.github/workflows/test-bsd.yml', 'kitchen.bsd.yml') }}" - name: Set up Python 3.9 uses: actions/setup-python@v4 From a2c2306402eae0ff000cc904019eadcbaf551e96 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 12 Aug 2022 09:06:06 +0100 Subject: [PATCH 109/113] Changes in the release workflow should not trigger a full CI pipeline run Signed-off-by: Pedro Algarvio --- .github/workflows/ci.yml | 2 ++ .github/workflows/templates/ci.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4445572..9171cbd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,6 +31,8 @@ jobs: kitchen*.yml tests/** .github/workflows/** + files-ignore: | + .github/workflows/release.yml - name: Set Job Output id: set-output diff --git a/.github/workflows/templates/ci.yml b/.github/workflows/templates/ci.yml index b179842..e8d12d9 100644 --- a/.github/workflows/templates/ci.yml +++ b/.github/workflows/templates/ci.yml @@ -31,6 +31,8 @@ jobs: kitchen*.yml tests/** .github/workflows/** + files-ignore: | + .github/workflows/release.yml - name: Set Job Output id: set-output From 2fcde04ddd5c82e915e2a181841c46bbb5601963 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 12 Aug 2022 09:22:24 +0100 Subject: [PATCH 110/113] Fix the release workflow and attach it to a GH environment to further protect secrets Signed-off-by: Pedro Algarvio --- .github/workflows/checksums.yml.bak | 35 ----------------- .github/workflows/release.yml | 59 ++++++++++++++++++++++++----- 2 files changed, 50 insertions(+), 44 deletions(-) delete mode 100644 .github/workflows/checksums.yml.bak diff --git a/.github/workflows/checksums.yml.bak b/.github/workflows/checksums.yml.bak deleted file mode 100644 index b03fde4..0000000 --- a/.github/workflows/checksums.yml.bak +++ /dev/null @@ -1,35 +0,0 @@ -name: Checksums - -on: - push: - branches: - - stable - -jobs: - checksums: - name: Update Scripts Checksums - runs-on: ubuntu-latest - if: github.repository == 'saltstack/salt-bootstrap' - - steps: - - uses: actions/checkout@v2 - with: - ref: stable - - - name: Get bootstrap-salt.sh sha256sum - run: | - echo "SH=$(sha256sum bootstrap-salt.sh | awk '{ print $1 }')" >> $GITHUB_ENV - echo "PS1=$(sha256sum bootstrap-salt.ps1 | awk '{ print $1 }')" >> $GITHUB_ENV - echo "BS_VERSION=$(sh bootstrap-salt.sh -v | awk '{ print $4 }')" >> $GITHUB_ENV - - - name: Update Checksums - run: | - echo ${{ env.SH }} > bootstrap-salt.sh.sha256 - echo ${{ env.PS1 }} > bootstrap-salt.ps1.sha256 - - - name: Create Pull Request Against Master - uses: peter-evans/create-pull-request@v3 - with: - title: Update sha256 checksums - commit-message: Update sha256 checksums - delete-branch: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bef7a18..6a94b0a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,6 +9,7 @@ jobs: if: github.repository == 'saltstack/salt-bootstrap' permissions: contents: write # To be able to publish the release + environment: Release steps: - name: Check For Admin Permission uses: actions-cool/check-user-permission@v2 @@ -23,10 +24,12 @@ jobs: echo "This workflow should only be triggered from the develop branch" exit 1 fi + - uses: actions/checkout@v3 with: ref: develop repository: ${{ github.repository }} + ssh-key: ${{ secrets.SALT_BOOTSTRAP_RELEASE_KEY }} - name: Update Git Settings run: | @@ -64,8 +67,8 @@ jobs: - name: Push Changes uses: ad-m/github-push-action@master with: - github_token: ${{ secrets.GITHUB_TOKEN }} branch: develop + ssh: true - name: Upload Release Details uses: actions/upload-artifact@v3 @@ -80,6 +83,7 @@ jobs: runs-on: ubuntu-latest if: github.repository == 'saltstack/salt-bootstrap' needs: update-develop + environment: Release permissions: contents: write # To be able to publish the release steps: @@ -87,6 +91,7 @@ jobs: with: ref: stable repository: ${{ github.repository }} + ssh-key: ${{ secrets.SALT_BOOTSTRAP_RELEASE_KEY }} fetch-depth: 0 - name: Update Git Settings @@ -129,15 +134,16 @@ jobs: - name: Push Changes uses: ad-m/github-push-action@master with: - github_token: ${{ secrets.GITHUB_TOKEN }} branch: stable tags: true + ssh: true publish-release: name: Create GitHub Release runs-on: ubuntu-latest if: github.repository == 'saltstack/salt-bootstrap' needs: merge-develop-into-stable + environment: Release permissions: contents: write # To be able to publish the release steps: @@ -145,6 +151,7 @@ jobs: with: ref: stable repository: ${{ github.repository }} + ssh-key: ${{ secrets.SALT_BOOTSTRAP_RELEASE_KEY }} - name: Download Release Details uses: actions/download-artifact@v3 with: @@ -162,6 +169,7 @@ jobs: tag_name: ${{ env.CUT_RELEASE_VERSION }} body_path: .cut_release_changes target_commitish: stable + draft: false prerelease: false generate_release_notes: false files: | @@ -169,11 +177,18 @@ jobs: bootstrap-salt.ps1 LICENSE + - name: Delete Release Details Artifact + uses: geekyeggo/delete-artifact@v1 + with: + name: release-details + failOnError: false + update-develop-checksums: name: Update Release Checksums on Develop runs-on: ubuntu-latest if: github.repository == 'saltstack/salt-bootstrap' needs: publish-release + environment: Release permissions: contents: write # For action peter-evans/create-pull-request pull-requests: write # For action peter-evans/create-pull-request @@ -183,8 +198,9 @@ jobs: with: ref: stable repository: ${{ github.repository }} + ssh-key: ${{ secrets.SALT_BOOTSTRAP_RELEASE_KEY }} - - name: Get bootstrap-salt.sh sha256sum + - name: Get bootstrap-salt.sh on stable branch sha256sum run: | echo "SH=$(sha256sum bootstrap-salt.sh | awk '{ print $1 }')" >> $GITHUB_ENV echo "BS_VERSION=$(sh bootstrap-salt.sh -v | awk '{ print $4 }')" >> $GITHUB_ENV @@ -193,6 +209,12 @@ jobs: with: ref: develop repository: ${{ github.repository }} + ssh-key: ${{ secrets.SALT_BOOTSTRAP_RELEASE_KEY }} + + - name: Update Git Settings + run: | + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot] on behalf of @${{ github.event.sender.login }}" - name: Set up Python 3.7 uses: actions/setup-python@v4 @@ -203,18 +225,29 @@ jobs: run: | python3 .github/workflows/scripts/update-release-shasum.py ${{ env.BS_VERSION }} ${{ env.SH }} - - name: Create Pull Request Against Develop - uses: peter-evans/create-pull-request@v4 + - name: Show Changes + run: | + git status + git diff + + - name: Commit Changes + run: | + git commit -am "Update README.rst with ${{ env.BS_VERSION }} release sha256sum" || \ + git commit -am "Update README.rst with ${{ env.BS_VERSION }} release sha256sum" + + - name: Push Changes + uses: ad-m/github-push-action@master with: - title: Update README.rst with ${{ env.BS_VERSION }} release sha256sum - commit-message: Update README.rst with ${{ env.BS_VERSION }} release sha256sum - delete-branch: true + branch: develop + ssh: true + salt: name: Update Release on Salt Repo runs-on: ubuntu-latest if: github.repository == 'saltstack/salt-bootstrap' needs: update-develop-checksums + environment: Open PR Against Salt permissions: contents: write # For action peter-evans/create-pull-request pull-requests: write # For action peter-evans/create-pull-request @@ -234,6 +267,12 @@ jobs: repository: saltstack/salt ref: master path: salt-checkout + token: ${{ secrets.SALT_REPO_WRITE_TOKEN }} + + - name: Update Git Settings + run: | + git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" + git config --local user.name "github-actions[bot] on behalf of @${{ github.event.sender.login }}" - name: Update bootstrap script on Salt run: | @@ -242,7 +281,9 @@ jobs: - name: Create Pull Request Against Develop uses: peter-evans/create-pull-request@v4 with: - title: "[DO NOT MERGE] Update the bootstrap script to v${{ env.BS_VERSION }}" + title: "Update the bootstrap script to v${{ env.BS_VERSION }}" path: salt-checkout + base: master + token: ${{ secrets.SALT_REPO_WRITE_TOKEN }} commit-message: Update the bootstrap script to v${{ env.BS_VERSION }} delete-branch: true From 0e9fb4f5c16713f0b748444ac19257089374f79f Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 12 Aug 2022 12:35:56 +0100 Subject: [PATCH 111/113] Fix parameter name for the changed files action Signed-off-by: Pedro Algarvio --- .github/workflows/ci.yml | 2 +- .github/workflows/templates/ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9171cbd..a2f2df5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: kitchen*.yml tests/** .github/workflows/** - files-ignore: | + files_ignore: | .github/workflows/release.yml - name: Set Job Output diff --git a/.github/workflows/templates/ci.yml b/.github/workflows/templates/ci.yml index e8d12d9..1982b9f 100644 --- a/.github/workflows/templates/ci.yml +++ b/.github/workflows/templates/ci.yml @@ -31,7 +31,7 @@ jobs: kitchen*.yml tests/** .github/workflows/** - files-ignore: | + files_ignore: | .github/workflows/release.yml - name: Set Job Output From 184d1bd219fbb69eabc2d2bb482a4be1ddaebd9a Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Fri, 12 Aug 2022 13:14:20 +0100 Subject: [PATCH 112/113] Specify the repository Signed-off-by: Pedro Algarvio --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6a94b0a..1f5a6d0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -67,6 +67,7 @@ jobs: - name: Push Changes uses: ad-m/github-push-action@master with: + repository: ${{ github.repository }} branch: develop ssh: true @@ -134,6 +135,7 @@ jobs: - name: Push Changes uses: ad-m/github-push-action@master with: + repository: ${{ github.repository }} branch: stable tags: true ssh: true @@ -238,6 +240,7 @@ jobs: - name: Push Changes uses: ad-m/github-push-action@master with: + repository: ${{ github.repository }} branch: develop ssh: true From 9d2181138d45db6a2b982a35f3ed7d9ef5791fb6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot] on behalf of s0undt3ch" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 12 Aug 2022 12:42:49 +0000 Subject: [PATCH 113/113] Update develop branch for the v2022.08.12 release --- CHANGELOG.md | 21 +++++++++++++++++++++ bootstrap-salt.sh | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba57aad..bc0fabe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,24 @@ +# v2022.08.12 + +## What's Changed + +- Update README.rst with 2022.05.19 release sha256sum by @github-actions in https://github.com/saltstack/salt-bootstrap/pull/1832 +- ci(eol): remove `fedora-34` and `3002` by @myii in https://github.com/saltstack/salt-bootstrap/pull/1835 +- ci(freebsd): replace `13.0` with newly released `13.1` box by @myii in https://github.com/saltstack/salt-bootstrap/pull/1836 +- feat: add support and update CI for openSUSE Leap 15.4 by @myii in https://github.com/saltstack/salt-bootstrap/pull/1837 +- Rename to py39-salt, Python 3.9 is default version on FreeBSD by @krionbsd in https://github.com/saltstack/salt-bootstrap/pull/1842 +- Adding bits to install Salt packages built using Tiamat. by @garethgreenaway in https://github.com/saltstack/salt-bootstrap/pull/1819 +- replace all references of tiamat to onedir by @garethgreenaway in https://github.com/saltstack/salt-bootstrap/pull/1845 +- use SHA-256 key for Red Hat / CentOS relesaes 9 and over. by @garethgreenaway in https://github.com/saltstack/salt-bootstrap/pull/1846 +- Add version for Salt version 3005. by @garethgreenaway in https://github.com/saltstack/salt-bootstrap/pull/1848 +- Automate the release process by @s0undt3ch in https://github.com/saltstack/salt-bootstrap/pull/1849 +- Tighten Release Workflow Permissions & Rework the CI Workflow by @s0undt3ch in https://github.com/saltstack/salt-bootstrap/pull/1850 +- Fix Release Workflow by @s0undt3ch in https://github.com/saltstack/salt-bootstrap/pull/1852 +- Fix parameter name for the changed files action by @s0undt3ch in https://github.com/saltstack/salt-bootstrap/pull/1853 +- Specify the repository by @s0undt3ch in https://github.com/saltstack/salt-bootstrap/pull/1854 + +**Full Changelog**: https://github.com/saltstack/salt-bootstrap/compare/v2022.05.19...v2022.08.12 + # v2022.05.19: - Fix situations where the registry key for root_dir does not exist diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index 8deea36..7537a09 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -23,7 +23,7 @@ #====================================================================================================================== set -o nounset # Treat unset variables as an error -__ScriptVersion="2022.05.19" +__ScriptVersion="2022.08.12" __ScriptName="bootstrap-salt.sh" __ScriptFullName="$0"