feat(extractor): stream MusicBrainz .tar.xz directly from network to … #1183
build.yml
on: push
detect-changes
4s
run-code-quality
/
code-quality
2m 46s
Matrix: run-e2e-tests / e2e-test
run-security
/
Python Security
48s
run-security
/
Semgrep CE Scan
52s
run-security
/
Rust Security
23s
run-security
/
Secret Scanning
10s
run-security
/
Container Scanning
18s
run-docker-compose-validate
/
validate-compose
8s
run-tests
/
test-api
49s
run-tests
/
test-common
51s
run-tests
/
test-dashboard
59s
run-tests
/
test-explore
31s
run-tests
/
test-insights
35s
run-tests
/
test-mcp-server
29s
run-tests
/
test-brainzgraphinator
24s
run-tests
/
test-graphinator
48s
run-tests
/
test-schema-init
30s
run-tests
/
test-tableinator
42s
run-tests
/
test-brainztableinator
23s
run-tests
/
test-js
36s
run-tests
/
test-extractor
2m 59s
Matrix: run-docker-validate / validate-dockerfiles
Matrix: build-discogsography
Annotations
44 warnings and 20 notices
|
run-code-quality / code-quality
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, alexellis/arkade-get@1eef818e467c387d3f50cfe0d2c565d1cbe82b03, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-docker-compose-validate / validate-compose
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: alexellis/arkade-get@1eef818e467c387d3f50cfe0d2c565d1cbe82b03. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-security / Container Scanning
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-brainztableinator
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-brainzgraphinator
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-schema-init
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-mcp-server
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-explore
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-insights
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-tableinator
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-graphinator
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-security / Python Security
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-api
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-common
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-tests / test-dashboard
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-e2e-tests / Test firefox
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-e2e-tests / Test chromium
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-e2e-tests / Test webkit
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-e2e-tests / Test webkit - iPhone 15
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
run-e2e-tests / Test webkit - iPad Pro 11
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (brainzgraphinator, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (brainzgraphinator, true)
embed field value must be shorter than 1024, got 1043
[`c60eef7`](https://github.com/SimplicityGuy/discogsography/commit/c60eef78acc396aefa61c39b6e2d4e1712ea3452) feat(extractor): stream MusicBrainz .tar.xz directly from network to .jsonl.xz
Replace the two-phase download-to-disk + extract pipeline with a single
streaming pass: reqwest bytes_stream → SyncIoBridge → HashingReader →
XzDecoder → tar → XzEncoder → disk. Source .tar.xz files never touch
disk, eliminating ~1 GB of I/O for the release tarball alone. Download
and decompression now run concurrently instead of sequentially.
Key changes:
- Add tokio-util (io-util feature) for StreamReader + SyncIoBridge
- Add HashingReader<R> to tee SHA256 through the byte stream
- Factor extract_entity_from_tarball into generic extract_entity_from_reader<R>
- Replace download_file + disk extract with stream_download_verify_extract
- Update tests for streaming error paths and no-tarball-on-disk assertions
Also includes Dockerfile base image updates and dependency bumps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
build-discogsography (api, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (api, true)
embed field value must be shorter than 1024, got 1043
[`c60eef7`](https://github.com/SimplicityGuy/discogsography/commit/c60eef78acc396aefa61c39b6e2d4e1712ea3452) feat(extractor): stream MusicBrainz .tar.xz directly from network to .jsonl.xz
Replace the two-phase download-to-disk + extract pipeline with a single
streaming pass: reqwest bytes_stream → SyncIoBridge → HashingReader →
XzDecoder → tar → XzEncoder → disk. Source .tar.xz files never touch
disk, eliminating ~1 GB of I/O for the release tarball alone. Download
and decompression now run concurrently instead of sequentially.
Key changes:
- Add tokio-util (io-util feature) for StreamReader + SyncIoBridge
- Add HashingReader<R> to tee SHA256 through the byte stream
- Factor extract_entity_from_tarball into generic extract_entity_from_reader<R>
- Replace download_file + disk extract with stream_download_verify_extract
- Update tests for streaming error paths and no-tarball-on-disk assertions
Also includes Dockerfile base image updates and dependency bumps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
Sensitive data should not be used in the ARG or ENV commands:
api/Dockerfile#L113
SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "JWT_SECRET_KEY")
More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
|
|
Sensitive data should not be used in the ARG or ENV commands:
api/Dockerfile#L113
SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "POSTGRES_PASSWORD")
More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
|
|
build-discogsography (schema-init, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (schema-init, true)
embed field value must be shorter than 1024, got 1043
[`c60eef7`](https://github.com/SimplicityGuy/discogsography/commit/c60eef78acc396aefa61c39b6e2d4e1712ea3452) feat(extractor): stream MusicBrainz .tar.xz directly from network to .jsonl.xz
Replace the two-phase download-to-disk + extract pipeline with a single
streaming pass: reqwest bytes_stream → SyncIoBridge → HashingReader →
XzDecoder → tar → XzEncoder → disk. Source .tar.xz files never touch
disk, eliminating ~1 GB of I/O for the release tarball alone. Download
and decompression now run concurrently instead of sequentially.
Key changes:
- Add tokio-util (io-util feature) for StreamReader + SyncIoBridge
- Add HashingReader<R> to tee SHA256 through the byte stream
- Factor extract_entity_from_tarball into generic extract_entity_from_reader<R>
- Replace download_file + disk extract with stream_download_verify_extract
- Update tests for streaming error paths and no-tarball-on-disk assertions
Also includes Dockerfile base image updates and dependency bumps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
Sensitive data should not be used in the ARG or ENV commands:
schema-init/Dockerfile#L92
SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "POSTGRES_PASSWORD")
More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
|
|
Sensitive data should not be used in the ARG or ENV commands:
schema-init/Dockerfile#L92
SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "NEO4J_PASSWORD")
More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
|
|
build-discogsography (brainztableinator, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (brainztableinator, true)
embed field value must be shorter than 1024, got 1043
[`c60eef7`](https://github.com/SimplicityGuy/discogsography/commit/c60eef78acc396aefa61c39b6e2d4e1712ea3452) feat(extractor): stream MusicBrainz .tar.xz directly from network to .jsonl.xz
Replace the two-phase download-to-disk + extract pipeline with a single
streaming pass: reqwest bytes_stream → SyncIoBridge → HashingReader →
XzDecoder → tar → XzEncoder → disk. Source .tar.xz files never touch
disk, eliminating ~1 GB of I/O for the release tarball alone. Download
and decompression now run concurrently instead of sequentially.
Key changes:
- Add tokio-util (io-util feature) for StreamReader + SyncIoBridge
- Add HashingReader<R> to tee SHA256 through the byte stream
- Factor extract_entity_from_tarball into generic extract_entity_from_reader<R>
- Replace download_file + disk extract with stream_download_verify_extract
- Update tests for streaming error paths and no-tarball-on-disk assertions
Also includes Dockerfile base image updates and dependency bumps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
build-discogsography (insights, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (insights, true)
embed field value must be shorter than 1024, got 1043
[`c60eef7`](https://github.com/SimplicityGuy/discogsography/commit/c60eef78acc396aefa61c39b6e2d4e1712ea3452) feat(extractor): stream MusicBrainz .tar.xz directly from network to .jsonl.xz
Replace the two-phase download-to-disk + extract pipeline with a single
streaming pass: reqwest bytes_stream → SyncIoBridge → HashingReader →
XzDecoder → tar → XzEncoder → disk. Source .tar.xz files never touch
disk, eliminating ~1 GB of I/O for the release tarball alone. Download
and decompression now run concurrently instead of sequentially.
Key changes:
- Add tokio-util (io-util feature) for StreamReader + SyncIoBridge
- Add HashingReader<R> to tee SHA256 through the byte stream
- Factor extract_entity_from_tarball into generic extract_entity_from_reader<R>
- Replace download_file + disk extract with stream_download_verify_extract
- Update tests for streaming error paths and no-tarball-on-disk assertions
Also includes Dockerfile base image updates and dependency bumps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
build-discogsography (dashboard, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (dashboard, true)
embed field value must be shorter than 1024, got 1043
[`c60eef7`](https://github.com/SimplicityGuy/discogsography/commit/c60eef78acc396aefa61c39b6e2d4e1712ea3452) feat(extractor): stream MusicBrainz .tar.xz directly from network to .jsonl.xz
Replace the two-phase download-to-disk + extract pipeline with a single
streaming pass: reqwest bytes_stream → SyncIoBridge → HashingReader →
XzDecoder → tar → XzEncoder → disk. Source .tar.xz files never touch
disk, eliminating ~1 GB of I/O for the release tarball alone. Download
and decompression now run concurrently instead of sequentially.
Key changes:
- Add tokio-util (io-util feature) for StreamReader + SyncIoBridge
- Add HashingReader<R> to tee SHA256 through the byte stream
- Factor extract_entity_from_tarball into generic extract_entity_from_reader<R>
- Replace download_file + disk extract with stream_download_verify_extract
- Update tests for streaming error paths and no-tarball-on-disk assertions
Also includes Dockerfile base image updates and dependency bumps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
build-discogsography (graphinator, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (graphinator, true)
embed field value must be shorter than 1024, got 1043
[`c60eef7`](https://github.com/SimplicityGuy/discogsography/commit/c60eef78acc396aefa61c39b6e2d4e1712ea3452) feat(extractor): stream MusicBrainz .tar.xz directly from network to .jsonl.xz
Replace the two-phase download-to-disk + extract pipeline with a single
streaming pass: reqwest bytes_stream → SyncIoBridge → HashingReader →
XzDecoder → tar → XzEncoder → disk. Source .tar.xz files never touch
disk, eliminating ~1 GB of I/O for the release tarball alone. Download
and decompression now run concurrently instead of sequentially.
Key changes:
- Add tokio-util (io-util feature) for StreamReader + SyncIoBridge
- Add HashingReader<R> to tee SHA256 through the byte stream
- Factor extract_entity_from_tarball into generic extract_entity_from_reader<R>
- Replace download_file + disk extract with stream_download_verify_extract
- Update tests for streaming error paths and no-tarball-on-disk assertions
Also includes Dockerfile base image updates and dependency bumps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
build-discogsography (tableinator, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (tableinator, true)
embed field value must be shorter than 1024, got 1043
[`c60eef7`](https://github.com/SimplicityGuy/discogsography/commit/c60eef78acc396aefa61c39b6e2d4e1712ea3452) feat(extractor): stream MusicBrainz .tar.xz directly from network to .jsonl.xz
Replace the two-phase download-to-disk + extract pipeline with a single
streaming pass: reqwest bytes_stream → SyncIoBridge → HashingReader →
XzDecoder → tar → XzEncoder → disk. Source .tar.xz files never touch
disk, eliminating ~1 GB of I/O for the release tarball alone. Download
and decompression now run concurrently instead of sequentially.
Key changes:
- Add tokio-util (io-util feature) for StreamReader + SyncIoBridge
- Add HashingReader<R> to tee SHA256 through the byte stream
- Factor extract_entity_from_tarball into generic extract_entity_from_reader<R>
- Replace download_file + disk extract with stream_download_verify_extract
- Update tests for streaming error paths and no-tarball-on-disk assertions
Also includes Dockerfile base image updates and dependency bumps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
build-discogsography (extractor, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (extractor, true)
embed field value must be shorter than 1024, got 1043
[`c60eef7`](https://github.com/SimplicityGuy/discogsography/commit/c60eef78acc396aefa61c39b6e2d4e1712ea3452) feat(extractor): stream MusicBrainz .tar.xz directly from network to .jsonl.xz
Replace the two-phase download-to-disk + extract pipeline with a single
streaming pass: reqwest bytes_stream → SyncIoBridge → HashingReader →
XzDecoder → tar → XzEncoder → disk. Source .tar.xz files never touch
disk, eliminating ~1 GB of I/O for the release tarball alone. Download
and decompression now run concurrently instead of sequentially.
Key changes:
- Add tokio-util (io-util feature) for StreamReader + SyncIoBridge
- Add HashingReader<R> to tee SHA256 through the byte stream
- Factor extract_entity_from_tarball into generic extract_entity_from_reader<R>
- Replace download_file + disk extract with stream_download_verify_extract
- Update tests for streaming error paths and no-tarball-on-disk assertions
Also includes Dockerfile base image updates and dependency bumps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
build-discogsography (explore, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
build-discogsography (explore, true)
embed field value must be shorter than 1024, got 1043
[`c60eef7`](https://github.com/SimplicityGuy/discogsography/commit/c60eef78acc396aefa61c39b6e2d4e1712ea3452) feat(extractor): stream MusicBrainz .tar.xz directly from network to .jsonl.xz
Replace the two-phase download-to-disk + extract pipeline with a single
streaming pass: reqwest bytes_stream → SyncIoBridge → HashingReader →
XzDecoder → tar → XzEncoder → disk. Source .tar.xz files never touch
disk, eliminating ~1 GB of I/O for the release tarball alone. Download
and decompression now run concurrently instead of sequentially.
Key changes:
- Add tokio-util (io-util feature) for StreamReader + SyncIoBridge
- Add HashingReader<R> to tee SHA256 through the byte stream
- Factor extract_entity_from_tarball into generic extract_entity_from_reader<R>
- Replace download_file + disk extract with stream_download_verify_extract
- Update tests for streaming error paths and no-tarball-on-disk assertions
Also includes Dockerfile base image updates and dependency bumps.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
|
Cache Performance
Docker cache hit for brainzgraphinator
|
|
Build Metrics
Service: brainzgraphinator, Duration: 106s, Cache Used: true
|
|
Cache Performance
Docker cache hit for api
|
|
Build Metrics
Service: api, Duration: 119s, Cache Used: true
|
|
Cache Performance
Docker cache hit for schema-init
|
|
Build Metrics
Service: schema-init, Duration: 121s, Cache Used: true
|
|
Cache Performance
Docker cache hit for brainztableinator
|
|
Build Metrics
Service: brainztableinator, Duration: 130s, Cache Used: true
|
|
Cache Performance
Docker cache hit for insights
|
|
Build Metrics
Service: insights, Duration: 125s, Cache Used: true
|
|
Cache Performance
Docker cache hit for dashboard
|
|
Build Metrics
Service: dashboard, Duration: 142s, Cache Used: true
|
|
Cache Performance
Docker cache hit for graphinator
|
|
Build Metrics
Service: graphinator, Duration: 140s, Cache Used: true
|
|
Cache Performance
Docker cache hit for tableinator
|
|
Build Metrics
Service: tableinator, Duration: 202s, Cache Used: true
|
|
Cache Performance
Docker cache hit for extractor
|
|
Build Metrics
Service: extractor, Duration: 369s, Cache Used: true
|
|
Cache Performance
Docker cache hit for explore
|
|
Build Metrics
Service: explore, Duration: 413s, Cache Used: true
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
SimplicityGuy~discogsography~4PGBN3.dockerbuild
|
80.7 KB |
sha256:ec4c5bfbcee48869a8a62b5b6ca54af4da8985a78dd48c41489609874e9895af
|
|
|
SimplicityGuy~discogsography~CAIAMR.dockerbuild
|
100 KB |
sha256:ee921d5addf2c7ab66e2946be7d06fe8a0dc9d405431522ec8b7871f38d53d34
|
|
|
SimplicityGuy~discogsography~PTMI3Z.dockerbuild
|
106 KB |
sha256:93d25539328da15c731acddce01d4263f104a7887c380c353e87af22ed77de26
|
|
|
SimplicityGuy~discogsography~PVBKNI.dockerbuild
|
79.4 KB |
sha256:07070d4d86863572deff0d9dd236d307a1534e5e5ae68ad2682ff95ae9d984e3
|
|
|
SimplicityGuy~discogsography~QJMSQM.dockerbuild
|
79.8 KB |
sha256:56c1bdbccb5af86c4de4ddd43abe18b587d92c29251b81574ef0603545e4ff3a
|
|
|
SimplicityGuy~discogsography~QPROZM.dockerbuild
|
78.6 KB |
sha256:03009c45196a49c3467fb6487a31e8c539ef743d9e8d97576af65e1f263a1a31
|
|
|
SimplicityGuy~discogsography~R4YYP1.dockerbuild
|
78.1 KB |
sha256:cbe3ea00158a962d54093f7946294d02426dba2761aff9b3acfa7ba37f1f0a8a
|
|
|
SimplicityGuy~discogsography~VN6GEI.dockerbuild
|
74.3 KB |
sha256:2d282afd73632cb43d837ad4bcb51f4c5ece3fd2bc6bb0316ce3ac26ff3b314c
|
|
|
SimplicityGuy~discogsography~WJZTHW.dockerbuild
|
103 KB |
sha256:601276b82da7d6bfe0967a89f0ff62bb5d13409e4b53b1c2b514808322a89c9b
|
|
|
SimplicityGuy~discogsography~YXUNKN.dockerbuild
|
83.2 KB |
sha256:26f2509c95dda066c5a7a974940aa2827e12937106d7918eec405ba117f3f290
|
|