Skip to content

feat(extractor): stream MusicBrainz .tar.xz directly from network to … #1183

feat(extractor): stream MusicBrainz .tar.xz directly from network to …

feat(extractor): stream MusicBrainz .tar.xz directly from network to … #1183

Triggered via push April 16, 2026 01:51
Status Success
Total duration 16m 17s
Artifacts 10

build.yml

on: push
detect-changes
4s
detect-changes
run-code-quality  /  code-quality
2m 46s
run-code-quality / code-quality
list-sub-projects  /  list-sub-projects
2s
list-sub-projects / list-sub-projects
Matrix: run-e2e-tests / e2e-test
run-security  /  Python Security
48s
run-security / Python Security
run-security  /  Semgrep CE Scan
52s
run-security / Semgrep CE Scan
run-security  /  Rust Security
23s
run-security / Rust Security
run-security  /  Secret Scanning
10s
run-security / Secret Scanning
run-security  /  Container Scanning
18s
run-security / Container Scanning
run-docker-compose-validate  /  validate-compose
8s
run-docker-compose-validate / validate-compose
run-tests  /  test-api
49s
run-tests / test-api
run-tests  /  test-common
51s
run-tests / test-common
run-tests  /  test-dashboard
59s
run-tests / test-dashboard
run-tests  /  test-explore
31s
run-tests / test-explore
run-tests  /  test-insights
35s
run-tests / test-insights
run-tests  /  test-mcp-server
29s
run-tests / test-mcp-server
run-tests  /  test-brainzgraphinator
24s
run-tests / test-brainzgraphinator
run-tests  /  test-graphinator
48s
run-tests / test-graphinator
run-tests  /  test-schema-init
30s
run-tests / test-schema-init
run-tests  /  test-tableinator
42s
run-tests / test-tableinator
run-tests  /  test-brainztableinator
23s
run-tests / test-brainztableinator
run-tests  /  test-js
36s
run-tests / test-js
run-tests  /  test-extractor
2m 59s
run-tests / test-extractor
Matrix: run-docker-validate / validate-dockerfiles
aggregate-results
4s
aggregate-results
Matrix: build-discogsography
Fit to window
Zoom out
Zoom in

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