From 03aa94adb92381e44a04926c41b694e18f9834dd Mon Sep 17 00:00:00 2001 From: Axel Etcheverry Date: Tue, 25 Aug 2026 12:28:03 +0200 Subject: [PATCH] fix(ci): upload the DocC archive as a tarball The release of 0.1.0 went red on the documentation job. DocC names its files after the symbols they document, so `validate(_:)` becomes a path containing a colon, and upload-artifact refuses a colon because the artifact has to unpack on Windows too. 386 files, one character, the whole release red -- while the job that decides whether the tag means anything had passed. The archive is now packed with tar before it is uploaded. Also changed if-no-files-found from warn to error. It was set to warn, so a documentation job that produced nothing at all would have uploaded nothing and reported success. The job would then only ever fail for the reason it just did. --- .github/workflows/release.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f817d10..956f969 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -69,7 +69,15 @@ jobs: xcodebuild docbuild -scheme EntID \ -destination 'generic/platform=macOS' \ -derivedDataPath .build/docc -quiet + # A .doccarchive is uploaded as a tarball, not as a directory. DocC names + # its files after the symbols they document, so `validate(_:)` becomes a + # path containing a colon -- and upload-artifact refuses a colon, because + # the artifact has to unpack on Windows too. The whole release went red on + # a documentation job for a character in a file name. + - name: Pack the archive + run: tar -czf EntID.doccarchive.tar.gz -C .build/docc/Build/Products/Debug EntID.doccarchive - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: documentation - path: .build/docc/Build/Products/Debug/EntID.doccarchive + path: EntID.doccarchive.tar.gz + if-no-files-found: error