Add authenticated uploads and rename fossmark to fossbench

Uploads can now be attributed to a fossbench.net profile: set
FOSSBENCH_TOKEN and the client sends it as a Bearer token, which the
server auto-approves and links to the account. Anonymous, pending-review
upload stays the default when no token is set. New --upload/--noupload
flags skip the interactive prompt for scripted runs, and the client
reports HTTP 401/422 distinctly from other failures. The token is never
printed or logged.

Also renames the project and its internal identifiers (FM_/fm_ macros
and symbols, source filenames, binary output names) from fossmark to
fossbench, matching the actual product name. The "fossmark_version"
field in the upload payload is left as-is, since it's the server API's
fixed contract field, not this client's own name.
This commit is contained in:
2026-07-18 06:02:24 -05:00
parent 357e6f0d6d
commit ad5791bbb7
10 changed files with 406 additions and 336 deletions
+9 -9
View File
@@ -107,8 +107,8 @@ jobs:
make "${{ matrix.target }}" \
TLS_CFLAGS="-I$GITHUB_WORKSPACE/openssl-static/include" \
TLS_LDLIBS="$OPENSSL_LIBDIR/libssl.a $OPENSSL_LIBDIR/libcrypto.a $EXTRA_STATIC_LIBS"
file "dist/fossmark-${{ matrix.target }}"
if ldd "dist/fossmark-${{ matrix.target }}" | grep -E 'lib(ssl|crypto)'; then
file "dist/fossbench-${{ matrix.target }}"
if ldd "dist/fossbench-${{ matrix.target }}" | grep -E 'lib(ssl|crypto)'; then
echo 'Linux release uses dynamic OpenSSL' >&2
exit 1
fi
@@ -122,19 +122,19 @@ jobs:
make "${{ matrix.target }}" \
TLS_CFLAGS="-I$GITHUB_WORKSPACE/openssl-static/include" \
TLS_LDLIBS="$OPENSSL_LIBDIR/libssl.a $OPENSSL_LIBDIR/libcrypto.a"
if otool -L "dist/fossmark-${{ matrix.target }}" | grep -E 'lib(ssl|crypto)'; then
if otool -L "dist/fossbench-${{ matrix.target }}" | grep -E 'lib(ssl|crypto)'; then
echo 'macOS release uses dynamic OpenSSL' >&2
exit 1
fi
- name: Package artifact
run: tar -czf fossmark-${{ matrix.target }}.tar.gz -C dist fossmark-${{ matrix.target }}
run: tar -czf fossbench-${{ matrix.target }}.tar.gz -C dist fossbench-${{ matrix.target }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: fossmark-${{ matrix.target }}
path: fossmark-${{ matrix.target }}.tar.gz
name: fossbench-${{ matrix.target }}
path: fossbench-${{ matrix.target }}.tar.gz
if-no-files-found: error
release:
@@ -149,13 +149,13 @@ jobs:
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
pattern: fossmark-*
pattern: fossbench-*
path: release
merge-multiple: true
- name: Create checksums
working-directory: release
run: sha256sum fossmark-*.tar.gz > SHA256SUMS
run: sha256sum fossbench-*.tar.gz > SHA256SUMS
- name: Create release and attach artifacts
env:
@@ -166,7 +166,7 @@ jobs:
--repo "$GITHUB_REPOSITORY" \
--yes 2>/dev/null || true
gh release create "$RELEASE_TAG" \
release/fossmark-*.tar.gz \
release/fossbench-*.tar.gz \
release/SHA256SUMS \
--repo "$GITHUB_REPOSITORY" \
--title "Release $RELEASE_TAG" \