diff --git a/.github/.workflows/main.yml b/.github/.workflows/main.yml new file mode 100644 index 0000000..ed6b914 --- /dev/null +++ b/.github/.workflows/main.yml @@ -0,0 +1,4094 @@ +# DO NOT EDIT THIS FILE DIRECTLY! +# +# This file was generated by .github/workflows/templates/generate.py + +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 checkstyle bootstrap-salt.sh + + + py2-stable-2019-2-amazon-2: + name: Amazon 2 v2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-amazon-2 || bundle exec kitchen create py2-stable-2019-2-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-amazon-2 + + + py2-git-2019-2-amazon-2: + name: Amazon 2 v2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-amazon-2 || bundle exec kitchen create py2-git-2019-2-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-amazon-2 + + + py3-stable-2019-2-amazon-2: + name: Amazon 2 v2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-amazon-2 || bundle exec kitchen create py3-stable-2019-2-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-amazon-2 + + + py3-git-2019-2-amazon-2: + name: Amazon 2 v2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-amazon-2 || bundle exec kitchen create py3-git-2019-2-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-amazon-2 + + + py2-git-3000-amazon-2: + name: Amazon 2 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-amazon-2 || bundle exec kitchen create py2-git-3000-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-amazon-2 + + + py3-git-3000-amazon-2: + name: Amazon 2 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-amazon-2 || bundle exec kitchen create py3-git-3000-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-amazon-2 + + + latest-amazon-2: + name: Amazon 2 Latest packaged release + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-amazon-2 || bundle exec kitchen create latest-amazon-2 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-amazon-2 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-amazon-2 + + + py2-git-2018-3-arch: + name: Arch v2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-arch || bundle exec kitchen create py2-git-2018-3-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-arch + + + py3-git-2018-3-arch: + name: Arch v2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-arch || bundle exec kitchen create py3-git-2018-3-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-arch + + + py2-git-2019-2-arch: + name: Arch v2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-arch || bundle exec kitchen create py2-git-2019-2-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-arch + + + py3-git-2019-2-arch: + name: Arch v2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-arch || bundle exec kitchen create py3-git-2019-2-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-arch + + + py2-git-3000-arch: + name: Arch v3000 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-arch || bundle exec kitchen create py2-git-3000-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-arch + + + py3-git-3000-arch: + name: Arch v3000 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-arch || bundle exec kitchen create py3-git-3000-arch + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-arch + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-arch + + + py2-stable-2018-3-centos-6: + name: CentOS 6 v2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-centos-6 || bundle exec kitchen create py2-stable-2018-3-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-centos-6 + + + py2-git-2018-3-centos-6: + name: CentOS 6 v2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-centos-6 || bundle exec kitchen create py2-git-2018-3-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-centos-6 + + + py2-stable-2019-2-centos-6: + name: CentOS 6 v2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-centos-6 || bundle exec kitchen create py2-stable-2019-2-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-centos-6 + + + py2-git-2019-2-centos-6: + name: CentOS 6 v2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-centos-6 || bundle exec kitchen create py2-git-2019-2-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-centos-6 + + + py2-git-3000-centos-6: + name: CentOS 6 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-centos-6 || bundle exec kitchen create py2-git-3000-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-centos-6 + + + latest-centos-6: + name: CentOS 6 Latest packaged release + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-centos-6 || bundle exec kitchen create latest-centos-6 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-centos-6 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-centos-6 + + + py2-stable-2018-3-centos-7: + name: CentOS 7 v2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-centos-7 || bundle exec kitchen create py2-stable-2018-3-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-centos-7 + + + py2-git-2018-3-centos-7: + name: CentOS 7 v2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-centos-7 || bundle exec kitchen create py2-git-2018-3-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-centos-7 + + + py3-stable-2018-3-centos-7: + name: CentOS 7 v2018.3 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2018-3-centos-7 || bundle exec kitchen create py3-stable-2018-3-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2018-3-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2018-3-centos-7 + + + py3-git-2018-3-centos-7: + name: CentOS 7 v2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-centos-7 || bundle exec kitchen create py3-git-2018-3-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-centos-7 + + + py2-stable-2019-2-centos-7: + name: CentOS 7 v2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-centos-7 || bundle exec kitchen create py2-stable-2019-2-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-centos-7 + + + py2-git-2019-2-centos-7: + name: CentOS 7 v2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-centos-7 || bundle exec kitchen create py2-git-2019-2-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-centos-7 + + + py3-stable-2019-2-centos-7: + name: CentOS 7 v2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-centos-7 || bundle exec kitchen create py3-stable-2019-2-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-centos-7 + + + py3-git-2019-2-centos-7: + name: CentOS 7 v2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-centos-7 || bundle exec kitchen create py3-git-2019-2-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-centos-7 + + + py2-git-3000-centos-7: + name: CentOS 7 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-centos-7 || bundle exec kitchen create py2-git-3000-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-centos-7 + + + py3-git-3000-centos-7: + name: CentOS 7 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-centos-7 || bundle exec kitchen create py3-git-3000-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-centos-7 + + + latest-centos-7: + name: CentOS 7 Latest packaged release + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-centos-7 || bundle exec kitchen create latest-centos-7 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-centos-7 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-centos-7 + + + py3-stable-2019-2-centos-8: + name: CentOS 8 v2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-centos-8 || bundle exec kitchen create py3-stable-2019-2-centos-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-centos-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-centos-8 + + + py3-git-2019-2-centos-8: + name: CentOS 8 v2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-centos-8 || bundle exec kitchen create py3-git-2019-2-centos-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-centos-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-centos-8 + + + py3-git-3000-centos-8: + name: CentOS 8 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-centos-8 || bundle exec kitchen create py3-git-3000-centos-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-centos-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-centos-8 + + + py3-stable-2019-2-debian-10: + name: Debian 10 v2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-debian-10 || bundle exec kitchen create py3-stable-2019-2-debian-10 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-debian-10 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-debian-10 + + + py3-git-2019-2-debian-10: + name: Debian 10 v2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-debian-10 || bundle exec kitchen create py3-git-2019-2-debian-10 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-debian-10 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-debian-10 + + + py3-git-3000-debian-10: + name: Debian 10 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-debian-10 || bundle exec kitchen create py3-git-3000-debian-10 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-debian-10 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-debian-10 + + + py2-stable-2018-3-debian-8: + name: Debian 8 v2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-debian-8 || bundle exec kitchen create py2-stable-2018-3-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-debian-8 + + + py2-git-2018-3-debian-8: + name: Debian 8 v2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-debian-8 || bundle exec kitchen create py2-git-2018-3-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-debian-8 + + + py2-stable-2019-2-debian-8: + name: Debian 8 v2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-debian-8 || bundle exec kitchen create py2-stable-2019-2-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-debian-8 + + + py2-git-2019-2-debian-8: + name: Debian 8 v2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-debian-8 || bundle exec kitchen create py2-git-2019-2-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-debian-8 + + + py2-git-3000-debian-8: + name: Debian 8 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-debian-8 || bundle exec kitchen create py2-git-3000-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-debian-8 + + + latest-debian-8: + name: Debian 8 Latest packaged release + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-debian-8 || bundle exec kitchen create latest-debian-8 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-debian-8 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-debian-8 + + + py2-stable-2018-3-debian-9: + name: Debian 9 v2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-debian-9 || bundle exec kitchen create py2-stable-2018-3-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-debian-9 + + + py2-git-2018-3-debian-9: + name: Debian 9 v2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-debian-9 || bundle exec kitchen create py2-git-2018-3-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-debian-9 + + + py3-stable-2018-3-debian-9: + name: Debian 9 v2018.3 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2018-3-debian-9 || bundle exec kitchen create py3-stable-2018-3-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2018-3-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2018-3-debian-9 + + + py3-git-2018-3-debian-9: + name: Debian 9 v2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-debian-9 || bundle exec kitchen create py3-git-2018-3-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-debian-9 + + + py2-stable-2019-2-debian-9: + name: Debian 9 v2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-debian-9 || bundle exec kitchen create py2-stable-2019-2-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-debian-9 + + + py2-git-2019-2-debian-9: + name: Debian 9 v2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-debian-9 || bundle exec kitchen create py2-git-2019-2-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-debian-9 + + + py3-stable-2019-2-debian-9: + name: Debian 9 v2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-debian-9 || bundle exec kitchen create py3-stable-2019-2-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-debian-9 + + + py3-git-2019-2-debian-9: + name: Debian 9 v2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-debian-9 || bundle exec kitchen create py3-git-2019-2-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-debian-9 + + + py2-git-3000-debian-9: + name: Debian 9 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-debian-9 || bundle exec kitchen create py2-git-3000-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-debian-9 + + + py3-git-3000-debian-9: + name: Debian 9 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-debian-9 || bundle exec kitchen create py3-git-3000-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-debian-9 + + + latest-debian-9: + name: Debian 9 Latest packaged release + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-debian-9 || bundle exec kitchen create latest-debian-9 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-debian-9 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-debian-9 + + + py2-stable-2018-3-fedora-30: + name: Fedora 30 v2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-fedora-30 || bundle exec kitchen create py2-stable-2018-3-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-fedora-30 + + + py2-git-2018-3-fedora-30: + name: Fedora 30 v2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-fedora-30 || bundle exec kitchen create py2-git-2018-3-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-fedora-30 + + + py3-stable-2018-3-fedora-30: + name: Fedora 30 v2018.3 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2018-3-fedora-30 || bundle exec kitchen create py3-stable-2018-3-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2018-3-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2018-3-fedora-30 + + + py3-git-2018-3-fedora-30: + name: Fedora 30 v2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-fedora-30 || bundle exec kitchen create py3-git-2018-3-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-fedora-30 + + + py2-stable-2019-2-fedora-30: + name: Fedora 30 v2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-fedora-30 || bundle exec kitchen create py2-stable-2019-2-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-fedora-30 + + + py2-git-2019-2-fedora-30: + name: Fedora 30 v2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-fedora-30 || bundle exec kitchen create py2-git-2019-2-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-fedora-30 + + + py3-stable-2019-2-fedora-30: + name: Fedora 30 v2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-fedora-30 || bundle exec kitchen create py3-stable-2019-2-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-fedora-30 + + + py3-git-2019-2-fedora-30: + name: Fedora 30 v2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-fedora-30 || bundle exec kitchen create py3-git-2019-2-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-fedora-30 + + + py2-git-3000-fedora-30: + name: Fedora 30 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-fedora-30 || bundle exec kitchen create py2-git-3000-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-fedora-30 + + + py3-git-3000-fedora-30: + name: Fedora 30 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-fedora-30 || bundle exec kitchen create py3-git-3000-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-fedora-30 + + + latest-fedora-30: + name: Fedora 30 Latest packaged release + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-fedora-30 || bundle exec kitchen create latest-fedora-30 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-fedora-30 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-fedora-30 + + + py2-git-2018-3-opensuse-15: + name: Opensuse 15 v2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-opensuse-15 || bundle exec kitchen create py2-git-2018-3-opensuse-15 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-opensuse-15 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-opensuse-15 + + + py2-git-2019-2-opensuse-15: + name: Opensuse 15 v2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-opensuse-15 || bundle exec kitchen create py2-git-2019-2-opensuse-15 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-opensuse-15 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-opensuse-15 + + + py2-git-3000-opensuse-15: + name: Opensuse 15 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-opensuse-15 || bundle exec kitchen create py2-git-3000-opensuse-15 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-opensuse-15 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-opensuse-15 + + + latest-opensuse-15: + name: Opensuse 15 Latest packaged release + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-opensuse-15 || bundle exec kitchen create latest-opensuse-15 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-opensuse-15 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-opensuse-15 + + + py2-stable-2018-3-ubuntu-1604: + name: Ubuntu 16.04 v2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-ubuntu-1604 || bundle exec kitchen create py2-stable-2018-3-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-ubuntu-1604 + + + py2-git-2018-3-ubuntu-1604: + name: Ubuntu 16.04 v2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-ubuntu-1604 || bundle exec kitchen create py2-git-2018-3-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-ubuntu-1604 + + + py3-stable-2018-3-ubuntu-1604: + name: Ubuntu 16.04 v2018.3 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2018-3-ubuntu-1604 || bundle exec kitchen create py3-stable-2018-3-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2018-3-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2018-3-ubuntu-1604 + + + py3-git-2018-3-ubuntu-1604: + name: Ubuntu 16.04 v2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-ubuntu-1604 || bundle exec kitchen create py3-git-2018-3-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-ubuntu-1604 + + + py2-stable-2019-2-ubuntu-1604: + name: Ubuntu 16.04 v2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-ubuntu-1604 || bundle exec kitchen create py2-stable-2019-2-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-ubuntu-1604 + + + py2-git-2019-2-ubuntu-1604: + name: Ubuntu 16.04 v2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-ubuntu-1604 || bundle exec kitchen create py2-git-2019-2-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-ubuntu-1604 + + + py3-stable-2019-2-ubuntu-1604: + name: Ubuntu 16.04 v2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-ubuntu-1604 || bundle exec kitchen create py3-stable-2019-2-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-ubuntu-1604 + + + py3-git-2019-2-ubuntu-1604: + name: Ubuntu 16.04 v2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-ubuntu-1604 || bundle exec kitchen create py3-git-2019-2-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-ubuntu-1604 + + + py2-git-3000-ubuntu-1604: + name: Ubuntu 16.04 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-ubuntu-1604 || bundle exec kitchen create py2-git-3000-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-ubuntu-1604 + + + py3-git-3000-ubuntu-1604: + name: Ubuntu 16.04 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-ubuntu-1604 || bundle exec kitchen create py3-git-3000-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-ubuntu-1604 + + + latest-ubuntu-1604: + name: Ubuntu 16.04 Latest packaged release + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-ubuntu-1604 || bundle exec kitchen create latest-ubuntu-1604 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-ubuntu-1604 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-ubuntu-1604 + + + py2-stable-2018-3-ubuntu-1804: + name: Ubuntu 18.04 v2018.3 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2018-3-ubuntu-1804 || bundle exec kitchen create py2-stable-2018-3-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2018-3-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2018-3-ubuntu-1804 + + + py2-git-2018-3-ubuntu-1804: + name: Ubuntu 18.04 v2018.3 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2018-3-ubuntu-1804 || bundle exec kitchen create py2-git-2018-3-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2018-3-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2018-3-ubuntu-1804 + + + py3-stable-2018-3-ubuntu-1804: + name: Ubuntu 18.04 v2018.3 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2018-3-ubuntu-1804 || bundle exec kitchen create py3-stable-2018-3-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2018-3-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2018-3-ubuntu-1804 + + + py3-git-2018-3-ubuntu-1804: + name: Ubuntu 18.04 v2018.3 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2018-3-ubuntu-1804 || bundle exec kitchen create py3-git-2018-3-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2018-3-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2018-3-ubuntu-1804 + + + py2-stable-2019-2-ubuntu-1804: + name: Ubuntu 18.04 v2019.2 Py2 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-stable-2019-2-ubuntu-1804 || bundle exec kitchen create py2-stable-2019-2-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-stable-2019-2-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-stable-2019-2-ubuntu-1804 + + + py2-git-2019-2-ubuntu-1804: + name: Ubuntu 18.04 v2019.2 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-2019-2-ubuntu-1804 || bundle exec kitchen create py2-git-2019-2-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-2019-2-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-2019-2-ubuntu-1804 + + + py3-stable-2019-2-ubuntu-1804: + name: Ubuntu 18.04 v2019.2 Py3 Stable + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-stable-2019-2-ubuntu-1804 || bundle exec kitchen create py3-stable-2019-2-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-stable-2019-2-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-stable-2019-2-ubuntu-1804 + + + py3-git-2019-2-ubuntu-1804: + name: Ubuntu 18.04 v2019.2 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-2019-2-ubuntu-1804 || bundle exec kitchen create py3-git-2019-2-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-2019-2-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-2019-2-ubuntu-1804 + + + py2-git-3000-ubuntu-1804: + name: Ubuntu 18.04 v3000 Py2 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py2-git-3000-ubuntu-1804 || bundle exec kitchen create py2-git-3000-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py2-git-3000-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py2-git-3000-ubuntu-1804 + + + py3-git-3000-ubuntu-1804: + name: Ubuntu 18.04 v3000 Py3 Git + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create py3-git-3000-ubuntu-1804 || bundle exec kitchen create py3-git-3000-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify py3-git-3000-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy py3-git-3000-ubuntu-1804 + + + latest-ubuntu-1804: + name: Ubuntu 18.04 Latest packaged release + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create latest-ubuntu-1804 || bundle exec kitchen create latest-ubuntu-1804 + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify latest-ubuntu-1804 + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy latest-ubuntu-1804 diff --git a/.github/.workflows/templates/generate.py b/.github/.workflows/templates/generate.py new file mode 100755 index 0000000..a912db8 --- /dev/null +++ b/.github/.workflows/templates/generate.py @@ -0,0 +1,198 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import os +import datetime + +os.chdir(os.path.abspath(os.path.dirname(__file__))) + +LINUX_DISTROS = [ +# 'amazon-1', + 'amazon-2', + 'arch', + 'centos-6', + 'centos-7', + 'centos-8', + 'debian-10', + 'debian-8', + 'debian-9', + 'fedora-30', + #'fedora-31', + 'opensuse-15', + 'ubuntu-1604', + 'ubuntu-1804' +] +OSX = WINDOWS = [] + +STABLE_DISTROS = [ + 'amazon-1', + 'amazon-2', + 'centos-6', + 'centos-7', + 'centos-8', + 'debian-10', + 'debian-8', + 'debian-9', + 'fedora-30', + 'fedora-31', + 'ubuntu-1604', + 'ubuntu-1804', +] + +PY2_BLACKLIST = [ + 'centos-8', + 'debian-10', + 'fedora-31', +] + +PY3_BLACKLIST = [ + 'amazon-1', + 'centos-6', + 'debian-8', + 'opensuse-15' +] + +BLACKLIST_2018 = [ + 'amazon-2', + 'centos-8', + 'debian-10', +] + +SALT_BRANCHES = [ + '2018-3', + '2019-2', + '3000', + 'latest' +] + +BRANCH_DISPLAY_NAMES = { + '2018-3': 'v2018.3', + '2019-2': 'v2019.2', + '3000': 'v3000', + 'latest': 'Latest' +} + +STABLE_BRANCH_BLACKLIST = [ + '3000' +] + +LATEST_PKG_BLACKLIST = [ + 'arch', # No packages are built + 'centos-8', # Once Neon is out, this can be removed from here + 'debian-10' # Once Neon is out, this can be removed from here +] + +DISTRO_DISPLAY_NAMES = { + 'amazon-1': 'Amazon 1', + 'amazon-2': 'Amazon 2', + 'arch': 'Arch', + 'centos-6': 'CentOS 6', + 'centos-7': 'CentOS 7', + 'centos-8': 'CentOS 8', + 'debian-10': 'Debian 10', + 'debian-8': 'Debian 8', + 'debian-9': 'Debian 9', + 'fedora-30': 'Fedora 30', + 'fedora-31': 'Fedora 31', + 'opensuse-15': 'Opensuse 15', + 'ubuntu-1604': 'Ubuntu 16.04', + 'ubuntu-1804': 'Ubuntu 18.04' +} + + +def generate_test_jobs(): + test_jobs = '' + + for distro in LINUX_DISTROS + OSX + WINDOWS: + for branch in SALT_BRANCHES: + if branch == '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: + test_jobs += '\n{}\n'.format( + rfh.read().replace( + '{python_version}-{bootstrap_type}-{branch}-{distro}', + '{branch}-{distro}' + ).format( + distro=distro, + branch=branch, + display_name='{} Latest packaged release'.format( + DISTRO_DISPLAY_NAMES[distro], + ) + ) + ) + continue + + for python_version in ('py2', 'py3'): + for bootstrap_type in ('stable', 'git'): + if bootstrap_type == 'stable' and distro not in STABLE_DISTROS: + continue + + if bootstrap_type == 'stable' and branch in STABLE_BRANCH_BLACKLIST: + continue + + if branch == '2018-3' and distro in BLACKLIST_2018: + continue + + if python_version == 'py2' and distro in PY2_BLACKLIST: + continue + + if python_version == 'py3' and distro in PY3_BLACKLIST: + continue + + if distro in LINUX_DISTROS: + template = 'linux.yml' + elif distro in OSX: + template = 'osx.yml' + elif distro in WINDOWS: + template = 'windows.yml' + else: + print("Don't know how to handle {}".format(distro)) + + with open(template) as rfh: + test_jobs += '\n{}\n'.format( + rfh.read().format( + distro=distro, + branch=branch, + python_version=python_version, + bootstrap_type=bootstrap_type, + display_name='{} {} {} {}'.format( + DISTRO_DISPLAY_NAMES[distro], + BRANCH_DISPLAY_NAMES[branch], + python_version.capitalize(), + bootstrap_type.capitalize() + ) + ) + ) + + with open('lint.yml') as rfh: + lint_job = '\n{}\n'.format(rfh.read()) + + with open('pre-commit.yml') as rfh: + pre_commit_job = '\n{}\n'.format(rfh.read()) + + with open('../main.yml', 'w') as wfh: + with open('main.yml') as rfh: + wfh.write( + '{}\n'.format( + rfh.read().format( + jobs='{pre_commit}{lint}{test}'.format( + lint=lint_job, + test=test_jobs, + pre_commit=pre_commit_job, + ) + ).strip() + ) + ) + + +if __name__ == '__main__': + generate_test_jobs() diff --git a/.github/.workflows/templates/lint.yml b/.github/.workflows/templates/lint.yml new file mode 100644 index 0000000..204056c --- /dev/null +++ b/.github/.workflows/templates/lint.yml @@ -0,0 +1,12 @@ + 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 checkstyle bootstrap-salt.sh diff --git a/.github/.workflows/templates/linux.yml b/.github/.workflows/templates/linux.yml new file mode 100644 index 0000000..ae066bf --- /dev/null +++ b/.github/.workflows/templates/linux.yml @@ -0,0 +1,43 @@ + {python_version}-{bootstrap_type}-{branch}-{distro}: + name: {display_name} + runs-on: ubuntu-latest + + needs: lint + + steps: + - uses: actions/checkout@v1 + - name: Setup Ruby + uses: actions/setup-ruby@v1 + with: + ruby-version: 2.6.x + + - name: Install Bundler + run: | + gem install bundler + + - name: Setup Bundle + run: | + bundle install --with docker --without opennebula ec2 windows vagrant + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Python Dependencies + run: | + pip install -U pip + pip install -r tests/requirements.txt + + - name: Create Test Container + run: | + bundle exec kitchen create {python_version}-{bootstrap_type}-{branch}-{distro} || bundle exec kitchen create {python_version}-{bootstrap_type}-{branch}-{distro} + + - name: Test Bootstrap In Test Container + run: | + bundle exec kitchen verify {python_version}-{bootstrap_type}-{branch}-{distro} + + - name: Destroy Test Container + if: always() + run: | + bundle exec kitchen destroy {python_version}-{bootstrap_type}-{branch}-{distro} diff --git a/.github/.workflows/templates/main.yml b/.github/.workflows/templates/main.yml new file mode 100644 index 0000000..1ad20c3 --- /dev/null +++ b/.github/.workflows/templates/main.yml @@ -0,0 +1,10 @@ +# DO NOT EDIT THIS FILE DIRECTLY! +# +# This file was generated by .github/workflows/templates/generate.py + +name: Testing + +on: [push, pull_request] + +jobs: +{jobs} diff --git a/.github/.workflows/templates/pre-commit.yml b/.github/.workflows/templates/pre-commit.yml new file mode 100644 index 0000000..654d2a5 --- /dev/null +++ b/.github/.workflows/templates/pre-commit.yml @@ -0,0 +1,20 @@ + generate-actions-workflow: + name: Generate The Actions Workflow + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: 3.7 + + - name: Install Pre-Commit + run: | + pip install -U pip + pip install pre-commit + pre-commit install + + - name: Generate Workflow Actions + run: | + pre-commit run -av generate-actions-workflow diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1cfce68..0bd7970 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -7,4 +7,3 @@ Remove this section if not relevant ### New Behavior Remove this section if not relevant - diff --git a/.github/stale.yml b/.github/stale.yml index 6cbfe56..e3b493c 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -30,4 +30,3 @@ closeComment: false # Limit to only `issues` or `pulls` only: issues - diff --git a/.kitchen.yml b/.kitchen.yml index 3d4db93..a4a369e 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -105,6 +105,9 @@ suites: - name: py2-git-2019-2 provisioner: salt_version: 2019.2 + - name: py2-git-3000 + provisioner: + salt_version: 3000 - name: py2-git-master provisioner: salt_version: master @@ -122,6 +125,7 @@ suites: excludes: - arch - opensuse-15 + - name: py3-git-2018-3 provisioner: salt_version: 2018.3 @@ -132,6 +136,15 @@ suites: - debian-8 - opensuse-15 - amazon-2 + - name: py3-git-3000 + provisioner: + salt_version: 3000 + salt_bootstrap_options: -x python3 -MPfq git %s + excludes: + - amazon-1 + - centos-6 + - debian-8 + - opensuse-15 - name: py3-git-2019-2 provisioner: salt_version: 2019.2 @@ -162,6 +175,13 @@ suites: - opensuse-15 - arch + - name: latest + provisioner: + salt_version: latest + salt_bootstrap_options: -MP stable %s + excludes: + - arch + verifier: name: shell remote_exec: false diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..d285259 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,27 @@ +--- +minimum_pre_commit_version: 1.15.2 +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v2.1.0 + hooks: + - id: check-merge-conflict # Check for files that contain merge conflict strings. + - id: trailing-whitespace # Trims trailing whitespace. + args: [--markdown-linebreak-ext=md] + - id: mixed-line-ending # Replaces or checks mixed line ending. + args: [--fix=lf] + - id: end-of-file-fixer # Makes sure files end in a newline and only a newline. + + - repo: local + hooks: + - id: generate-actions-workflow + name: Generate Github Actions Workflow + entry: .github/workflows/templates/generate.py + pass_filenames: false + files: '.github/workflows/templates/.*' + language: script + + - id: shellcheck + name: Run ShellCheck against bootstrap-salt.sh + entry: koalaman/shellcheck-alpine:v0.6.0 shellcheck -s sh -f tty + files: 'bootstrap-salt\.sh' + language: docker_image diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b7a3a8f..9729795 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,7 +15,7 @@ The Salt Bootstrap issue tracker is used for feature requests and bug reports. A bug is a *demonstrable problem* that is caused by the code in the repository. -Please read the following guidelines before you +Please read the following guidelines before you [file an issue](https://github.com/saltstack/salt-bootstrap/issues/new). 1. **Use the GitHub issue search** -- check if the issue has @@ -25,7 +25,7 @@ Please read the following guidelines before you please try to bootstrap using the bootstrap scirpt from the develop branch. The issue you are having might have already been fixed and it's just not yet included in the stable release. - + ``` curl -o bootstrap-salt.sh -L https://raw.githubusercontent.com/saltstack/salt-bootstrap/develop/bootstrap-salt.sh sudo sh bootstrap-salt.sh git develop @@ -73,7 +73,7 @@ easily solved another way, which is a great reason to ask first. Fixes for issues are very welcome! -Once you've fixed the issue you have in hand, create a +Once you've fixed the issue you have in hand, create a [pull request](https://help.github.com/articles/creating-a-pull-request/). Salt Bootstrap maintainers will review your fix. If everything is OK and all @@ -102,7 +102,7 @@ repo from the PR, etc. #### Lint Check -The pull request test that matters the most, and the contributor is directly +The pull request test that matters the most, and the contributor is directly responsible for fixing, is the Lint check. This check *must* be passing before the contribution can be merged into the codebase. @@ -149,7 +149,7 @@ Typically, SaltStack's release team determines when it would be good to release a new stable version. Timing the release usually involves an analysis of the following: - + - Updates for major feature releases in [Salt](https://github.com/saltstack/salt) - Support for new versions of major operating systems - Types of fixes submitted to `develop` since the last release diff --git a/ChangeLog b/ChangeLog index 07bc592..1304dd1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,14 +1,18 @@ Version TBD (In Progress on the Develop Branch): +Version 2020.01.29: + * FreeBSD fixes (cedwards) #1413 + * Support the upcoming Neon release (s0undt3ch) #1420 + Version 2020.01.21: - * FreeBSD fixes (kgbsd) #1376 - * Fix macOS support (s0undt3ch) #1397 + * FreeBSD fixes (kgbsd) #1376 + * Fix macOS support (s0undt3ch) #1397 Version 2019.11.04: - * Fix busybox mktemp compatibility (stanzgy) #1369 - * Install debian 10 packages on debian 10 instead of 9 (kiemlicz) #1375 - * move centos to python36, use python specified by -x (Ch3LL,bryceml) #1380 - * Add debian 10 git install support (Ch3LL) #1378 + * Fix busybox mktemp compatibility (stanzgy) #1369 + * Install debian 10 packages on debian 10 instead of 9 (kiemlicz) #1375 + * move centos to python36, use python specified by -x (Ch3LL,bryceml) #1380 + * Add debian 10 git install support (Ch3LL) #1378 Version 2019.10.03: * Fix possible typo with `gnupg-curl` vs `gnupg curl` (zahiar) diff --git a/README.rst b/README.rst index 7a7e0bc..eb3f315 100644 --- a/README.rst +++ b/README.rst @@ -28,6 +28,7 @@ sum** of the downloaded ``bootstrap-salt.sh`` file. The SHA256 sum of the ``bootstrap-salt.sh`` file, per release, is: +- 2020.01.21: ``53299aa0dfbf7ab381f3856bb7babfc04a1d6525be11db0b9466277b1e4d0c1a`` - 2019.11.04: ``905924fccd4ebf168d19ba598bf10af53efe02302b792aeb15433e73fd3ad1d2`` - 2019.10.03: ``34f196f06d586ce9e1b9907660ea6e67caf57abcecfea66e0343697e3fd0d17d`` - 2019.05.20: ``46fb5e4b7815efafd69fd703f033fe86e7b584b6770f7e0b936995bcae1cedd8`` @@ -328,7 +329,7 @@ UNIX systems **BSD**: - OpenBSD (``pip`` installation) -- FreeBSD 9/10/11 +- FreeBSD 11/12 **SunOS**: diff --git a/bootstrap-salt.sh b/bootstrap-salt.sh index d111a8c..3b92520 100755 --- a/bootstrap-salt.sh +++ b/bootstrap-salt.sh @@ -23,7 +23,7 @@ #====================================================================================================================== set -o nounset # Treat unset variables as an error -__ScriptVersion="2020.01.21" +__ScriptVersion="2020.01.29" __ScriptName="bootstrap-salt.sh" __ScriptFullName="$0" @@ -271,6 +271,7 @@ _REPO_URL="repo.saltstack.com" _PY_EXE="" _INSTALL_PY="$BS_FALSE" _TORNADO_MAX_PY3_VERSION="5.0" +_POST_NEON_INSTALL=$BS_FALSE # Defaults for install arguments ITYPE="stable" @@ -293,7 +294,7 @@ __usage() { - stable [version] Install a specific version. Only supported for packages available at repo.saltstack.com - testing RHEL-family specific: configure EPEL testing repo - - git Install from the head of the develop branch + - git Install from the head of the master branch - git [ref] Install from any git ref (such as a branch, tag, or commit) @@ -584,7 +585,7 @@ fi # If doing a git install, check what branch/tag/sha will be checked out if [ "$ITYPE" = "git" ]; then if [ "$#" -eq 0 ];then - GIT_REV="develop" + GIT_REV="master" else GIT_REV="$1" shift @@ -1687,10 +1688,9 @@ __check_end_of_life_versions() { ;; freebsd) - # FreeBSD versions lower than 9.1 are not supported. - if { [ "$DISTRO_MAJOR_VERSION" -eq 9 ] && [ "$DISTRO_MINOR_VERSION" -lt 01 ]; } || \ - [ "$DISTRO_MAJOR_VERSION" -lt 9 ]; then - echoerror "Versions lower than FreeBSD 9.1 are not supported." + # FreeBSD versions lower than 11 are EOL + if [ "$DISTRO_MAJOR_VERSION" -lt 11 ]; then + echoerror "Versions lower than FreeBSD 11 are EOL and no longer supported." exit 1 fi ;; @@ -1817,6 +1817,61 @@ if [ "${DISTRO_NAME_L}" != "ubuntu" ] && [ $_PIP_ALL -eq $BS_TRUE ]; then exit 1 fi +if [ "$ITYPE" = "git" ]; then + + if [ "${GIT_REV}" = "master" ]; then + _POST_NEON_INSTALL=$BS_TRUE + __TAG_REGEX_MATCH="MATCH" + else + case ${OS_NAME_L} in + openbsd|freebsd|netbsd|darwin ) + __NEW_VS_TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?3[0-9]{3}(\.[0-9]{1,2})?).*$/MATCH/') + if [ "$__NEW_VS_TAG_REGEX_MATCH" = "MATCH" ]; then + _POST_NEON_INSTALL=$BS_TRUE + __TAG_REGEX_MATCH="${__NEW_VS_TAG_REGEX_MATCH}" + if [ "$(echo "${GIT_REV}" | cut -c -1)" != "v" ]; then + # We do this to properly clone tags + GIT_REV="v${GIT_REV}" + fi + echodebug "Post Neon Tag Regex Match On: ${GIT_REV}" + else + __TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?[0-9]{1,4}\.[0-9]{1,2})(\.[0-9]{1,2})?.*$/MATCH/') + echodebug "Pre Neon Tag Regex Match On: ${GIT_REV}" + fi + ;; + * ) + __NEW_VS_TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed 's/^.*\(v\?3[[:digit:]]\{3\}\(\.[[:digit:]]\{1,2\}\)\?\).*$/MATCH/') + if [ "$__NEW_VS_TAG_REGEX_MATCH" = "MATCH" ]; then + _POST_NEON_INSTALL=$BS_TRUE + __TAG_REGEX_MATCH="${__NEW_VS_TAG_REGEX_MATCH}" + if [ "$(echo "${GIT_REV}" | cut -c -1)" != "v" ]; then + # We do this to properly clone tags + GIT_REV="v${GIT_REV}" + fi + echodebug "Post Neon Tag Regex Match On: ${GIT_REV}" + else + __TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed 's/^.*\(v\?[[:digit:]]\{1,4\}\.[[:digit:]]\{1,2\}\)\(\.[[:digit:]]\{1,2\}\)\?.*$/MATCH/') + echodebug "Pre Neon Tag Regex Match On: ${GIT_REV}" + fi + ;; + esac + fi + + if [ "$_POST_NEON_INSTALL" -eq $BS_TRUE ]; then + echo + echowarn "Post Neon git based installations will always install salt and it's dependencies using pip" + echowarn "You have 10 seconds to cancel and stop the bootstrap process" + echo + sleep 10 + _PIP_ALLOWED=$BS_TRUE + # Let's trigger config_salt() + if [ "$_TEMP_CONFIG_DIR" = "null" ]; then + _TEMP_CONFIG_DIR="${_SALT_GIT_CHECKOUT_DIR}/conf/" + CONFIG_SALT_FUNC="config_salt" + fi + fi +fi + #--- FUNCTION ------------------------------------------------------------------------------------------------------- # NAME: __function_defined @@ -1981,15 +2036,6 @@ __git_clone_and_checkout() { export GIT_SSL_NO_VERIFY=1 fi - case ${OS_NAME_L} in - openbsd|freebsd|netbsd|darwin ) - __TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?[0-9]{1,4}\.[0-9]{1,2})(\.[0-9]{1,2})?.*$/MATCH/') - ;; - * ) - __TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed 's/^.*\(v\?[[:digit:]]\{1,4\}\.[[:digit:]]\{1,2\}\)\(\.[[:digit:]]\{1,2\}\)\?.*$/MATCH/') - ;; - esac - __SALT_GIT_CHECKOUT_PARENT_DIR=$(dirname "${_SALT_GIT_CHECKOUT_DIR}" 2>/dev/null) __SALT_GIT_CHECKOUT_PARENT_DIR="${__SALT_GIT_CHECKOUT_PARENT_DIR:-/tmp/git}" __SALT_CHECKOUT_REPONAME="$(basename "${_SALT_GIT_CHECKOUT_DIR}" 2>/dev/null)" @@ -2583,6 +2629,48 @@ __install_pip_deps() { pip install -U -r ${requirements_file} ${__PIP_PACKAGES} } # ---------- end of function __install_pip_deps ---------- +#--- FUNCTION ------------------------------------------------------------------------------------------------------- +# NAME: __install_salt_from_repo_post_neon +# DESCRIPTION: Return 0 or 1 if successfully able to install. Can provide a different python version to +# install pip packages with. If $py_exe is not specified it will use the default python version. +# PARAMETERS: py_exe +#---------------------------------------------------------------------------------------------------------------------- +__install_salt_from_repo_post_neon() { + _py_exe="$1" + + if [ "${_py_exe}" = "" ]; then + _py_exe='python' + fi + + echodebug "__install_salt_from_repo_post_neon py_exe=$_py_exe" + + _py_pkg=$(echo "$_py_exe" | sed -E "s/\\.//g") + _pip_cmd="${_py_exe} -m pip" + + __check_pip_allowed + + # Install pip and pip dependencies + if ! __check_command_exists "${_pip_cmd} --version"; then + __PACKAGES="${_py_pkg}-pip gcc" + # shellcheck disable=SC2086 + if [ "$DISTRO_NAME_L" = "debian" ];then + __PACKAGES="${__PACKAGES} ${_py_pkg}-dev" + __apt_get_install_noinput ${__PACKAGES} || return 1 + else + __PACKAGES="${__PACKAGES} ${_py_pkg}-devel" + __yum_install_noinput ${__PACKAGES} || return 1 + fi + + fi + + ${_pip_cmd} install -U pip + + echoinfo "Installing salt using ${_py_exe}" + cd "${_SALT_GIT_CHECKOUT_DIR}" || return 1 + + ${_pip_cmd} install . || return 1 +} # ---------- end of function __install_salt_from_repo_post_neon ---------- + ####################################################################################################################### # @@ -2824,6 +2912,10 @@ install_ubuntu_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="" # See how we are installing packages @@ -2911,6 +3003,11 @@ install_ubuntu_git() { _PYEXE=python2.7 fi + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then # shellcheck disable=SC2086 "${_PYEXE}" setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1 @@ -3193,6 +3290,10 @@ install_debian_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="libzmq3 libzmq3-dev lsb-release python-apt python-backports.ssl-match-hostname" __PACKAGES="${__PACKAGES} python-crypto python-jinja2 python-msgpack python-m2crypto" __PACKAGES="${__PACKAGES} python-requests python-tornado python-yaml python-zmq" @@ -3234,6 +3335,10 @@ install_debian_8_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="libzmq3 libzmq3-dev lsb-release python-apt python-crypto python-jinja2" __PACKAGES="${__PACKAGES} python-m2crypto python-msgpack python-requests python-systemd" __PACKAGES="${__PACKAGES} python-yaml python-zmq python-concurrent.futures" @@ -3298,6 +3403,10 @@ install_debian_9_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="libzmq5 lsb-release" if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then @@ -3333,6 +3442,10 @@ install_debian_9_git_deps() { install_debian_10_git_deps() { install_debian_git_pre || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then _py=${_PY_EXE} PY_PKG_VER=3 @@ -3397,6 +3510,11 @@ install_debian_git() { _PYEXE=python fi + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then # shellcheck disable=SC2086 "${_PYEXE}" setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --install-layout=deb || return 1 @@ -3601,12 +3719,21 @@ install_fedora_git_deps() { fi __PACKAGES="${__PACKAGES:=}" - if [ "$_INSECURE_DL" -eq $BS_FALSE ] && [ "${_SALT_REPO_URL%%://*}" = "https" ]; then - __PACKAGES="${__PACKAGES} ca-certificates" - fi if ! __check_command_exists git; then __PACKAGES="${__PACKAGES} git" fi + install_fedora_deps || return 1 + + __git_clone_and_checkout || return 1 + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + + __PACKAGES="${__PACKAGES:=}" + if [ "$_INSECURE_DL" -eq $BS_FALSE ] && [ "${_SALT_REPO_URL%%://*}" = "https" ]; then + __PACKAGES="${__PACKAGES} ca-certificates" + fi if [ "$_INSTALL_CLOUD" -eq $BS_TRUE ]; then __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-libcloud python${PY_PKG_VER}-netaddr" fi @@ -3620,8 +3747,6 @@ install_fedora_git_deps() { install_fedora_deps || return 1 - __git_clone_and_checkout || return 1 - # Fedora 28+ needs tornado <5.0 from pip # https://github.com/saltstack/salt-bootstrap/issues/1220 if [ "${PY_PKG_VER}" -eq 3 ] && [ "$DISTRO_MAJOR_VERSION" -ge 28 ]; then @@ -3649,6 +3774,11 @@ install_fedora_git() { _PYEXE='python2' fi + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then ${_PYEXE} setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --prefix=/usr || return 1 else @@ -3809,26 +3939,28 @@ install_centos_stable_deps() { __PACKAGES="yum-utils chkconfig" fi - if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then - # YAML module is used for generating custom master/minion configs - if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then - __PACKAGES="${__PACKAGES} python3-pyyaml" + if [ "${_POST_NEON_INSTALL}" -eq $BS_FALSE ]; then + if [ "$DISTRO_MAJOR_VERSION" -ge 8 ]; then + # YAML module is used for generating custom master/minion configs + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + __PACKAGES="${__PACKAGES} python3-pyyaml" + else + __PACKAGES="${__PACKAGES} python2-pyyaml" + fi + elif [ "$DISTRO_MAJOR_VERSION" -eq 7 ]; then + # YAML module is used for generating custom master/minion configs + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + __PACKAGES="${__PACKAGES} python36-PyYAML" + else + __PACKAGES="${__PACKAGES} PyYAML" + fi else - __PACKAGES="${__PACKAGES} python2-pyyaml" - fi - elif [ "$DISTRO_MAJOR_VERSION" -eq 7 ]; then - # YAML module is used for generating custom master/minion configs - if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then - __PACKAGES="${__PACKAGES} python36-PyYAML" - else - __PACKAGES="${__PACKAGES} PyYAML" - fi - else - # YAML module is used for generating custom master/minion configs - if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then - __PACKAGES="${__PACKAGES} python34-PyYAML" - else - __PACKAGES="${__PACKAGES} PyYAML" + # YAML module is used for generating custom master/minion configs + if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then + __PACKAGES="${__PACKAGES} python34-PyYAML" + else + __PACKAGES="${__PACKAGES} PyYAML" + fi fi fi @@ -3911,6 +4043,9 @@ install_centos_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi __PACKAGES="" _install_m2crypto_req=false @@ -4009,6 +4144,12 @@ install_centos_git() { _PYEXE='python2' fi + echodebug "_PY_EXE: $_PY_EXE" + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then $_PYEXE setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --prefix=/usr || return 1 else @@ -4539,18 +4680,24 @@ install_alpine_linux_stable_deps() { install_alpine_linux_git_deps() { install_alpine_linux_stable_deps || return 1 - apk -U add python2 py-virtualenv py2-crypto py2-m2crypto py2-setuptools \ - py2-jinja2 py2-yaml py2-markupsafe py2-msgpack py2-psutil \ - py2-zmq zeromq py2-requests || return 1 - if ! __check_command_exists git; then apk -U add git || return 1 fi __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + apk -U add python2 py2-pip || return 1 + _PY_EXE=python2 + return 0 + fi + + apk -U add python2 py-virtualenv py2-crypto py2-m2crypto py2-setuptools \ + py2-jinja2 py2-yaml py2-markupsafe py2-msgpack py2-psutil \ + py2-zmq zeromq py2-requests || return 1 + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then apk -U add py2-tornado || return 1 @@ -4586,6 +4733,12 @@ install_alpine_linux_stable() { } install_alpine_linux_git() { + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then python2 setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install || return 1 else @@ -4603,7 +4756,7 @@ install_alpine_linux_post() { [ $fname = "syndic" ] && [ "$_INSTALL_SYNDIC" -eq $BS_FALSE ] && continue if [ -f /sbin/rc-update ]; then - script_url="${_SALTSTACK_REPO_URL%.git}/raw/develop/pkg/alpine/salt-$fname" + script_url="${_SALTSTACK_REPO_URL%.git}/raw/master/pkg/alpine/salt-$fname" [ -f "/etc/init.d/salt-$fname" ] || __fetch_url "/etc/init.d/salt-$fname" "$script_url" # shellcheck disable=SC2181 @@ -4794,6 +4947,10 @@ install_amazon_linux_ami_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="" __PIP_PACKAGES="" @@ -4804,7 +4961,7 @@ install_amazon_linux_ami_git_deps() { fi if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} ${pkg_append}-tornado" @@ -4859,6 +5016,10 @@ install_amazon_linux_ami_2_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PACKAGES="" __PIP_PACKAGES="" @@ -4878,7 +5039,7 @@ install_amazon_linux_ami_2_git_deps() { fi if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} ${pkg_append}${PY_PKG_VER}-tornado" @@ -5117,15 +5278,20 @@ install_arch_linux_git_deps() { if ! __check_command_exists git; then pacman -Sy --noconfirm --needed git || return 1 fi + + __git_clone_and_checkout || return 1 + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + pacman -R --noconfirm python2-distribute pacman -Su --noconfirm --needed python2-crypto python2-setuptools python2-jinja \ python2-m2crypto python2-futures python2-markupsafe python2-msgpack python2-psutil \ python2-pyzmq zeromq python2-requests python2-systemd || return 1 - __git_clone_and_checkout || return 1 - if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then pacman -Su --noconfirm --needed python2-tornado @@ -5159,6 +5325,12 @@ install_arch_linux_stable() { } install_arch_linux_git() { + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then python2 setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install || return 1 else @@ -5296,21 +5468,24 @@ install_freebsd_deps() { } install_freebsd_git_deps() { - install_freebsd_stable_deps || return 1 + install_freebsd_deps || return 1 - SALT_DEPENDENCIES=$(/usr/local/sbin/pkg search -R -d py36-salt | grep 'origin:' \ - | tail -n +2 | awk -F\" '{print $2}' | sed 's#.*/py-#py36-#g') + SALT_DEPENDENCIES=$(/usr/local/sbin/pkg search -R -d py37-salt | grep 'origin:' \ + | tail -n +2 | awk -F\" '{print $2}') # shellcheck disable=SC2086 - /usr/local/sbin/pkg install -y ${SALT_DEPENDENCIES} || return 1 + /usr/local/sbin/pkg install -y ${SALT_DEPENDENCIES} python || return 1 if ! __check_command_exists git; then /usr/local/sbin/pkg install -y git || return 1 fi - - /usr/local/sbin/pkg install -y py36-requests || return 1 - __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + + /usr/local/sbin/pkg install -y py37-requests || return 1 + echodebug "Adapting paths to FreeBSD" # The list of files was taken from Salt's BSD port Makefile for file in doc/man/salt-key.1 doc/man/salt-cp.1 doc/man/salt-minion.1 \ @@ -5354,17 +5529,22 @@ install_freebsd_stable() { # installing latest version of salt from FreeBSD CURRENT ports repo # # shellcheck disable=SC2086 - /usr/local/sbin/pkg install -y py36-salt || return 1 + /usr/local/sbin/pkg install -y py37-salt || return 1 return 0 } install_freebsd_git() { - # /usr/local/bin/python2 in FreeBSD is a symlink to /usr/local/bin/python2.7 - __PYTHON_PATH=$(readlink -f "$(command -v python2)") + # /usr/local/bin/python3 in FreeBSD is a symlink to /usr/local/bin/python3.7 + __PYTHON_PATH=$(readlink -f "$(command -v python3)") __ESCAPED_PYTHON_PATH=$(echo "${__PYTHON_PATH}" | sed 's/\//\\\//g') + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${__PYTHON_PATH}" || return 1 + return 0 + fi + # Install from git if [ ! -f salt/syspaths.py ]; then # We still can't provide the system paths, salt 0.16.x @@ -5470,6 +5650,11 @@ install_openbsd_git_deps() { _TEMP_CONFIG_DIR="${_SALT_GIT_CHECKOUT_DIR}/conf/" CONFIG_SALT_FUNC="config_salt" fi + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + return 0 } @@ -5477,6 +5662,11 @@ install_openbsd_git() { # # Install from git # + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ ! -f salt/syspaths.py ]; then # We still can't provide the system paths, salt 0.16.x /usr/local/bin/python2.7 setup.py ${SETUP_PY_INSTALL_ARGS} install || return 1 @@ -5566,12 +5756,12 @@ install_smartos_deps() { if [ ! -f "$_SALT_ETC_DIR/minion" ] && [ ! -f "$_TEMP_CONFIG_DIR/minion" ]; then # shellcheck disable=SC2086 curl $_CURL_ARGS -s -o "$_TEMP_CONFIG_DIR/minion" -L \ - https://raw.githubusercontent.com/saltstack/salt/develop/conf/minion || return 1 + https://raw.githubusercontent.com/saltstack/salt/master/conf/minion || return 1 fi if [ ! -f "$_SALT_ETC_DIR/master" ] && [ ! -f $_TEMP_CONFIG_DIR/master ]; then # shellcheck disable=SC2086 curl $_CURL_ARGS -s -o "$_TEMP_CONFIG_DIR/master" -L \ - https://raw.githubusercontent.com/saltstack/salt/develop/conf/master || return 1 + https://raw.githubusercontent.com/saltstack/salt/master/conf/master || return 1 fi fi @@ -5595,6 +5785,12 @@ install_smartos_git_deps() { pkgin -y install git || return 1 fi + __git_clone_and_checkout || return 1 + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then # Install whichever tornado is in the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" @@ -5619,7 +5815,6 @@ install_smartos_git_deps() { fi fi - __git_clone_and_checkout || return 1 # Let's trigger config_salt() if [ "$_TEMP_CONFIG_DIR" = "null" ]; then _TEMP_CONFIG_DIR="${_SALT_GIT_CHECKOUT_DIR}/conf/" @@ -5635,6 +5830,12 @@ install_smartos_stable() { } install_smartos_git() { + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + # Use setuptools in order to also install dependencies # lets force our config path on the setup for now, since salt/syspaths.py only got fixed in 2015.5.0 USE_SETUPTOOLS=1 /opt/local/bin/python setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install || return 1 @@ -5658,7 +5859,7 @@ install_smartos_post() { if [ ! -f "$_TEMP_CONFIG_DIR/salt-$fname.xml" ]; then # shellcheck disable=SC2086 curl $_CURL_ARGS -s -o "$_TEMP_CONFIG_DIR/salt-$fname.xml" -L \ - "https://raw.githubusercontent.com/saltstack/salt/develop/pkg/smartos/salt-$fname.xml" + "https://raw.githubusercontent.com/saltstack/salt/master/pkg/smartos/salt-$fname.xml" fi svccfg import "$_TEMP_CONFIG_DIR/salt-$fname.xml" if [ "${VIRTUAL_TYPE}" = "global" ]; then @@ -5862,14 +6063,18 @@ install_opensuse_git_deps() { __zypper_install git || return 1 fi - __zypper_install patch || return 1 - __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + + __zypper_install patch || return 1 + __PACKAGES="libzmq5 python-Jinja2 python-m2crypto python-msgpack-python python-pycrypto python-pyzmq python-xml python-futures" if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} python-tornado" @@ -5915,6 +6120,12 @@ install_opensuse_stable() { } install_opensuse_git() { + + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + python setup.py ${SETUP_PY_INSTALL_ARGS} install --prefix=/usr || return 1 return 0 } @@ -6071,6 +6282,10 @@ install_opensuse_15_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + # Py3 is the default bootstrap install for Leap 15 # However, git installs might specify "-x python2" if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 2 ]; then @@ -6088,7 +6303,7 @@ install_opensuse_15_git_deps() { __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-xml" if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} python${PY_PKG_VER}-tornado" @@ -6120,6 +6335,11 @@ install_opensuse_15_git() { _PYEXE=python3 fi + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + ${_PYEXE} setup.py ${SETUP_PY_INSTALL_ARGS} install --prefix=/usr || return 1 return 0 } @@ -6178,7 +6398,7 @@ install_suse_12_git_deps() { __PACKAGES="${__PACKAGES} python-pyzmq python-xml" if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} python-tornado" @@ -6274,7 +6494,7 @@ install_suse_11_git_deps() { __PACKAGES="${__PACKAGES} python-pyzmq python-xml python-zypp" if [ -f "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt" ]; then - # We're on the develop branch, install whichever tornado is on the requirements file + # We're on the master branch, install whichever tornado is on the requirements file __REQUIRED_TORNADO="$(grep tornado "${_SALT_GIT_CHECKOUT_DIR}/requirements/base.txt")" if [ "${__REQUIRED_TORNADO}" != "" ]; then __PACKAGES="${__PACKAGES} python-tornado" @@ -6646,6 +6866,10 @@ install_macosx_git_deps() { __git_clone_and_checkout || return 1 + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + return 0 + fi + __PIP_REQUIREMENTS="dev_python27.txt" if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then __PIP_REQUIREMENTS="dev_python34.txt" @@ -6675,6 +6899,11 @@ install_macosx_git() { _PYEXE=python2.7 fi + if [ "${_POST_NEON_INSTALL}" -eq $BS_TRUE ]; then + __install_salt_from_repo_post_neon "${_PY_EXE}" || return 1 + return 0 + fi + if [ -f "${_SALT_GIT_CHECKOUT_DIR}/salt/syspaths.py" ]; then $_PYEXE setup.py --salt-config-dir="$_SALT_ETC_DIR" --salt-cache-dir="${_SALT_CACHE_DIR}" ${SETUP_PY_INSTALL_ARGS} install --prefix=/opt/salt || return 1 else