1- name : Post-Beta Long Running Tests
1+ name : Post-Release Long Running Tests
22run-name : Long Running Tests for ${{ github.event.release.tag_name }}
33
44on :
@@ -9,30 +9,38 @@ permissions:
99 contents : read
1010
1111jobs :
12- check-beta- release :
12+ check-release :
1313 runs-on : ubuntu-latest
1414 outputs :
15- is-beta : ${{ steps.check.outputs.is-beta }}
15+ should-run : ${{ steps.check.outputs.should-run }}
16+ duration : ${{ steps.check.outputs.duration }}
17+ timeout : ${{ steps.check.outputs.timeout }}
1618 steps :
17- - name : Check if beta release
19+ - name : Check release type
1820 id : check
1921 run : |
2022 TAG="${{ github.event.release.tag_name }}"
2123 if [[ "$TAG" =~ -beta$ ]]; then
22- echo "is-beta=true" >> $GITHUB_OUTPUT
24+ echo "should-run=true" >> $GITHUB_OUTPUT
25+ echo "duration=4h" >> $GITHUB_OUTPUT
26+ echo "timeout=360" >> $GITHUB_OUTPUT
27+ elif [[ "$TAG" =~ -alpha$ ]]; then
28+ echo "should-run=true" >> $GITHUB_OUTPUT
29+ echo "duration=20m" >> $GITHUB_OUTPUT
30+ echo "timeout=60" >> $GITHUB_OUTPUT
2331 else
24- echo "is-beta =false" >> $GITHUB_OUTPUT
32+ echo "should-run =false" >> $GITHUB_OUTPUT
2533 fi
2634
2735 long-running-tests :
28- needs : check-beta- release
29- if : needs.check-beta- release.outputs.is-beta == 'true'
36+ needs : check-release
37+ if : needs.check-release.outputs.should-run == 'true'
3038 strategy :
3139 matrix :
3240 os : [ubuntu-latest, windows-latest, macos-latest]
3341 node-version : [18, 20, 22]
3442 runs-on : ${{ matrix.os }}
35- timeout-minutes : 360
43+ timeout-minutes : ${{ fromJSON(needs.check-release.outputs.timeout) }}
3644 steps :
3745 - uses : actions/checkout@v5
3846 with :
4452 node-version : ${{ matrix.node-version }}
4553
4654 - name : Download release standalone
55+ shell : bash
4756 env :
4857 GH_TOKEN : ${{ github.token }}
4958 run : |
@@ -57,11 +66,10 @@ jobs:
5766 gh release download "$TAG" --pattern "$PATTERN"
5867
5968 - name : Extract standalone bundle
69+ shell : bash
6070 run : |
61- if [[ "${{ matrix.os }}" == "windows-latest" ]]; then
62- unzip *.zip
63- else
64- unzip *.zip
71+ unzip *.zip
72+ if [[ "${{ matrix.os }}" != "windows-latest" ]]; then
6573 chmod +x cfn-lsp-server-standalone.js
6674 fi
6775
@@ -73,15 +81,15 @@ jobs:
7381
7482 - name : Run long-running stability tests
7583 env :
76- STABILITY_TEST_DURATION : 4h
84+ STABILITY_TEST_DURATION : ${{ needs.check-release.outputs.duration }}
7785 STANDALONE_PATH : ./cfn-lsp-server-standalone.js
7886 run : npm run test:stability
7987
8088 - name : Upload test results
8189 if : always()
8290 uses : actions/upload-artifact@v4
8391 with :
84- name : long-running-test-results-${{ matrix.os }}
92+ name : long-running-test-results-${{ matrix.os }}-node${{ matrix.node-version }}
8593 path : |
8694 test-results.json
8795 test-logs.txt
0 commit comments