nightly #90
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "nightly" | |
on: | |
schedule: | |
- cron: "0 0 * * *" | |
workflow_dispatch: | |
jobs: | |
Spec: | |
uses: "puppetlabs/cat-github-actions/.github/workflows/module_ci.yml@main" | |
with: | |
runs_on: "ubuntu-20.04" | |
secrets: "inherit" | |
setup_matrix: | |
name: "Setup Test Matrix" | |
needs: "Spec" | |
runs-on: ubuntu-20.04 | |
outputs: | |
matrix: ${{ steps.get-matrix.outputs.matrix }} | |
steps: | |
- name: Checkout Source | |
uses: actions/checkout@v3 | |
- name: Activate Ruby 2.7 | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "2.7" | |
bundler-cache: true | |
- name: Print bundle environment | |
run: | | |
echo ::group::bundler environment | |
bundle env | |
echo ::endgroup:: | |
- name: Setup Acceptance Test Matrix | |
id: get-matrix | |
run: | | |
bundle exec matrix_from_metadata_v2 | |
Acceptance: | |
name: "${{matrix.platforms.label}}, ${{matrix.collection}}" | |
needs: | |
- setup_matrix | |
if: ${{ needs.setup_matrix.outputs.matrix != '{}' }} | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: ${{fromJson(needs.setup_matrix.outputs.matrix)}} | |
env: | |
PUPPET_GEM_VERSION: '~> 7.24' | |
FACTER_GEM_VERSION: 'https://github.com/puppetlabs/facter#main' | |
steps: | |
- name: Checkout Source | |
uses: actions/checkout@v3 | |
- name: Activate Ruby 2.7 | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "2.7" | |
bundler-cache: true | |
- name: Print bundle environment | |
run: | | |
bundle env | |
- name: "Disable mysqld apparmor profile" | |
if: ${{matrix.platforms.provider == 'docker'}} | |
run: | | |
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/ | |
sudo apparmor_parser -R /etc/apparmor.d/disable/usr.sbin.mysqld | |
sudo systemctl disable apparmor | |
sudo systemctl stop apparmor | |
- name: Provision test environment | |
run: | | |
bundle exec rake 'litmus:provision[${{matrix.platforms.provider}},${{ matrix.platforms.image }}]' | |
FILE='spec/fixtures/litmus_inventory.yaml' | |
sed -e 's/password: .*/password: "[redacted]"/' < $FILE || true | |
- 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' |