6 HONEYCOMB_WRITEKEY: 7f3c63a70eecc61d635917de46bea4e6
7 HONEYCOMB_DATASET: litmus tests
11 name: "Setup Test Matrix"
14 matrix: ${{ steps.get-matrix.outputs.matrix }}
17 - name: "Honeycomb: Start recording"
18 uses: puppetlabs/kvrhdn-gha-buildevents@pdk-templates-v1
20 apikey: ${{ env.HONEYCOMB_WRITEKEY }}
21 dataset: ${{ env.HONEYCOMB_DATASET }}
22 job-status: ${{ job.status }}
24 - name: "Honeycomb: Start first step"
26 echo STEP_ID=setup-environment >> $GITHUB_ENV
27 echo STEP_START=$(date +%s) >> $GITHUB_ENV
29 - name: Checkout Source
30 uses: actions/checkout@v2
31 if: ${{ github.repository_owner == 'puppetlabs' }}
33 - name: Activate Ruby 2.7
34 uses: ruby/setup-ruby@v1
35 if: ${{ github.repository_owner == 'puppetlabs' }}
40 - name: Print bundle environment
41 if: ${{ github.repository_owner == 'puppetlabs' }}
43 echo ::group::bundler environment
44 buildevents cmd $TRACE_ID $STEP_ID 'bundle env' -- bundle env
47 - name: "Honeycomb: Record Setup Environment time"
48 if: ${{ github.repository_owner == 'puppetlabs' }}
50 buildevents step $TRACE_ID $STEP_ID $STEP_START 'Setup Environment'
51 echo STEP_ID=Setup-Acceptance-Test-Matrix >> $GITHUB_ENV
52 echo STEP_START=$(date +%s) >> $GITHUB_ENV
54 - name: Run validation steps
56 bundle exec rake validate
57 if: ${{ github.repository_owner == 'puppetlabs' }}
59 - name: Setup Acceptance Test Matrix
62 if [ '${{ github.repository_owner }}' == 'puppetlabs' ]; then
63 buildevents cmd $TRACE_ID $STEP_ID matrix_from_metadata -- bundle exec matrix_from_metadata_v2
65 echo "::set-output name=matrix::{}"
68 - name: "Honeycomb: Record Setup Test Matrix time"
71 buildevents step $TRACE_ID $STEP_ID $STEP_START 'Setup Test Matrix'
74 name: "${{matrix.platforms.label}}, ${{matrix.collection}}"
77 if: ${{ needs.setup_matrix.outputs.matrix != '{}' }}
82 matrix: ${{fromJson(needs.setup_matrix.outputs.matrix)}}
85 BUILDEVENT_FILE: '../buildevents.txt'
89 echo 'platform=${{ matrix.platforms.image }}' >> $BUILDEVENT_FILE
90 echo 'collection=${{ matrix.collection }}' >> $BUILDEVENT_FILE
91 echo 'label=${{ matrix.platforms.label }}' >> $BUILDEVENT_FILE
93 - name: "Honeycomb: Start recording"
94 uses: puppetlabs/kvrhdn-gha-buildevents@pdk-templates-v1
96 apikey: ${{ env.HONEYCOMB_WRITEKEY }}
97 dataset: ${{ env.HONEYCOMB_DATASET }}
98 job-status: ${{ job.status }}
99 matrix-key: ${{ matrix.platforms.label }}-${{ matrix.collection }}
101 - name: "Honeycomb: start first step"
103 echo STEP_ID=${{ matrix.platforms.image }}-${{ matrix.collection }}-1 >> $GITHUB_ENV
104 echo STEP_START=$(date +%s) >> $GITHUB_ENV
106 - name: Checkout Source
107 uses: actions/checkout@v2
109 - name: Activate Ruby 2.7
110 uses: ruby/setup-ruby@v1
115 - name: Print bundle environment
117 echo ::group::bundler environment
118 buildevents cmd $TRACE_ID $STEP_ID 'bundle env' -- bundle env
121 - name: "Honeycomb: Record Setup Environment time"
124 buildevents step $TRACE_ID $STEP_ID $STEP_START 'Setup Environment'
125 echo STEP_ID=${{ matrix.platforms.image }}-${{ matrix.collection }}-2 >> $GITHUB_ENV
126 echo STEP_START=$(date +%s) >> $GITHUB_ENV
128 - name: Provision test environment
130 buildevents cmd $TRACE_ID $STEP_ID 'rake litmus:provision ${{ matrix.platforms.image }}' -- bundle exec rake 'litmus:provision[${{matrix.platforms.provider}},${{ matrix.platforms.image }}]'
131 echo ::group::=== REQUEST ===
132 cat request.json || true
135 echo ::group::=== INVENTORY ===
136 if [ -f 'spec/fixtures/litmus_inventory.yaml' ];
138 FILE='spec/fixtures/litmus_inventory.yaml'
139 elif [ -f 'inventory.yaml' ];
141 FILE='inventory.yaml'
143 sed -e 's/password: .*/password: "[redacted]"/' < $FILE || true
146 - name: Install agent
148 buildevents cmd $TRACE_ID $STEP_ID 'rake litmus:install_agent ${{ matrix.collection }}' -- bundle exec rake 'litmus:install_agent[${{ matrix.collection }}]'
150 - name: Install module
152 buildevents cmd $TRACE_ID $STEP_ID 'rake litmus:install_module' -- bundle exec rake 'litmus:install_module'
154 - name: "Honeycomb: Record deployment times"
157 echo ::group::honeycomb step
158 buildevents step $TRACE_ID $STEP_ID $STEP_START 'Deploy test system'
159 echo STEP_ID=${{ matrix.platforms.image }}-${{ matrix.collection }}-3 >> $GITHUB_ENV
160 echo STEP_START=$(date +%s) >> $GITHUB_ENV
163 - name: Run acceptance tests
165 buildevents cmd $TRACE_ID $STEP_ID 'rake litmus:acceptance:parallel' -- bundle exec rake 'litmus:acceptance:parallel'
167 - name: "Honeycomb: Record acceptance testing times"
170 buildevents step $TRACE_ID $STEP_ID $STEP_START 'Run acceptance tests'
171 echo STEP_ID=${{ matrix.platforms.image }}-${{ matrix.collection }}-4 >> $GITHUB_ENV
172 echo STEP_START=$(date +%s) >> $GITHUB_ENV
174 - name: Remove test environment
176 continue-on-error: true
178 if [[ -f inventory.yaml || -f spec/fixtures/litmus_inventory.yaml ]]; then
179 buildevents cmd $TRACE_ID $STEP_ID 'rake litmus:tear_down' -- bundle exec rake 'litmus:tear_down'
180 echo ::group::=== REQUEST ===
181 cat request.json || true
186 - name: "Honeycomb: Record removal times"
189 buildevents step $TRACE_ID $STEP_ID $STEP_START 'Remove test environment'