diff --git a/.github/workflows/acceptance.yml b/.github/workflows/acceptance.yml index 7562c5b..b6301f3 100644 --- a/.github/workflows/acceptance.yml +++ b/.github/workflows/acceptance.yml @@ -1,77 +1,77 @@ name: Acceptance tests on: pull_request jobs: build_cache: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup ruby uses: actions/setup-ruby@v1 with: ruby-version: "2.7" - uses: actions/cache@v2 with: path: vendor/bundle key: ${{ runner.os }}-2.7-gems-acceptance-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-2.7-gems-acceptance- - name: Install dependencies run: | gem install bundler bundle config path vendor/bundle bundle config without 'development test' bundle install --jobs 4 --retry 3 acceptance: needs: build_cache runs-on: ubuntu-latest strategy: fail-fast: false matrix: setfile: - centos6-64{hostname=centos6-64.example.com} - centos7-64{hostname=centos7-64.example.com,image=centos:7.6.1810} - fedora31-64{hostname=fedora31-64.example.com} - debian9-64{hostname=debian9-64.example.com} - debian10-64{hostname=debian10-64.example.com} - ubuntu1604-64{hostname=ubuntu1604-64.example.com,image=ubuntu:xenial-20191212} - ubuntu1804-64{hostname=ubuntu1804-64.example.com} - ubuntu2004-64{hostname=ubuntu2004-64.example.com} puppet: - "6" - "5" exclude: - - setfile: debian10-64{hostname=debian10-64.example.com} + - setfile: "debian10-64{hostname=debian10-64.example.com}" puppet: "5" - - setfile: ubuntu2004-64{hostname=ubuntu2004-64.example.com} + - setfile: "ubuntu2004-64{hostname=ubuntu2004-64.example.com}" puppet: "5" name: Puppet ${{ matrix.puppet }} - ${{ matrix.setfile }} steps: - name: Enable IPv6 on docker run: | echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json sudo service docker restart - uses: actions/checkout@v2 - name: Setup ruby uses: actions/setup-ruby@v1 with: ruby-version: "2.7" - uses: actions/cache@v2 with: path: vendor/bundle key: ${{ runner.os }}-2.7-gems-acceptance-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-2.7-gems-acceptance- - name: Install dependencies run: | gem install bundler bundle config path vendor/bundle bundle config without 'development test' bundle install --jobs 4 --retry 3 - name: Run tests run: bundle exec rake beaker env: BEAKER_PUPPET_COLLECTION: puppet${{ matrix.puppet }} BEAKER_setfile: ${{ matrix.setfile }} diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml index ee093b7..66b5938 100644 --- a/.github/workflows/cron.yml +++ b/.github/workflows/cron.yml @@ -1,126 +1,126 @@ name: Nightly tests on: schedule: - cron: '4 4 * * *' jobs: unit: if: github.repository == 'theforeman/puppet-puppet' runs-on: ubuntu-latest strategy: fail-fast: false matrix: ruby: - "2.5" - "2.4" puppet: - "6" - "5" exclude: - ruby: "2.5" puppet: "5" - ruby: "2.4" puppet: "6" env: PUPPET_VERSION: "${{ matrix.puppet }}.0" name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }}) steps: - uses: actions/checkout@v2 - name: Setup ruby uses: actions/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - uses: actions/cache@v2 with: path: vendor/bundle key: ${{ runner.os }}-${{ matrix.puppet }}-${{ matrix.ruby }}-gems-unit-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-${{ matrix.puppet }}-${{ matrix.ruby }}-gems-unit- - name: Install dependencies run: | gem install bundler bundle config path vendor/bundle bundle config without 'development system_tests' bundle install --jobs 4 --retry 3 - name: Run tests run: bundle exec rake build_cache: if: github.repository == 'theforeman/puppet-puppet' runs-on: ubuntu-latest steps: - name: Enable IPv6 on docker run: | echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json sudo service docker restart - uses: actions/checkout@v2 - name: Setup ruby uses: actions/setup-ruby@v1 with: ruby-version: "2.7" - uses: actions/cache@v2 with: path: vendor/bundle key: ${{ runner.os }}-2.7-gems-acceptance-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-2.7-gems-acceptance- - name: Install dependencies run: | gem install bundler bundle config path vendor/bundle bundle config without 'development test' bundle install --jobs 4 --retry 3 acceptance: if: github.repository == 'theforeman/puppet-puppet' needs: build_cache runs-on: ubuntu-latest strategy: fail-fast: false matrix: setfile: - centos6-64{hostname=centos6-64.example.com} - centos7-64{hostname=centos7-64.example.com,image=centos:7.6.1810} - fedora31-64{hostname=fedora31-64.example.com} - debian9-64{hostname=debian9-64.example.com} - debian10-64{hostname=debian10-64.example.com} - ubuntu1604-64{hostname=ubuntu1604-64.example.com,image=ubuntu:xenial-20191212} - ubuntu1804-64{hostname=ubuntu1804-64.example.com} - ubuntu2004-64{hostname=ubuntu2004-64.example.com} puppet: - "6" - "5" exclude: - - setfile: debian10-64{hostname=debian10-64.example.com} + - setfile: "debian10-64{hostname=debian10-64.example.com}" puppet: "5" - - setfile: ubuntu2004-64{hostname=ubuntu2004-64.example.com} + - setfile: "ubuntu2004-64{hostname=ubuntu2004-64.example.com}" puppet: "5" name: Puppet ${{ matrix.puppet }} - ${{ matrix.setfile }} steps: - name: Enable IPv6 on docker run: | echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json sudo service docker restart - uses: actions/checkout@v2 - name: Setup ruby uses: actions/setup-ruby@v1 with: ruby-version: "2.7" - uses: actions/cache@v2 with: path: vendor/bundle key: ${{ runner.os }}-2.7-gems-acceptance-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-2.7-gems-acceptance- - name: Install dependencies run: | gem install bundler bundle config path vendor/bundle bundle config without 'development test' bundle install --jobs 4 --retry 3 - name: Run tests run: bundle exec rake beaker env: BEAKER_PUPPET_COLLECTION: puppet${{ matrix.puppet }} BEAKER_setfile: ${{ matrix.setfile }} diff --git a/.sync.yml b/.sync.yml index 11601d4..1d1ce32 100644 --- a/.sync.yml +++ b/.sync.yml @@ -1,8 +1,18 @@ --- .github/workflows/acceptance.yml: + excludes: + - setfile: debian10-64{hostname=debian10-64.example.com} + puppet: "5" + - setfile: ubuntu2004-64{hostname=ubuntu2004-64.example.com} + puppet: "5" pidfile_workaround: true .github/workflows/cron.yml: + excludes: + - setfile: debian10-64{hostname=debian10-64.example.com} + puppet: "5" + - setfile: ubuntu2004-64{hostname=ubuntu2004-64.example.com} + puppet: "5" pidfile_workaround: true Gemfile: extra: - gem: hocon diff --git a/spec/setup_acceptance_node.pp b/spec/setup_acceptance_node.pp index 82239c5..8a4ac77 100644 --- a/spec/setup_acceptance_node.pp +++ b/spec/setup_acceptance_node.pp @@ -1,9 +1,10 @@ $packages = $facts['os']['name'] ? { - 'Fedora' => ['cronie'], + # iproute is needed for the ss command in testing and not included in the base container + 'Fedora' => ['cronie', 'iproute'], 'Ubuntu' => ['cron'], default => [], } package { $packages: ensure => installed, }