1- name : ' Setup StackQL '
1+ name : ' setup stackql '
22
33on :
44 push :
@@ -22,32 +22,36 @@ jobs:
2222
2323 steps :
2424 - name : Checkout
25- uses : actions/checkout@v3
25+ uses : actions/checkout@v4.1.4
2626
2727 - name : Setup Stackql
2828 uses : ./
2929 with :
3030 use_wrapper : ${{matrix.use_wrapper}}
3131
32- - name : Validate Stackql Version
32+ - name : Get Stackql Version
33+ id : get-stackql-version
3334 run : |
34- stackql --version
35+ echo "stackql_version<<EOF" >> $GITHUB_ENV
36+ stackql --version >> $GITHUB_ENV
37+ echo "EOF" >> $GITHUB_ENV
3538
36- - name : Use GitHub Provider
39+ - name : Validate Stackql Version
3740 run : |
38- stackql exec -i ./examples/github-example.iql
39- env :
40- STACKQL_GITHUB_USERNAME : ${{ secrets.STACKQL_GITHUB_USERNAME }}
41- STACKQL_GITHUB_PASSWORD : ${{ secrets.STACKQL_GITHUB_PASSWORD }}
42-
43- - name : Use Google Provider
44- run : |
45- stackql exec -i ./examples/google-example.iql
46- env :
47- GOOGLE_CREDENTIALS : ${{ secrets.GOOGLE_CREDENTIALS }}
48-
49- - name : Handle error
50- if : ${{ matrix.use_wrapper}}
51- continue-on-error : true
52- run : | # # specify a query file that doesnt exist
53- stackql exec -i ./examples/does-not-exist.iql
41+ # Extract only the relevant line containing version information
42+ VERSION_OUTPUT=$(echo "${{ env.stackql_version }}" | grep -E 'stackql v[0-9]+\.[0-9]+\.[0-9]+')
43+ echo "Version output: $VERSION_OUTPUT"
44+
45+ SEMVER_REGEX="v[0-9]+\.[0-9]+\.[0-9]+"
46+ PLATFORM_REGEX="(Linux|Darwin|Windows|Homebrew)"
47+
48+ if ! [[ "$VERSION_OUTPUT" =~ $SEMVER_REGEX ]]; then
49+ echo "Semantic version does not match expected format"
50+ exit 1
51+ fi
52+ if ! [[ "$VERSION_OUTPUT" =~ $PLATFORM_REGEX ]]; then
53+ echo "Platform information does not match expected formats"
54+ exit 1
55+ fi
56+
57+ echo "version output validated successfully."
0 commit comments