Skip to content

nightly

nightly #201

Workflow file for this run

name: "nightly"
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
Spec:
uses: "puppetlabs/cat-github-actions/.github/workflows/module_ci.yml@main"
secrets: "inherit"
Acceptance-Ubuntu:
name: "Acceptance - Ubuntu Runner"
needs: Spec
strategy:
fail-fast: false
matrix:
platform:
- ubuntu-20.04
- ubuntu-latest
collection:
- puppet7-nightly
- puppet8-nightly
runs-on: ${{ matrix.platform }}
env:
PUPPET_GEM_VERSION: '~> 7.24'
steps:
- name: Checkout Source
uses: actions/checkout@v3
- name: Activate Ruby 2.7
uses: ruby/setup-ruby@v1
with:
ruby-version: "2.7"
- name: Cache gems
uses: actions/cache@v3
with:
path: vendor/gems
key: ${{ runner.os }}-pr-${{ hashFiles('**/Gemfile') }}
restore-keys: |
${{ runner.os }}-pr-
${{ runner.os }}-
- name: Prepare inventory file
run: |
cat <<EOF >> spec/fixtures/litmus_inventory.yaml
---
version: 2
groups:
- name: local
targets:
- uri: litmus_localhost
config:
transport: local
- name: ssh_nodes
targets: []
- name: winrm_nodes
targets: []
EOF
- name: Install gems and puppet agent
run: |
bundle install
sudo -u root env "PATH=$PATH" bundle exec rake 'litmus:install_agent[${{ matrix.collection }}]'
- name: Install module
run: bundle exec rake 'litmus:install_module'
- name: Run acceptance tests
run: sudo -u root env "PATH=$PATH" bundle exec rake 'litmus:acceptance:localhost'
Acceptance-Windows:
name: "${{matrix.platforms.label}}, ${{matrix.collection}}"
needs: Spec
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
platforms:
- label: "Windows 2016"
provider: "provision::provision_service"
image: "windows-2016"
- label: "Windows 2019"
provider: "provision::provision_service"
image: "windows-2019-core"
- label: "Windows 2022"
provider: "provision::provision_service"
image: "windows-2022"
collection:
- puppet7-nightly
- puppet8-nightly
env:
PUPPET_GEM_VERSION: '~> 7.24'
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: Provision test environment
run: |
bundle exec rake "litmus:provision[${{matrix.platforms.provider}},${{ matrix.platforms.image }}]"
# Redact password
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'