Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(PE-40162) XL PE approach to CI #540

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from
Draft
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
name: Upgrade test matrix
name: Install test matrix
on:
pull_request:
paths:
Expand All @@ -25,9 +25,8 @@ on:
branches: [main]
workflow_dispatch: {}
jobs:
test-upgrade:
name: PE ${{ matrix.version }} to ${{ matrix.version_to_upgrade }} ${{ matrix.architecture }}
on ${{ matrix.image }}
test-install:
name: PE ${{ matrix.version }} ${{ matrix.architecture }} on ${{ matrix.image }}
runs-on: ubuntu-20.04
env:
BOLT_GEM: true
Expand All @@ -36,33 +35,10 @@ jobs:
strategy:
fail-fast: false
matrix:
architecture: [standard, extra-large-with-dr]
version: [2019.8.12, 2021.7.9, 2023.8.1]
version_to_upgrade: [2021.7.9, 2023.8.1, 2025.0.0]
architecture: [extra-large-with-dr]
version: [2023.8.0] # can change to test multiple versions once this one works
image: [almalinux-cloud/almalinux-8]
download_mode: [direct]
exclude:
- version: 2019.8.12
version_to_upgrade: 2023.8.1
- version: 2019.8.12
version_to_upgrade: 2025.0.0
- version: 2021.7.9
version_to_upgrade: 2021.7.9
- version: 2021.7.9
version_to_upgrade: 2025.0.0
- version: 2023.8.1
version_to_upgrade: 2023.8.1
- version: 2023.8.1
version_to_upgrade: 2025.0.0
- version: 2023.8.1
version_to_upgrade: 2021.7.9
steps:
- name: Start SSH session
if: ${{ github.event.inputs.ssh-debugging == 'true' }}
uses: luchihoratiu/debug-via-ssh@main
with:
NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }}
SSH_PASS: ${{ secrets.SSH_PASS }}
- name: Checkout Source
uses: actions/checkout@v4
- name: Activate Ruby 2.7
Expand Down Expand Up @@ -91,7 +67,8 @@ jobs:
--modulepath spec/fixtures/modules \
provider=provision_service \
image=${{ matrix.image }} \
architecture=${{ matrix.architecture }}
architecture=${{ matrix.architecture }} \
--log-level trace
echo ::endgroup::
echo ::group::info:request
cat request.json || true; echo
Expand All @@ -108,23 +85,79 @@ jobs:
architecture=${{ matrix.architecture }} \
version=${{ matrix.version }} \
console_password=${{ secrets.CONSOLE_PASSWORD }}
- name: Wait as long as the file ${HOME}/pause file is present
if: ${{ always() && github.event.inputs.ssh-debugging == 'true' }}
- name: Tear down test cluster
if: ${{ always() }}
continue-on-error: true
run: |-
if [ -f spec/fixtures/litmus_inventory.yaml ]; then
echo ::group::tear_down
bundle exec rake 'litmus:tear_down'
echo ::endgroup::
echo ::group::info:request
cat request.json || true; echo
echo ::endgroup::
fi
test-backup: # to replace failed VM
test-install:
name: PE ${{ matrix.version }} ${{ matrix.architecture }} on ${{ matrix.image }}
runs-on: ubuntu-20.04
env:
BOLT_GEM: true
BOLT_DISABLE_ANALYTICS: true
LANG: en_US.UTF-8
strategy:
fail-fast: false
matrix:
architecture: [extra-large-with-dr]
version: [2023.8.0] # can change to test multiple versions once this one works
image: [almalinux-cloud/almalinux-8]
steps:
- name: Checkout Source
uses: actions/checkout@v4
- name: Activate Ruby 2.7
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
bundler-cache: true
- name: Print bundle environment
if: ${{ github.repository_owner == 'puppetlabs' }}
run: |
echo ::group::info:bundler
bundle env
echo ::endgroup::
- name: Provision test cluster
timeout-minutes: 15
run: |
while [ -f "${HOME}/pause" ] ; do
echo "${HOME}/pause present, sleeping for 60 seconds..."
sleep 60
done
echo "${HOME}/pause absent, continuing workflow."
- name: Upgrade PE on test cluster
echo ::group::prepare
mkdir -p $HOME/.ssh
echo 'Host *' > $HOME/.ssh/config
echo ' ServerAliveInterval 150' >> $HOME/.ssh/config
echo ' ServerAliveCountMax 2' >> $HOME/.ssh/config
bundle exec rake spec_prep
echo ::endgroup::
echo ::group::provision
bundle exec bolt plan run peadm_spec::provision_test_cluster \
--modulepath spec/fixtures/modules \
provider=provision_service \
image=${{ matrix.image }} \
architecture=${{ matrix.architecture }} \
--log-level trace
echo ::endgroup::
echo ::group::info:request
cat request.json || true; echo
echo ::endgroup::
echo ::group::info:inventory
sed -e 's/password: .*/password: "[redacted]"/' < spec/fixtures/litmus_inventory.yaml || true
echo ::endgroup::
- name: Install PE on test cluster
timeout-minutes: 120
run: |
bundle exec bolt plan run peadm_spec::upgrade_test_cluster \
bundle exec bolt plan run peadm_spec::install_test_cluster \
--inventoryfile spec/fixtures/litmus_inventory.yaml \
--modulepath spec/fixtures/modules \
architecture=${{ matrix.architecture }} \
download_mode=${{ matrix.download_mode }} \
version=${{ matrix.version_to_upgrade }}
version=${{ matrix.version }} \
console_password=${{ secrets.CONSOLE_PASSWORD }}
- name: Tear down test cluster
if: ${{ always() }}
continue-on-error: true
Expand Down
26 changes: 0 additions & 26 deletions .github/workflows/README.md

This file was deleted.

16 changes: 0 additions & 16 deletions .github/workflows/add-to-project.yml

This file was deleted.

62 changes: 0 additions & 62 deletions .github/workflows/auto_release.yml

This file was deleted.

18 changes: 0 additions & 18 deletions .github/workflows/ci.yml

This file was deleted.

17 changes: 0 additions & 17 deletions .github/workflows/mend.yml

This file was deleted.

18 changes: 0 additions & 18 deletions .github/workflows/nightly.yml

This file was deleted.

15 changes: 0 additions & 15 deletions .github/workflows/release-prep.yml

This file was deleted.

8 changes: 0 additions & 8 deletions .github/workflows/release.yml

This file was deleted.

Loading