Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 55 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ jobs:
- name: Checkout Source
uses: actions/checkout@v4

- name: Activate Ruby 2.7
- name: Activate Ruby 3.2
uses: ruby/setup-ruby@v1
with:
ruby-version: "2.7"
ruby-version: '3.2'
bundler-cache: true

- name: Print bundle environment
Expand All @@ -34,15 +34,15 @@ jobs:
- name: Setup Acceptance Test Matrix
id: get-matrix
run: |
bundle exec matrix_from_metadata_v2 --exclude-platforms '["Ubuntu-22.04-arm"]'
bundle exec matrix_from_metadata_v3 --output github

Acceptance:
name: "${{matrix.platforms.label}}, ${{matrix.collection}}"
Acceptance_Docker:
name: "${{ matrix.platforms.label }}, ${{ matrix.collection }}"
needs:
- setup_matrix
if: ${{ needs.setup_matrix.outputs.matrix != '{}' }}

runs-on: ubuntu-20.04
runs-on: ${{ matrix.platforms.runner }}
strategy:
fail-fast: false
matrix: ${{fromJson(needs.setup_matrix.outputs.matrix)}}
Expand All @@ -55,29 +55,70 @@ jobs:
- name: Checkout Source
uses: actions/checkout@v4

- name: Activate Ruby 2.7
- name: Activate Ruby 3.2
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true

- name: Print bundle environment
run: |
bundle env

- name: Provision test environment
run: |
bundle exec rake 'litmus:provision[${{ matrix.platforms.provider }}, ${{ matrix.platforms.image }}]'

- name: Install agent
run: |
bundle exec rake 'litmus:install_agent[${{ matrix.collection }}]'

- name: Install module
run: |
bundle exec rake 'litmus:install_module'

- name: Run acceptance tests
run: |
bundle exec rake 'litmus:acceptance:parallel'

- name: Remove test environment
if: ${{ always() }}
continue-on-error: true
run: |
bundle exec rake 'litmus:tear_down'

Acceptance_Vagrant:
name: FreeBSD 14.0, Puppet 8
runs-on: ubuntu-24.04

steps:
- name: Checkout Source
uses: actions/checkout@v4

- name: Activate Ruby 3.2
uses: ruby/setup-ruby@v1
with:
ruby-version: "2.7"
ruby-version: '3.2'
bundler-cache: true

- name: Print bundle environment
run: |
bundle env

- name: Disable apparmor
if: ${{matrix.platforms.provider == 'docker'}}
- name: Install vagrant
run: |
sudo systemctl disable apparmor
sudo systemctl stop apparmor
sudo add-apt-repository ppa:evgeni/vagrant
sudo apt-get update
sudo apt-get install -y --no-install-recommends vagrant vagrant-libvirt libvirt-daemon-system libvirt-daemon qemu-system-x86 qemu-utils dnsmasq
sudo chmod 666 /var/run/libvirt/libvirt-sock

- name: Provision test environment
run: |
bundle exec rake 'litmus:provision[${{matrix.platforms.provider}},${{ matrix.platforms.image }}]'
bundle exec rake 'litmus:provision_list[vagrant]'

- name: Install agent
run: |
bundle exec rake 'litmus:install_agent[${{ matrix.collection }}]'
bundle exec rake 'litmus:install_agent[puppet8-nightly]'

- name: Install module
run: |
Expand Down
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ group :development, :release_prep do
gem "puppetlabs_spec_helper", '~> 7.0', require: false
end
group :system_tests do
gem 'voxpupuli-acceptance', '~> 3.0', :require => false
gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw]
gem "CFPropertyList", '< 3.0.7', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "serverspec", '~> 2.41', require: false
Expand Down
7 changes: 7 additions & 0 deletions metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@
"20.04",
"22.04"
]
},
{
"operatingsystem": "FreeBSD",
"operatingsystemrelease": [
"13",
"14"
]
}
],
"requirements": [
Expand Down
7 changes: 7 additions & 0 deletions provision.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
vagrant:
provisioner: vagrant
images: ['freebsd/FreeBSD-14.0-CURRENT']
params:
vagrant_provider: libvirt
...