Clone libakgl's other two submodules, and pin upload-artifact to v3
Some checks failed
akbasic CI Build / cmake_build (push) Successful in 3m30s
akbasic CI Build / coverage (push) Successful in 4m4s
akbasic CI Build / akgl_build (push) Successful in 7m58s
akbasic CI Build / sanitizers (push) Failing after 17m23s
akbasic CI Build / mutation_test (push) Successful in 23m30s
Some checks failed
akbasic CI Build / cmake_build (push) Successful in 3m30s
akbasic CI Build / coverage (push) Successful in 4m4s
akbasic CI Build / akgl_build (push) Successful in 7m58s
akbasic CI Build / sanitizers (push) Failing after 17m23s
akbasic CI Build / mutation_test (push) Successful in 23m30s
Two more gaps that only became visible once the errno fix let the jobs run far enough to hit them. akgl_build cloned six of libakgl's submodules and needs eight. libakgl does not add_subdirectory deps/libccd or deps/clay -- their own CMakeLists are unusable as subprojects -- it compiles them into itself, so nothing declares them and configuration dies at deps/libakgl/CMakeLists.txt:282 with "File deps/libccd/src/ccd/config.h.cmake.in does not exist". deps/tg stays out: nothing references it. The X11 packages from the previous commit did their job -- SDL now configures the lot: "X11 libraries: xcursor xdbe xfixes xinput2 xrandr xscrnsaver xshape xsync xtest". coverage passes its gate now (112/112, lines 94.1% against a 90 floor) and failed on the upload instead. actions/upload-artifact@v4 bundles @actions/artifact v2, whose isGhes() treats any GITHUB_SERVER_URL that is not github.com as GitHub Enterprise Server and refuses outright. @v3 uses the older artifact API, which Gitea 1.25.3 does implement. The step had never had a file to upload before -- gcovr was never reached, so it warned "No files were found" and passed -- which is why this surfaced only now. Same class of accommodation as annotate_only on the junit reporter. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -148,9 +148,21 @@ jobs:
|
|||||||
--fail-under-line 90
|
--fail-under-line 90
|
||||||
# Publish even when the threshold gate fails, so the uncovered lines are
|
# Publish even when the threshold gate fails, so the uncovered lines are
|
||||||
# visible -- each one is a missing test.
|
# visible -- each one is a missing test.
|
||||||
|
#
|
||||||
|
# @v3, not @v4, and that is Gitea rather than preference. @v4 bundles
|
||||||
|
# @actions/artifact v2, whose isGhes() treats any GITHUB_SERVER_URL that is
|
||||||
|
# not github.com as GitHub Enterprise Server and refuses outright:
|
||||||
|
# "GHESNotSupportedError: @actions/artifact v2.0.0+, upload-artifact@v4+
|
||||||
|
# and download-artifact@v4+ are not currently supported on GHES". @v3 uses
|
||||||
|
# the older artifact API, which this forge does implement.
|
||||||
|
#
|
||||||
|
# This never showed before because the step had nothing to upload: gcovr
|
||||||
|
# was never reached, so the step warned "No files were found" and passed.
|
||||||
|
# Fixing the suite is what first gave it a real file to refuse. Same class
|
||||||
|
# of accommodation as the annotate_only flag on the junit reporter above.
|
||||||
- name: upload coverage reports
|
- name: upload coverage reports
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: code-coverage
|
name: code-coverage
|
||||||
path: build-coverage/coverage/
|
path: build-coverage/coverage/
|
||||||
@@ -175,11 +187,23 @@ jobs:
|
|||||||
# embedded it takes a find_package path instead, so our CMakeLists declares
|
# embedded it takes a find_package path instead, so our CMakeLists declares
|
||||||
# those targets first and needs the submodules present. Six of them, none
|
# those targets first and needs the submodules present. Six of them, none
|
||||||
# recursive. Filed upstream as libakgl API-gap item 5.
|
# recursive. Filed upstream as libakgl API-gap item 5.
|
||||||
|
#
|
||||||
|
# Eight, not six: deps/libccd and deps/clay were missing and are not
|
||||||
|
# optional. libakgl does not add_subdirectory either of them -- their own
|
||||||
|
# CMakeLists are unusable as subprojects -- it compiles them into itself,
|
||||||
|
# so nothing declares them and configuration dies late with "File
|
||||||
|
# deps/libccd/src/ccd/config.h.cmake.in does not exist" at
|
||||||
|
# deps/libakgl/CMakeLists.txt:282. clay is the same shape one step later:
|
||||||
|
# deps/clay/clay.h is on the include path and installed.
|
||||||
|
#
|
||||||
|
# deps/tg is a real submodule of libakgl and is deliberately not here --
|
||||||
|
# nothing in its CMakeLists references it. libakerror and libakstdlib are
|
||||||
|
# skipped for the reason the checkout note above gives.
|
||||||
- name: libakgl dependencies
|
- name: libakgl dependencies
|
||||||
run: |
|
run: |
|
||||||
git -C deps/libakgl submodule update --init \
|
git -C deps/libakgl submodule update --init \
|
||||||
deps/SDL deps/SDL_image deps/SDL_mixer deps/SDL_ttf \
|
deps/SDL deps/SDL_image deps/SDL_mixer deps/SDL_ttf \
|
||||||
deps/jansson deps/semver
|
deps/jansson deps/semver deps/libccd deps/clay
|
||||||
# libfreetype-dev and libharfbuzz-dev are load-bearing, not incidental.
|
# libfreetype-dev and libharfbuzz-dev are load-bearing, not incidental.
|
||||||
# SDL_ttf prefers the system copies -- it reports "Using system freetype
|
# SDL_ttf prefers the system copies -- it reports "Using system freetype
|
||||||
# library" and links libfreetype.so.6 -- and without them it would reach
|
# library" and links libfreetype.so.6 -- and without them it would reach
|
||||||
|
|||||||
Reference in New Issue
Block a user