Showing with 324 additions and 185 deletions.
  1. +77 −0 .github/workflows/acceptance.yml
  2. +126 −0 .github/workflows/cron.yml
  3. +44 −0 .github/workflows/unit.yml
  4. +8 −9 .sync.yml
  5. +0 −167 .travis.yml
  6. +8 −0 CHANGELOG.md
  7. +9 −8 Gemfile
  8. +1 −0 manifests/init.pp
  9. +1 −1 metadata.json
  10. +38 −0 spec/classes/init_spec.rb
  11. +7 −0 spec/setup_acceptance_node.pp
  12. +5 −0 templates/dhcpd.conf.erb
77 changes: 77 additions & 0 deletions .github/workflows/acceptance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +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}
- centos8-64{hostname=centos8-64.example.com}
- fedora31-64{hostname=fedora31-64.example.com}
- fedora32-64{hostname=fedora32-64.example.com}
- debian8-64{hostname=debian8-64.example.com}
- debian9-64{hostname=debian9-64.example.com}
- debian10-64{hostname=debian10-64.example.com}
- ubuntu1604-64{hostname=ubuntu1604-64.example.com}
- ubuntu1804-64{hostname=ubuntu1804-64.example.com}
puppet:
- "6"
- "5"
exclude:
- setfile: "fedora32-64{hostname=fedora32-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 }}
126 changes: 126 additions & 0 deletions .github/workflows/cron.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
name: Nightly tests

on:
schedule:
- cron: '4 4 * * *'

jobs:
unit:
if: github.repository == 'theforeman/puppet-dhcp'
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-dhcp'
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-dhcp'
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}
- centos8-64{hostname=centos8-64.example.com}
- fedora31-64{hostname=fedora31-64.example.com}
- fedora32-64{hostname=fedora32-64.example.com}
- debian8-64{hostname=debian8-64.example.com}
- debian9-64{hostname=debian9-64.example.com}
- debian10-64{hostname=debian10-64.example.com}
- ubuntu1604-64{hostname=ubuntu1604-64.example.com}
- ubuntu1804-64{hostname=ubuntu1804-64.example.com}
puppet:
- "6"
- "5"
exclude:
- setfile: "fedora32-64{hostname=fedora32-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 }}
44 changes: 44 additions & 0 deletions .github/workflows/unit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Unit tests

on: pull_request

jobs:
unit:
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"
name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }})
env:
PUPPET_VERSION: "${{ matrix.puppet }}.0"
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
17 changes: 8 additions & 9 deletions .sync.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
---
.github/workflows/acceptance.yml:
excludes:
- setfile: fedora32-64{hostname=fedora32-64.example.com}
puppet: "5"
.github/workflows/cron.yml:
excludes:
- setfile: fedora32-64{hostname=fedora32-64.example.com}
puppet: "5"
.puppet-lint.rc:
extra_disabled_lint_checks:
- parameter_documentation
.travis.yml:
beaker_sets:
- centos7-64
- centos8-64
- debian8-64
- debian9-64
- debian10-64
- ubuntu1604-64
- ubuntu1804-64
Loading