diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index f260604..651d849 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -148,9 +148,21 @@ jobs: --fail-under-line 90 # Publish even when the threshold gate fails, so the uncovered lines are # 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 if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v3 with: name: code-coverage path: build-coverage/coverage/ @@ -175,11 +187,23 @@ jobs: # embedded it takes a find_package path instead, so our CMakeLists declares # those targets first and needs the submodules present. Six of them, none # 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 run: | git -C deps/libakgl submodule update --init \ 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. # SDL_ttf prefers the system copies -- it reports "Using system freetype # library" and links libfreetype.so.6 -- and without them it would reach