-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(PIE-1275) Provision supported operating systems
- Loading branch information
Showing
9 changed files
with
313 additions
and
34 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
name: "PE Latest Testing" | ||
|
||
on: [pull_request] | ||
|
||
jobs: | ||
setup_matrix: | ||
name: "Setup Test Matrix" | ||
runs-on: ubuntu-20.04 | ||
outputs: | ||
matrix: ${{ steps.build-matrix.outputs.matrix }} | ||
|
||
steps: | ||
- name: Checkout Source | ||
uses: actions/checkout@v3 | ||
if: ${{ github.repository_owner == 'puppetlabs' }} | ||
|
||
- name: Activate Ruby 2.7 | ||
uses: ruby/setup-ruby@v1 | ||
if: ${{ github.repository_owner == 'puppetlabs' }} | ||
with: | ||
ruby-version: "2.7" | ||
bundler-cache: true | ||
|
||
- name: Print bundle environment | ||
if: ${{ github.repository_owner == 'puppetlabs' }} | ||
run: | | ||
echo ::group::bundler environment | ||
bundle env | ||
echo ::endgroup:: | ||
- name: Curl Forge for PE versions | ||
id: curl_forge | ||
run: | | ||
echo "forge_response=$(curl https://forge.puppet.com/private/versions/pe)" >> $GITHUB_OUTPUT | ||
- name: Set latest release | ||
id: latest_release | ||
run: | | ||
out=$(jq -c '[.[] | select(.lts == false)][0].latest | {"collection": [.]}' <<<'${{ steps.curl_forge.outputs.forge_response }}') | ||
echo "latest=$out" >> $GITHUB_OUTPUT | ||
- name: Setup Spec Test Matrix | ||
id: set-matrix | ||
run: | | ||
echo "matrix={\"platforms\":[\"centos-7\",\"rhel-8\",\"rhel-9\",\"ubuntu-2004-lts\"]}" >> $GITHUB_OUTPUT | ||
- name: Setup Acceptance Test Matrix | ||
id: build-matrix | ||
run: | | ||
out=$(echo '${{ steps.set-matrix.outputs.matrix }}' | jq -c --argjson latest '${{ steps.latest_release.outputs.latest }}' '.collection += $latest.collection') | ||
echo "matrix=$out" >> $GITHUB_OUTPUT | ||
Integration: | ||
name: "${{matrix.platforms}}, ${{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)}} | ||
|
||
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: Create the fixtures directory | ||
run: | | ||
echo ::group::Create the fixtures directory | ||
bundle exec rake spec_prep | ||
echo ::endgroup:: | ||
- name: Provision test environment | ||
run: | | ||
bundle exec bolt --modulepath spec/fixtures/modules plan run splunk_hec::acceptance::provision_machines using='provision_service' image='${{ matrix.platforms }}' | ||
echo ::group::=== REQUEST === | ||
cat request.json || true | ||
echo | ||
echo ::endgroup:: | ||
echo ::group::=== INVENTORY === | ||
if [ -f 'spec/fixtures/litmus_inventory.yaml' ]; | ||
then | ||
FILE='spec/fixtures/litmus_inventory.yaml' | ||
elif [ -f 'inventory.yaml' ]; | ||
then | ||
FILE='inventory.yaml' | ||
fi | ||
sed -e 's/password: .*/password: "[redacted]"/' < $FILE || true | ||
echo ::endgroup:: | ||
echo INVENTORY_PATH=$FILE >> $GITHUB_ENV | ||
- name: Install server | ||
run: | | ||
bundle exec bolt --modulepath spec/fixtures/modules plan run splunk_hec::acceptance::server_setup puppet_version='${{ matrix.collection }}' -i ./$INVENTORY_PATH --stream | ||
- name: Install module | ||
run: | | ||
bundle exec rake 'litmus:install_module' | ||
- name: Set up Splunk instance | ||
run: | | ||
bundle exec rake acceptance:setup_splunk_instance | ||
- name: Run acceptance tests | ||
run: | | ||
bundle exec rake acceptance:run_tests | ||
- name: Remove test environment | ||
if: ${{ always() }} | ||
continue-on-error: true | ||
run: | | ||
if [[ -f inventory.yaml || -f spec/fixtures/litmus_inventory.yaml ]]; then | ||
bundle exec rake 'litmus:tear_down' | ||
echo ::group::=== REQUEST === | ||
cat request.json || true | ||
echo | ||
echo ::endgroup:: | ||
fi |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
name: "PE LTS Testing" | ||
|
||
on: [pull_request] | ||
|
||
jobs: | ||
setup_matrix: | ||
name: "Setup Test Matrix" | ||
runs-on: ubuntu-20.04 | ||
outputs: | ||
matrix: ${{ steps.build-matrix.outputs.matrix }} | ||
|
||
steps: | ||
- name: Checkout Source | ||
uses: actions/checkout@v3 | ||
if: ${{ github.repository_owner == 'puppetlabs' }} | ||
|
||
- name: Activate Ruby 2.7 | ||
uses: ruby/setup-ruby@v1 | ||
if: ${{ github.repository_owner == 'puppetlabs' }} | ||
with: | ||
ruby-version: "2.7" | ||
bundler-cache: true | ||
|
||
- name: Print bundle environment | ||
if: ${{ github.repository_owner == 'puppetlabs' }} | ||
run: | | ||
echo ::group::bundler environment | ||
bundle env | ||
echo ::endgroup:: | ||
- name: Curl Forge for PE versions | ||
id: curl_forge | ||
run: | | ||
echo "forge_response=$(curl https://forge.puppet.com/private/versions/pe)" >> $GITHUB_OUTPUT | ||
- name: Set LTS release | ||
id: lts_release | ||
run: | | ||
out=$(jq -c '[.[] | select(.lts == true)][0].latest | {"collection": [.]}' <<<'${{ steps.curl_forge.outputs.forge_response }}') | ||
echo "lts=$out" >> $GITHUB_OUTPUT | ||
- name: Setup Spec Test Matrix | ||
id: set-matrix | ||
run: | | ||
echo "matrix={\"platforms\":[\"centos-7\",\"rhel-8\",\"rhel-9\",\"ubuntu-2004-lts\"]}" >> $GITHUB_OUTPUT | ||
- name: Setup Acceptance Test Matrix | ||
id: build-matrix | ||
run: | | ||
out=$(echo '${{ steps.set-matrix.outputs.matrix }}' | jq -c --argjson lts '${{ steps.lts_release.outputs.lts }}' '.collection += $lts.collection') | ||
echo "matrix=$out" >> $GITHUB_OUTPUT | ||
Integration: | ||
name: "${{matrix.platforms}}, ${{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)}} | ||
|
||
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: Create the fixtures directory | ||
run: | | ||
echo ::group::Create the fixtures directory | ||
bundle exec rake spec_prep | ||
echo ::endgroup:: | ||
- name: Provision test environment | ||
run: | | ||
bundle exec bolt --modulepath spec/fixtures/modules plan run splunk_hec::acceptance::provision_machines using='provision_service' image='${{ matrix.platforms }}' | ||
echo ::group::=== REQUEST === | ||
cat request.json || true | ||
echo | ||
echo ::endgroup:: | ||
echo ::group::=== INVENTORY === | ||
if [ -f 'spec/fixtures/litmus_inventory.yaml' ]; | ||
then | ||
FILE='spec/fixtures/litmus_inventory.yaml' | ||
elif [ -f 'inventory.yaml' ]; | ||
then | ||
FILE='inventory.yaml' | ||
fi | ||
sed -e 's/password: .*/password: "[redacted]"/' < $FILE || true | ||
echo ::endgroup:: | ||
echo INVENTORY_PATH=$FILE >> $GITHUB_ENV | ||
- name: Install server | ||
run: | | ||
bundle exec bolt --modulepath spec/fixtures/modules plan run splunk_hec::acceptance::server_setup puppet_version='${{ matrix.collection }}' -i ./$INVENTORY_PATH --stream | ||
- name: Install module | ||
run: | | ||
bundle exec rake 'litmus:install_module' | ||
- name: Set up Splunk instance | ||
run: | | ||
bundle exec rake acceptance:setup_splunk_instance | ||
- name: Run acceptance tests | ||
run: | | ||
bundle exec rake acceptance:run_tests | ||
- name: Remove test environment | ||
if: ${{ always() }} | ||
continue-on-error: true | ||
run: | | ||
if [[ -f inventory.yaml || -f spec/fixtures/litmus_inventory.yaml ]]; then | ||
bundle exec rake 'litmus:tear_down' | ||
echo ::group::=== REQUEST === | ||
cat request.json || true | ||
echo | ||
echo ::endgroup:: | ||
fi |
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
Oops, something went wrong.