From 95436cdb0efb287c2ec298fde50c0cc6cb3942a2 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Mon, 17 Nov 2025 15:25:02 -0600 Subject: [PATCH 01/40] CHAD-17076: zigbee-sound-sensor lazy load subdrivers --- .../SmartThings/zigbee-sound-sensor/src/init.lua | 16 +++------------- .../src/lazy_load_subdriver.lua | 15 +++++++++++++++ .../src/test/test_zigbee_sound_sensor.lua | 15 ++------------- 3 files changed, 20 insertions(+), 26 deletions(-) create mode 100644 drivers/SmartThings/zigbee-sound-sensor/src/lazy_load_subdriver.lua diff --git a/drivers/SmartThings/zigbee-sound-sensor/src/init.lua b/drivers/SmartThings/zigbee-sound-sensor/src/init.lua index fefa93f611..884baa575b 100644 --- a/drivers/SmartThings/zigbee-sound-sensor/src/init.lua +++ b/drivers/SmartThings/zigbee-sound-sensor/src/init.lua @@ -1,16 +1,6 @@ --- Copyright 2022 SmartThings --- --- Licensed under the Apache License, Version 2.0 (the "License"); --- you may not use this file except in compliance with the License. --- You may obtain a copy of the License at --- --- http://www.apache.org/licenses/LICENSE-2.0 --- --- Unless required by applicable law or agreed to in writing, software --- distributed under the License is distributed on an "AS IS" BASIS, --- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --- See the License for the specific language governing permissions and --- limitations under the License. +-- Copyright 2022 SmartThings, Inc. +-- Licensed under the Apache License, Version 2.0 + local device_management = require "st.zigbee.device_management" local ZigbeeDriver = require "st.zigbee" diff --git a/drivers/SmartThings/zigbee-sound-sensor/src/lazy_load_subdriver.lua b/drivers/SmartThings/zigbee-sound-sensor/src/lazy_load_subdriver.lua new file mode 100644 index 0000000000..0bee6d2a75 --- /dev/null +++ b/drivers/SmartThings/zigbee-sound-sensor/src/lazy_load_subdriver.lua @@ -0,0 +1,15 @@ +-- Copyright 2025 SmartThings, Inc. +-- Licensed under the Apache License, Version 2.0 + +return function(sub_driver_name) + -- gets the current lua libs api version + local version = require "version" + local ZigbeeDriver = require "st.zigbee" + if version.api >= 16 then + return ZigbeeDriver.lazy_load_sub_driver_v2(sub_driver_name) + elseif version.api >= 9 then + return ZigbeeDriver.lazy_load_sub_driver(require(sub_driver_name)) + else + return require(sub_driver_name) + end +end diff --git a/drivers/SmartThings/zigbee-sound-sensor/src/test/test_zigbee_sound_sensor.lua b/drivers/SmartThings/zigbee-sound-sensor/src/test/test_zigbee_sound_sensor.lua index 3ea9dfbdd9..08743ba2d2 100644 --- a/drivers/SmartThings/zigbee-sound-sensor/src/test/test_zigbee_sound_sensor.lua +++ b/drivers/SmartThings/zigbee-sound-sensor/src/test/test_zigbee_sound_sensor.lua @@ -1,16 +1,5 @@ --- Copyright 2022 SmartThings --- --- Licensed under the Apache License, Version 2.0 (the "License"); --- you may not use this file except in compliance with the License. --- You may obtain a copy of the License at --- --- http://www.apache.org/licenses/LICENSE-2.0 --- --- Unless required by applicable law or agreed to in writing, software --- distributed under the License is distributed on an "AS IS" BASIS, --- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --- See the License for the specific language governing permissions and --- limitations under the License. +-- Copyright 2022 SmartThings, Inc. +-- Licensed under the Apache License, Version 2.0 -- Mock out globals local test = require "integration_test" From 11f6667ba9d68e5a2fd6eac04d2f31ebb7145a9b Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Tue, 10 Mar 2026 17:02:46 -0500 Subject: [PATCH 02/40] Driver tests --- .github/workflows/run-tests.yml | 121 +++++++++++++++++++++----------- 1 file changed, 79 insertions(+), 42 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index e58afd5178..a1e17d5382 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -9,98 +9,135 @@ jobs: # Two separate jobs for finding the right artifact to run tests with get-latest-release-artifact: runs-on: ubuntu-latest - if: ${{ !contains(join(github.event.pull_request.labels.*.name), 'release') }} - outputs: - cache_key: ${{ steps.cache_key.outputs.CACHE_KEY }} + if: ${{ false }} + + strategy: + matrix: + version: ["52", "60"] + max-parallel: 1 + fail-fast: false + steps: - - name: Find the lua lib release version + - name: Find the lua lib release version for 0.${{ matrix.version}} id: lib-version run: | - curl "https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/releases/latest" -s -L -I -o /dev/null -w '%{url_effective}' > test.log - echo "url=$(cat test.log)" >> $GITHUB_OUTPUT + curl -s \ + -L https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/releases \ + -L https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/releases?page=2 \ + -L https://github.com/SmartThingsCommunity/SmartThingsEdgeDrivers/releases?page=3 \ + | grep -oP "/.*/releases/tag/apiv\d+_${{ matrix.version }}(_beta)?" > version_${{ matrix.version }}_link.log + echo "https://github.com$(cat version_${{ matrix.version }}_link.log)" > version_${{ matrix.version }}_link.log + echo "Found release at $(cat version_${{ matrix.version }}_link.log)" + echo "url=$(cat version_${{ matrix.version }}_link.log)" >> $GITHUB_OUTPUT + grep -oP 'apiv\K\d+_\d+(_beta)?' version_${{ matrix.version }}_link.log | while IFS='_' read -r api_version hc_version rest; do + echo "api_version=$api_version" >> $GITHUB_OUTPUT + [[ -n $rest ]] && hc_version="${hc_version}_${rest}" + echo "hc_version=$hc_version" >> $GITHUB_OUTPUT + done - name: Try to retrieve cache id: cached-libs uses: actions/cache@v3 with: - path: '/home/runner/work/lua_libs' - key: ${{ steps.lib-version.outputs.url }}-v1 + path: '/home/runner/work/lua_libs_${{ matrix.version }}' + key: lua_libs_${{ matrix.version }} - name: Get the latest release artifact if: steps.cached-libs.outputs.cache-hit != 'true' uses: dsaltares/fetch-gh-release-asset@master with: + version: 'tags/apiv${{ steps.lib-version.outputs.api_version }}_${{ steps.lib-version.outputs.hc_version }}' file: 'lua_libs.*' regex: true - target: '/home/runner/work/lua_libs/' + target: '/home/runner/work/lua_libs_${{ matrix.version }}/' - name: Extract the lua libraries if: steps.cached-libs.outputs.cache-hit != 'true' - working-directory: '/home/runner/work/lua_libs' + working-directory: '/home/runner/work/lua_libs_${{ matrix.version }}' run: tar -xf *.tar.gz --wildcards -C . --strip-components=1 '*.lua' - - name: Set output - id: cache_key - run: echo "CACHE_KEY=${{ steps.lib-version.outputs.url }}-v1" >> $GITHUB_OUTPUT + - name: Verify lua_libs directory + run: cat /home/runner/work/lua_libs_${{ matrix.version }}/version.lua | grep -oP "api = \d+" + - name: Save lua libs cache + if: steps.cached-libs.outputs.cache-hit != 'true' + uses: actions/cache/save@v3 + with: + path: /home/runner/work/lua_libs_${{ matrix.version }} + key: lua_libs_${{ matrix.version }} - get-dev-artifact: + get-dev-artifacts: runs-on: ubuntu-latest + if: ${{ always() }} outputs: cache_key: ${{ steps.cache_key.outputs.CACHE_KEY }} - if: ${{ contains(join(github.event.pull_request.labels.*.name), 'release-') && github.event.pull_request.head.repo.fork != 'true' }} + strategy: + matrix: + version: ["52", "60"] + fail-fast: false steps: - - name: Get the version from the label - id: label-version - run: | - echo "${{ join(github.event.pull_request.labels.*.name) }}" | grep -oP "release-\d+.\d+" | xargs > out - echo "LIBRARY_VERSION=$(cat out)" >> $GITHUB_OUTPUT - mkdir /home/runner/work/lua_libs - - name: Find latest artifact + - name: Make lua_libs_${{ matrix.version }} directory + run: mkdir /home/runner/work/lua_libs_${{ matrix.version }}/ + - name: Get latest ${{ matrix.version }} artifact id: latest env: - ARTIFACTORY_URL: ${{ format('https://smartthings.jfrog.io/artifactory/edge-driver-libs/{0}/', steps.label-version.outputs.LIBRARY_VERSION) }} + ARTIFACTORY_URL: 'https://smartthings.jfrog.io/artifactory/edge-driver-libs/release-0.${{ matrix.version }}/' ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} run: | - wget --user=$ARTIFACTORY_USERNAME --password=$ARTIFACTORY_PASSWORD $ARTIFACTORY_URL -q -O - | grep '.zip' | awk -F' ' '{print $3"-"$4"\t"$2}' | sort -t - -k3n -k2M -k1n -k4n | tail -1 | grep -o 'lua_libs_[a-z0-9_]*.zip' | head -1 > out + wget -d --user=$ARTIFACTORY_USERNAME --password=$ARTIFACTORY_PASSWORD $ARTIFACTORY_URL -q -O - > wget_output + cat wget_output + cat wget_output | grep '.zip' | awk -F' ' '{print $3"-"$4"\t"$2}' | sort -t - -k3n -k2M -k1n -k4n | tail -1 | grep -o 'lua_libs_[a-z0-9_]*.zip' | head -1 > out echo "ZIP_FILE=$(cat out)" >> $GITHUB_OUTPUT - name: Try to retrieve cache id: cached-libs uses: actions/cache@v3 with: - path: '/home/runner/work/lua_libs' - key: ${{ steps.latest.outputs.ZIP_FILE }}-v1 + path: '/home/runner/work/lua_libs_${{ matrix.version }}' + key: ${{ steps.latest.outputs.ZIP_FILE }} - name: Download and unpack specified version if: steps.cached-libs.outputs.cache-hit != 'true' env: - ARTIFACTORY_URL: ${{ format('https://smartthings.jfrog.io/artifactory/edge-driver-libs/{0}/{1}', steps.label-version.outputs.LIBRARY_VERSION, steps.latest.outputs.ZIP_FILE) }} + ARTIFACTORY_URL: ${{ format('https://smartthings.jfrog.io/artifactory/edge-driver-libs/release-0.{0}/{1}', matrix.version, steps.latest.outputs.ZIP_FILE) }} ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} - working-directory: '/home/runner/work/lua_libs' + working-directory: '/home/runner/work/lua_libs_${{ matrix.version }}' run: | wget --user=$ARTIFACTORY_USERNAME --password=$ARTIFACTORY_PASSWORD $ARTIFACTORY_URL -O lua_libs.zip unzip lua_libs.zip + - name: Verify lua_libs directory + run: cat /home/runner/work/lua_libs_${{ matrix.version }}/version.lua | grep -oP "api\s*=\s*\d+" + - name: Save lua libs cache + if: steps.cached-libs.outputs.cache-hit != 'true' + uses: actions/cache/save@v3 + with: + path: /home/runner/work/lua_libs_${{ matrix.version }} + key: lua_libs_${{ matrix.version }} - name: Set output id: cache_key - run: echo "CACHE_KEY=${{ steps.latest.outputs.ZIP_FILE }}-v1" >> $GITHUB_OUTPUT + run: echo "CACHE_KEY=${{ steps.latest.outputs.ZIP_FILE }}" >> $GITHUB_OUTPUT run-driver-tests: runs-on: ubuntu-latest + + strategy: + matrix: + version: ["52", "60"] + fail-fast: false + needs: - [ get-latest-release-artifact, get-dev-artifact ] + [ get-dev-artifacts ] if: ${{ always() && contains(needs.*.result, 'success') && !contains(needs.*.result, 'failure') }} steps: - - name: Set cache key - id: cache_key - run: echo "CACHE_KEY=${{ join(needs.*.outputs.cache_key) }}" >> $GITHUB_OUTPUT - - name: Try to retrieve cache - id: cached_libs - uses: actions/cache@v3 + - name: Restore lua_libs cache + id: restore_libs + uses: actions/cache/restore@v3 with: - path: '/home/runner/work/lua_libs' - key: ${{ steps.cache_key.outputs.CACHE_KEY }} + path: /home/runner/work/lua_libs_${{ matrix.version }} + key: lua_libs_${{ matrix.version }} - name: Fail if cache missed - if: steps.cached_libs.outputs.cache-hit != 'true' + if: steps.restore_libs.outputs.cache-hit != 'true' uses: actions/github-script@v3 with: script: | core.setFailed('Library cache missed. ${{steps.cached_libs.outputs.cache-hit}} ') + - name: Check libs API version + run: cat /home/runner/work/lua_libs_${{ matrix.version }}/version.lua | grep -oP "\s*api = \d+" - name: Install lua run: | sudo apt-get update @@ -116,7 +153,7 @@ jobs: - name: Set LUA_PATH id: lua_path env: - LUA_PATH_APPEND: /home/runner/work/lua_libs/?.lua;./?.lua;/home/runner/work/lua_libs/?/init.lua;./?/init.lua + LUA_PATH_APPEND: /home/runner/work/lua_libs_${{ matrix.version }}/?.lua;./?.lua;/home/runner/work/lua_libs_${{ matrix.version }}/?/init.lua;./?/init.lua run: | eval "$(luarocks path --bin)" echo "lua_path=$LUA_PATH_APPEND;$LUA_PATH" >> $GITHUB_OUTPUT @@ -141,14 +178,14 @@ jobs: if: always() uses: actions/upload-artifact@v4 with: - name: tests + name: tests-${{ matrix.version }} path: | tools/test_output/*.xml - name: Upload coverage artifact if: always() uses: actions/upload-artifact@v4 with: - name: coverage + name: coverage-${{ matrix.version }} path: | tools/coverage_output/*_coverage.xml From 95ec1bcb1c41945b2183d887d92ef4926099e3e4 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 13:41:24 -0500 Subject: [PATCH 03/40] nop --- .github/workflows/run-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index a1e17d5382..70c9dbcdd0 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -9,7 +9,7 @@ jobs: # Two separate jobs for finding the right artifact to run tests with get-latest-release-artifact: runs-on: ubuntu-latest - if: ${{ false }} + if: ${{ always() }} strategy: matrix: @@ -63,7 +63,7 @@ jobs: get-dev-artifacts: runs-on: ubuntu-latest - if: ${{ always() }} + if: ${{ false }} outputs: cache_key: ${{ steps.cache_key.outputs.CACHE_KEY }} strategy: From f58158185fc22673cbc924929ed4d86a18165ec7 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 13:43:03 -0500 Subject: [PATCH 04/40] nop --- .github/workflows/run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 70c9dbcdd0..1ae2095618 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -121,7 +121,7 @@ jobs: fail-fast: false needs: - [ get-dev-artifacts ] + [ get-latest-release-artifact, get-dev-artifacts ] if: ${{ always() && contains(needs.*.result, 'success') && !contains(needs.*.result, 'failure') }} steps: - name: Restore lua_libs cache From ae7c8c52a6d37ff1e7b06657f531a5ee9169b7b9 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:11:50 -0500 Subject: [PATCH 05/40] nop --- .github/workflows/run-tests.yml | 15 ++++++++++----- .github/workflows/test-versions.yml | 12 ++++++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/test-versions.yml diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 1ae2095618..0d325afc23 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -6,14 +6,18 @@ on: - 'drivers/**' jobs: + + get-versions: + uses: ./.github/workflows/test-versions.yml + # Two separate jobs for finding the right artifact to run tests with get-latest-release-artifact: runs-on: ubuntu-latest if: ${{ always() }} - + needs: [ get-versions ] strategy: matrix: - version: ["52", "60"] + version: ${{ fromJSON(needs.setup.outputs.versions) }} max-parallel: 1 fail-fast: false @@ -64,11 +68,12 @@ jobs: get-dev-artifacts: runs-on: ubuntu-latest if: ${{ false }} + needs: [ get-versions ] outputs: cache_key: ${{ steps.cache_key.outputs.CACHE_KEY }} strategy: matrix: - version: ["52", "60"] + version: ${{ fromJSON(needs.setup.outputs.versions) }} fail-fast: false steps: - name: Make lua_libs_${{ matrix.version }} directory @@ -114,10 +119,10 @@ jobs: run-driver-tests: runs-on: ubuntu-latest - + needs: [ get-versions ] strategy: matrix: - version: ["52", "60"] + version: ${{ fromJSON(needs.setup.outputs.versions) }} fail-fast: false needs: diff --git a/.github/workflows/test-versions.yml b/.github/workflows/test-versions.yml new file mode 100644 index 0000000000..57383ee56c --- /dev/null +++ b/.github/workflows/test-versions.yml @@ -0,0 +1,12 @@ +name: Define test versions +on: + workflow_call + +jobs: + define-versions: + runs-on: ubuntu-latest + outputs: + versions: ${{ steps.set.outputs.versions}} + steps: + - id: set + run: echo 'versions=["60","52"]' >> "GITHUB_OUTPUT" From 79231abbd849f66e779db8812b4378c095cea88f Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:12:28 -0500 Subject: [PATCH 06/40] nop --- .github/workflows/test-versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-versions.yml b/.github/workflows/test-versions.yml index 57383ee56c..0d919f4aa1 100644 --- a/.github/workflows/test-versions.yml +++ b/.github/workflows/test-versions.yml @@ -6,7 +6,7 @@ jobs: define-versions: runs-on: ubuntu-latest outputs: - versions: ${{ steps.set.outputs.versions}} + versions: ${{ steps.set.outputs.versions }} steps: - id: set run: echo 'versions=["60","52"]' >> "GITHUB_OUTPUT" From 314dc0711d257e7a5d88eb552f8a34dea09fa598 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:14:04 -0500 Subject: [PATCH 07/40] nop --- .github/workflows/test-versions.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-versions.yml b/.github/workflows/test-versions.yml index 0d919f4aa1..959e79e5b8 100644 --- a/.github/workflows/test-versions.yml +++ b/.github/workflows/test-versions.yml @@ -1,6 +1,11 @@ name: Define test versions + on: - workflow_call + workflow_call: + outputs: + versions: + description: "Test versions" + value: ${{ jobs.define-versions.outputs.versions }} jobs: define-versions: @@ -9,4 +14,4 @@ jobs: versions: ${{ steps.set.outputs.versions }} steps: - id: set - run: echo 'versions=["60","52"]' >> "GITHUB_OUTPUT" + run: echo 'versions=["60","52"]' >> "$GITHUB_OUTPUT" \ No newline at end of file From 54f092c7b7dea0629fa637a025be883245eeb139 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:18:27 -0500 Subject: [PATCH 08/40] nop --- .github/workflows/run-tests.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 0d325afc23..ed4b5cc994 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -119,14 +119,13 @@ jobs: run-driver-tests: runs-on: ubuntu-latest - needs: [ get-versions ] + needs: + [ get-versions, get-latest-release-artifact, get-dev-artifacts ] strategy: matrix: version: ${{ fromJSON(needs.setup.outputs.versions) }} fail-fast: false - needs: - [ get-latest-release-artifact, get-dev-artifacts ] if: ${{ always() && contains(needs.*.result, 'success') && !contains(needs.*.result, 'failure') }} steps: - name: Restore lua_libs cache From 861cac44ad17f0e78e933d4136eea3371e7c8d7f Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:19:30 -0500 Subject: [PATCH 09/40] nop --- .github/workflows/run-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index ed4b5cc994..e8fb3dae5b 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -22,7 +22,7 @@ jobs: fail-fast: false steps: - - name: Find the lua lib release version for 0.${{ matrix.version}} + - name: Find the lua lib release version for 0.${{ matrix.version }} id: lib-version run: | curl -s \ @@ -139,7 +139,7 @@ jobs: uses: actions/github-script@v3 with: script: | - core.setFailed('Library cache missed. ${{steps.cached_libs.outputs.cache-hit}} ') + core.setFailed('Library cache missed. ${{ steps.cached_libs.outputs.cache-hit }} ') - name: Check libs API version run: cat /home/runner/work/lua_libs_${{ matrix.version }}/version.lua | grep -oP "\s*api = \d+" - name: Install lua From cfc657fc6548f44f29bc2bda224308caf4e4fbce Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:24:15 -0500 Subject: [PATCH 10/40] nop --- .github/workflows/run-tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index e8fb3dae5b..0802d92f97 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -17,7 +17,7 @@ jobs: needs: [ get-versions ] strategy: matrix: - version: ${{ fromJSON(needs.setup.outputs.versions) }} + version: ${{ fromJSON(needs.define-versions.outputs.versions) }} max-parallel: 1 fail-fast: false @@ -73,7 +73,7 @@ jobs: cache_key: ${{ steps.cache_key.outputs.CACHE_KEY }} strategy: matrix: - version: ${{ fromJSON(needs.setup.outputs.versions) }} + version: ${{ fromJSON(needs.define-versions.outputs.versions) }} fail-fast: false steps: - name: Make lua_libs_${{ matrix.version }} directory @@ -123,7 +123,7 @@ jobs: [ get-versions, get-latest-release-artifact, get-dev-artifacts ] strategy: matrix: - version: ${{ fromJSON(needs.setup.outputs.versions) }} + version: ${{ fromJSON(needs.define-versions.outputs.versions) }} fail-fast: false if: ${{ always() && contains(needs.*.result, 'success') && !contains(needs.*.result, 'failure') }} From 104ba0b137602d8bf000eb414485b297b3a7cb48 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:26:04 -0500 Subject: [PATCH 11/40] nop --- .github/workflows/run-tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 0802d92f97..4d0ff8964c 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -17,7 +17,7 @@ jobs: needs: [ get-versions ] strategy: matrix: - version: ${{ fromJSON(needs.define-versions.outputs.versions) }} + version: ${{ fromJSON(needs.get-versions.outputs.versions) }} max-parallel: 1 fail-fast: false @@ -73,7 +73,7 @@ jobs: cache_key: ${{ steps.cache_key.outputs.CACHE_KEY }} strategy: matrix: - version: ${{ fromJSON(needs.define-versions.outputs.versions) }} + version: ${{ fromJSON(needs.get-versions.outputs.versions) }} fail-fast: false steps: - name: Make lua_libs_${{ matrix.version }} directory @@ -123,7 +123,7 @@ jobs: [ get-versions, get-latest-release-artifact, get-dev-artifacts ] strategy: matrix: - version: ${{ fromJSON(needs.define-versions.outputs.versions) }} + version: ${{ fromJSON(needs.get-versions.outputs.versions) }} fail-fast: false if: ${{ always() && contains(needs.*.result, 'success') && !contains(needs.*.result, 'failure') }} From a391db6f0f171bbb5c5dcd0abe01eff20bd7502c Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:38:45 -0500 Subject: [PATCH 12/40] nop --- .github/workflows/publish-test-results.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 57c8812913..09c68cba4d 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -6,14 +6,23 @@ on: - completed jobs: + + get-versions: + uses: ./.github/workflows/test-versions.yml + publish-test-results: runs-on: ubuntu-latest + needs: [ get-versions ] + strategy: + matrix: + version: ${{ fromJSON(needs.get-versions.outputs.versions) }} steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 with: workflow: run-tests.yml run_id: ${{ github.event.workflow_run.id }} + name: (?:coverage|test)-\d+ - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@v2 From 2674a49d9f526f8301ead57f007cef3ad2e26b6d Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:43:02 -0500 Subject: [PATCH 13/40] nop --- .github/workflows/publish-test-results.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 09c68cba4d..d7d3919edf 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -23,6 +23,8 @@ jobs: workflow: run-tests.yml run_id: ${{ github.event.workflow_run.id }} name: (?:coverage|test)-\d+ + name_is_regexp: true + merge_multiple: true - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@v2 From 7bb7920d40f16d6918bce8c911b48cb12b46e460 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:47:34 -0500 Subject: [PATCH 14/40] nop --- .github/workflows/publish-test-results.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index d7d3919edf..2ebb269838 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -32,10 +32,10 @@ jobs: commit: ${{ github.event.workflow_run.head_sha }} event_file: event-file/event.json event_name: ${{ github.event.workflow_run.event }} - files: "tests/*.xml" + files: "tests-*/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master with: pull_request_number: ${{ env.pr_number }} - path: "coverage/*.xml" + path: "coverage-*/*.xml" minimum_coverage: 90 From 9c6227c1dbd63e3131d66427799c62e270a12e31 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 14:54:06 -0500 Subject: [PATCH 15/40] nop --- .github/workflows/publish-test-results.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 2ebb269838..37643068be 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -7,15 +7,8 @@ on: jobs: - get-versions: - uses: ./.github/workflows/test-versions.yml - publish-test-results: runs-on: ubuntu-latest - needs: [ get-versions ] - strategy: - matrix: - version: ${{ fromJSON(needs.get-versions.outputs.versions) }} steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 From 481125eb0e1e81aba1f1f93b513718ec72934ca5 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 15:06:28 -0500 Subject: [PATCH 16/40] nop --- .github/workflows/publish-test-results.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 37643068be..1980894a8e 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -6,17 +6,21 @@ on: - completed jobs: - + get-versions: + uses: ./.github/workflows/test-versions.yml + publish-test-results: runs-on: ubuntu-latest + needs: [ get-versions ] + strategy: + matrix: + version: ${{ fromJSON(needs.get-versions.outputs.versions) }} steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 with: workflow: run-tests.yml run_id: ${{ github.event.workflow_run.id }} - name: (?:coverage|test)-\d+ - name_is_regexp: true merge_multiple: true - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV - name: Publish test results @@ -25,7 +29,7 @@ jobs: commit: ${{ github.event.workflow_run.head_sha }} event_file: event-file/event.json event_name: ${{ github.event.workflow_run.event }} - files: "tests-*/*.xml" + files: "tests-${{ matrix.version}}/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master with: From ba50772f681866f5dd6929fdbb8b3a332afa9721 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 15:06:34 -0500 Subject: [PATCH 17/40] nop --- .github/workflows/publish-test-results.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 1980894a8e..d8edc0781f 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -29,7 +29,7 @@ jobs: commit: ${{ github.event.workflow_run.head_sha }} event_file: event-file/event.json event_name: ${{ github.event.workflow_run.event }} - files: "tests-${{ matrix.version}}/*.xml" + files: "tests-${{ matrix.version }}/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master with: From ffd7c7a8329cd891f8ac0e2ae04daa521171f83c Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 15:10:45 -0500 Subject: [PATCH 18/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index d8edc0781f..bc4c22ba0d 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -21,7 +21,6 @@ jobs: with: workflow: run-tests.yml run_id: ${{ github.event.workflow_run.id }} - merge_multiple: true - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@v2 @@ -34,5 +33,5 @@ jobs: uses: 5monkeys/cobertura-action@master with: pull_request_number: ${{ env.pr_number }} - path: "coverage-*/*.xml" + path: "coverage/*.xml" minimum_coverage: 90 From 7c9a63666587c25c6468306fbcfa6a69ee7c7d9e Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 15:13:17 -0500 Subject: [PATCH 19/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index bc4c22ba0d..8e24059aad 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -6,15 +6,8 @@ on: - completed jobs: - get-versions: - uses: ./.github/workflows/test-versions.yml - publish-test-results: runs-on: ubuntu-latest - needs: [ get-versions ] - strategy: - matrix: - version: ${{ fromJSON(needs.get-versions.outputs.versions) }} steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 @@ -28,7 +21,7 @@ jobs: commit: ${{ github.event.workflow_run.head_sha }} event_file: event-file/event.json event_name: ${{ github.event.workflow_run.event }} - files: "tests-${{ matrix.version }}/*.xml" + files: "tests-60/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master with: From 9c37ee6d616e33cd59dd06e2944f23fa02844e12 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 15:18:50 -0500 Subject: [PATCH 20/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 8e24059aad..7aff821af1 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -6,8 +6,15 @@ on: - completed jobs: + get-versions: + uses: ./.github/workflows/test-versions.yml + publish-test-results: runs-on: ubuntu-latest + needs: [ get-versions ] + strategy: + matrix: + version: ${{ fromJSON(needs.get-versions.outputs.versions) }} steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 @@ -15,13 +22,15 @@ jobs: workflow: run-tests.yml run_id: ${{ github.event.workflow_run.id }} - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV + - name: Showing downloaded artifacts + run: ls -Rl . - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@v2 with: commit: ${{ github.event.workflow_run.head_sha }} event_file: event-file/event.json event_name: ${{ github.event.workflow_run.event }} - files: "tests-60/*.xml" + files: "tests-${{ matrix.version }}/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master with: From d52e146130b0895c95cd95b3c8595848b7179417 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 15:34:57 -0500 Subject: [PATCH 21/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 7aff821af1..57c8812913 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -6,15 +6,8 @@ on: - completed jobs: - get-versions: - uses: ./.github/workflows/test-versions.yml - publish-test-results: runs-on: ubuntu-latest - needs: [ get-versions ] - strategy: - matrix: - version: ${{ fromJSON(needs.get-versions.outputs.versions) }} steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 @@ -22,15 +15,13 @@ jobs: workflow: run-tests.yml run_id: ${{ github.event.workflow_run.id }} - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV - - name: Showing downloaded artifacts - run: ls -Rl . - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@v2 with: commit: ${{ github.event.workflow_run.head_sha }} event_file: event-file/event.json event_name: ${{ github.event.workflow_run.event }} - files: "tests-${{ matrix.version }}/*.xml" + files: "tests/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master with: From 4a0fc324df12e891ecb3ddd9a72f2d2cbdcd3b68 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 15:42:02 -0500 Subject: [PATCH 22/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 57c8812913..fa01300a6f 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -8,6 +8,12 @@ on: jobs: publish-test-results: runs-on: ubuntu-latest + + permissions: + checks: write + pull-requests: write + actions: read + steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 @@ -21,10 +27,10 @@ jobs: commit: ${{ github.event.workflow_run.head_sha }} event_file: event-file/event.json event_name: ${{ github.event.workflow_run.event }} - files: "tests/*.xml" + files: "tests-*/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master with: pull_request_number: ${{ env.pr_number }} - path: "coverage/*.xml" + path: "coverage-*/*.xml" minimum_coverage: 90 From 10801d600305fd3b2b71e56a0d052fa949540c74 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 15:49:58 -0500 Subject: [PATCH 23/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index fa01300a6f..9f0a8c5938 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -6,14 +6,11 @@ on: - completed jobs: + get-versions: + uses: ./.github/workflows/test-versions.yml + publish-test-results: runs-on: ubuntu-latest - - permissions: - checks: write - pull-requests: write - actions: read - steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 @@ -27,10 +24,10 @@ jobs: commit: ${{ github.event.workflow_run.head_sha }} event_file: event-file/event.json event_name: ${{ github.event.workflow_run.event }} - files: "tests-*/*.xml" + files: "tests-60/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master with: pull_request_number: ${{ env.pr_number }} - path: "coverage-*/*.xml" + path: "coverage/*.xml" minimum_coverage: 90 From 439aae044939d6c755b65815846f7c997e8e4f59 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 15:54:14 -0500 Subject: [PATCH 24/40] Just trying to get test-results working for matrixs --- .github/workflows/run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 4d0ff8964c..9d91ca2445 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -182,7 +182,7 @@ jobs: if: always() uses: actions/upload-artifact@v4 with: - name: tests-${{ matrix.version }} + name: tests path: | tools/test_output/*.xml - name: Upload coverage artifact From 663593361c097e0307cbf16340fdba5ec9b0f02b Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 16:01:05 -0500 Subject: [PATCH 25/40] Just trying to get test-results working for matrixs --- .github/workflows/run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 9d91ca2445..4d0ff8964c 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -182,7 +182,7 @@ jobs: if: always() uses: actions/upload-artifact@v4 with: - name: tests + name: tests-${{ matrix.version }} path: | tools/test_output/*.xml - name: Upload coverage artifact From f9d45c9b36437d8a8669a4651c4597982b1ab4bc Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 16:11:01 -0500 Subject: [PATCH 26/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 9f0a8c5938..bbc6ecbb45 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -11,6 +11,10 @@ jobs: publish-test-results: runs-on: ubuntu-latest + needs: [ get-versions ] + strategy: + matrix: + version: ${{ fromJSON(needs.get-versions.outputs.versions) }} steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 @@ -18,16 +22,22 @@ jobs: workflow: run-tests.yml run_id: ${{ github.event.workflow_run.id }} - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV + - name: Show downloaded artifacts + run: | + echo "Workspace:" + pwd + echo "Files:" + find . -maxdepth 3 -type f - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@v2 with: commit: ${{ github.event.workflow_run.head_sha }} event_file: event-file/event.json event_name: ${{ github.event.workflow_run.event }} - files: "tests-60/*.xml" + files: "tests-${{ matrix.version }}/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master with: pull_request_number: ${{ env.pr_number }} - path: "coverage/*.xml" + path: "coverage-${{ matrix.version }}/*.xml" minimum_coverage: 90 From 306ead0e184a60465b84ab20af7039e08cd61fa7 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 16:30:05 -0500 Subject: [PATCH 27/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 5 +---- .github/workflows/run-tests.yml | 4 ++++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index bbc6ecbb45..5cf70a3f08 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -1,9 +1,6 @@ name: Publish test results on: - workflow_run: - workflows: [Run driver tests] - types: - - completed + workflow_call: jobs: get-versions: diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 4d0ff8964c..c2a5dd42af 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -193,6 +193,10 @@ jobs: path: | tools/coverage_output/*_coverage.xml + publish-test-results: + needs: [ run-driver-tests ] + uses: ./.github/workflows/publish-test-results.yml + event-file: runs-on: ubuntu-latest steps: From 6c083570ea238f852d85cd3c449169dce2d842fc Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 16:32:35 -0500 Subject: [PATCH 28/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 5cf70a3f08..42afc27e20 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -7,6 +7,7 @@ jobs: uses: ./.github/workflows/test-versions.yml publish-test-results: + if: ${{ always() }} runs-on: ubuntu-latest needs: [ get-versions ] strategy: From 6f5463132e9da708ca800116bb189fd9473b13ea Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 16:35:23 -0500 Subject: [PATCH 29/40] Just trying to get test-results working for matrixs --- .github/workflows/run-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index c2a5dd42af..a81e837f01 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -194,6 +194,7 @@ jobs: tools/coverage_output/*_coverage.xml publish-test-results: + if: ${{ always() }} needs: [ run-driver-tests ] uses: ./.github/workflows/publish-test-results.yml From ffe1687f049714c0e2e0bcd1db43dd13d9853c2a Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 16:39:56 -0500 Subject: [PATCH 30/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 42afc27e20..1fc1c98b22 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -18,7 +18,8 @@ jobs: uses: dawidd6/action-download-artifact@v6 with: workflow: run-tests.yml - run_id: ${{ github.event.workflow_run.id }} + run_id: ${{ github.event.workflow_call.id }} + # Unless filtered, this will grab all files for all versions - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV - name: Show downloaded artifacts run: | From 40d2f30160624674686f1e334cd68003471cc754 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 11 Mar 2026 16:45:33 -0500 Subject: [PATCH 31/40] Just trying to get test-results working for matrixs --- .github/workflows/publish-test-results.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 1fc1c98b22..1dbe0b6cbe 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -18,15 +18,9 @@ jobs: uses: dawidd6/action-download-artifact@v6 with: workflow: run-tests.yml - run_id: ${{ github.event.workflow_call.id }} + # run_id: ${{ github.event.workflow_call.id }} # Unless filtered, this will grab all files for all versions - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV - - name: Show downloaded artifacts - run: | - echo "Workspace:" - pwd - echo "Files:" - find . -maxdepth 3 -type f - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@v2 with: From 7200663e96c54c0ec0fcbb5e33c862dc6ba75300 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 12 Mar 2026 01:38:23 -0500 Subject: [PATCH 32/40] nop --- .github/workflows/publish-test-results.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 1dbe0b6cbe..c1374d7867 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -1,7 +1,11 @@ name: Publish test results on: - workflow_call: - + workflow_run: + workflows: [Run driver tests] + types: + - completed + branches: [ matrix-testing-dev ] + jobs: get-versions: uses: ./.github/workflows/test-versions.yml From 210a3816ad46e6cd3512a342c14997121c455079 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 12 Mar 2026 01:39:00 -0500 Subject: [PATCH 33/40] nop --- .github/workflows/run-tests.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index a81e837f01..4d0ff8964c 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -193,11 +193,6 @@ jobs: path: | tools/coverage_output/*_coverage.xml - publish-test-results: - if: ${{ always() }} - needs: [ run-driver-tests ] - uses: ./.github/workflows/publish-test-results.yml - event-file: runs-on: ubuntu-latest steps: From ed76c81871b7c0c4f51ada61e0498094c8e3881d Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 12 Mar 2026 01:50:50 -0500 Subject: [PATCH 34/40] nop --- .github/workflows/publish-test-results.yml | 28 ++++++++++++---------- .github/workflows/run-tests.yml | 5 ++++ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index c1374d7867..d5a4445fbe 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -1,11 +1,13 @@ name: Publish test results on: - workflow_run: - workflows: [Run driver tests] - types: - - completed - branches: [ matrix-testing-dev ] - + # workflow_run: + # workflows: [Run driver tests] + # types: + # - completed + # branches: [ matrix-testing-dev ] + workflow_call: + + jobs: get-versions: uses: ./.github/workflows/test-versions.yml @@ -13,16 +15,16 @@ jobs: publish-test-results: if: ${{ always() }} runs-on: ubuntu-latest - needs: [ get-versions ] - strategy: - matrix: - version: ${{ fromJSON(needs.get-versions.outputs.versions) }} + # needs: [ get-versions ] + # strategy: + # matrix: + # version: ${{ fromJSON(needs.get-versions.outputs.versions) }} steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 with: workflow: run-tests.yml - # run_id: ${{ github.event.workflow_call.id }} + # run_id: ${{ github.event.workflow_run.id }} # Unless filtered, this will grab all files for all versions - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV - name: Publish test results @@ -31,10 +33,10 @@ jobs: commit: ${{ github.event.workflow_run.head_sha }} event_file: event-file/event.json event_name: ${{ github.event.workflow_run.event }} - files: "tests-${{ matrix.version }}/*.xml" + files: "tests-*/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master with: pull_request_number: ${{ env.pr_number }} - path: "coverage-${{ matrix.version }}/*.xml" + path: "coverage-*/*.xml" minimum_coverage: 90 diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 4d0ff8964c..304df75e1d 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -193,6 +193,11 @@ jobs: path: | tools/coverage_output/*_coverage.xml + publish: + uses: ./.github/workflows/publish-test-results.yml + if: ${{ always() }} + needs: [ run-driver-tests] + event-file: runs-on: ubuntu-latest steps: From 4b96124783b79f9427df6dcee1a0cde28264be7d Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 12 Mar 2026 02:00:37 -0500 Subject: [PATCH 35/40] nop --- .github/workflows/publish-test-results.yml | 10 +--------- .github/workflows/run-tests.yml | 2 +- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index d5a4445fbe..e15949a397 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -1,10 +1,5 @@ name: Publish test results on: - # workflow_run: - # workflows: [Run driver tests] - # types: - # - completed - # branches: [ matrix-testing-dev ] workflow_call: @@ -15,15 +10,12 @@ jobs: publish-test-results: if: ${{ always() }} runs-on: ubuntu-latest - # needs: [ get-versions ] - # strategy: - # matrix: - # version: ${{ fromJSON(needs.get-versions.outputs.versions) }} steps: - name: Download artifacts uses: dawidd6/action-download-artifact@v6 with: workflow: run-tests.yml + run_id: ${{ needs.* }} # run_id: ${{ github.event.workflow_run.id }} # Unless filtered, this will grab all files for all versions - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 304df75e1d..cc19552847 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -196,7 +196,7 @@ jobs: publish: uses: ./.github/workflows/publish-test-results.yml if: ${{ always() }} - needs: [ run-driver-tests] + needs: [ run-driver-tests ] event-file: runs-on: ubuntu-latest From 37eff0877269f7ae8199bdd01ce910ed398b374e Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 12 Mar 2026 02:05:56 -0500 Subject: [PATCH 36/40] nop --- .github/workflows/publish-test-results.yml | 9 +++++---- .github/workflows/run-tests.yml | 3 +++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index e15949a397..641e24fad4 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -1,12 +1,13 @@ name: Publish test results on: workflow_call: + inputs: + run_id: + required: true + type: string jobs: - get-versions: - uses: ./.github/workflows/test-versions.yml - publish-test-results: if: ${{ always() }} runs-on: ubuntu-latest @@ -15,7 +16,7 @@ jobs: uses: dawidd6/action-download-artifact@v6 with: workflow: run-tests.yml - run_id: ${{ needs.* }} + run_id: ${{ inputs.run_id }} # run_id: ${{ github.event.workflow_run.id }} # Unless filtered, this will grab all files for all versions - run: echo "pr_number=$(cat pr_number/pr_number.txt)" >> $GITHUB_ENV diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index cc19552847..aa202e906e 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -197,6 +197,9 @@ jobs: uses: ./.github/workflows/publish-test-results.yml if: ${{ always() }} needs: [ run-driver-tests ] + with: + run_id: ${{ github.run_id }} + event-file: runs-on: ubuntu-latest From ddb95a09879c1387b8b3961860829e7b5bd10eb8 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 12 Mar 2026 02:19:33 -0500 Subject: [PATCH 37/40] nop --- .github/workflows/publish-test-results.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 641e24fad4..2e7d2fd85e 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -23,9 +23,9 @@ jobs: - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@v2 with: - commit: ${{ github.event.workflow_run.head_sha }} + commit: ${{ github.event.pull_request.head.sha }} event_file: event-file/event.json - event_name: ${{ github.event.workflow_run.event }} + event_name: ${{ github.event_name }} files: "tests-*/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master From e036acbdc102a80c0374b083182517586c84911d Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 12 Mar 2026 02:21:12 -0500 Subject: [PATCH 38/40] nop --- .github/workflows/publish-test-results.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 2e7d2fd85e..53b3d3f66f 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -5,6 +5,12 @@ on: run_id: required: true type: string + commit: + required: true + type: string + event_name: + required: true + type: string jobs: @@ -23,9 +29,9 @@ jobs: - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@v2 with: - commit: ${{ github.event.pull_request.head.sha }} + commit: ${{ inputs.commit }} event_file: event-file/event.json - event_name: ${{ github.event_name }} + event_name: ${{ inputs.event_name }} files: "tests-*/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master From 139321e23e488609fefe22a8ad7dd8dda9cac1d6 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 12 Mar 2026 02:21:30 -0500 Subject: [PATCH 39/40] nop --- .github/workflows/run-tests.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index aa202e906e..2057a3be22 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -199,6 +199,8 @@ jobs: needs: [ run-driver-tests ] with: run_id: ${{ github.run_id }} + commit: ${{ github.event.pull_request.head.sha }} + event_name: ${{ github.event_name }} event-file: From 1edd058aca6f81a5d4a89e22777572b013e52711 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 12 Mar 2026 02:40:10 -0500 Subject: [PATCH 40/40] nop --- .github/workflows/publish-test-results.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-test-results.yml b/.github/workflows/publish-test-results.yml index 53b3d3f66f..68c092c87a 100644 --- a/.github/workflows/publish-test-results.yml +++ b/.github/workflows/publish-test-results.yml @@ -29,9 +29,9 @@ jobs: - name: Publish test results uses: EnricoMi/publish-unit-test-result-action@v2 with: - commit: ${{ inputs.commit }} + # commit: ${{ inputs.commit }} event_file: event-file/event.json - event_name: ${{ inputs.event_name }} + # event_name: ${{ inputs.event_name }} files: "tests-*/*.xml" - name: Publish coverage results uses: 5monkeys/cobertura-action@master