Skip to content

Artifact server: Error unauthorized on blob upload with upload-artifact@v6Β #6021

@TWiStErRob

Description

@TWiStErRob

Bug report info

act version:            0.2.84
GOOS:                   darwin
GOARCH:                 arm64
NumCPU:                 16
Docker host:            unix:///Users/username/.rd/docker.sock
Sockets found:
Config files:           
        /Users/username/.actrc:
                -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-latest
                -P ubuntu-20.04=ghcr.io/catthehacker/ubuntu:act-20.04
                -P ubuntu-18.04=ghcr.io/catthehacker/ubuntu:act-18.04
                -P ubuntu-22.04=ghcr.io/catthehacker/ubuntu:act-22.04
Build info:
        Go version:            go1.24.0
        Module path:           github.com/nektos/act
        Main version:          v0.2.84
        Main path:             github.com/nektos/act
        Main checksum:         
        Build settings:
                -buildmode:           exe
                -compiler:            gc
                -ldflags:             -s -w -X main.version=0.2.84 -X main.commit=d93106d194bba273d70d2ba604ea633c3f396b59 -X main.date=2026-01-01T02:51:38Z -X main.builtBy=goreleaser
                CGO_ENABLED:          0
                GOARCH:               arm64
                GOOS:                 darwin
                GOARM64:              v8.0
                vcs:                  git
                vcs.revision:         d93106d194bba273d70d2ba604ea633c3f396b59
                vcs.time:             2026-01-01T02:51:14Z
                vcs.modified:         false
Docker Engine:
        Engine version:        29.1.3
        Engine runtime:        runc
        Cgroup version:        2
        Cgroup driver:         cgroupfs
        Storage driver:        overlayfs
        Registry URI:          https://index.docker.io/v1/
        OS:                    Alpine Linux v3.23
        OS type:               linux
        OS version:            3.23.2
        OS arch:               aarch64
        OS kernel:             6.6.119-0-virt
        OS CPU:                6
        OS memory:             15968 MB
        Security options:
                name=seccomp,profile=builtin
                name=cgroupns

Command used with act

rm -rf artifacts && mkdir -p artifacts && act push --artifact-server-path artifacts -W .github/workflows/upload.yml -v

Describe issue

This section was AI generated with claude-opus-4.6(high)

actions/upload-artifact@v6 fails with act's artifact server.
The CreateArtifact RPC succeeds and returns a signed upload URL,
but the subsequent PUT to upload the artifact blob fails with Error unauthorized during signature verification.
@v5 works correctly.

Investigation

upload-artifact@v6 depends on @actions/artifact@^5.0.0 (vs v5's @actions/artifact@^4.0.0). The flow is:

  1. CreateArtifact succeeds β€” returns a signed URL with HMAC signature for blob upload
  2. Blob upload PUT fails β€” act's verifySignature() rejects the request with Error unauthorized

The verifySignature() function computes an HMAC over the endp, expires, artifactName, and taskID URL query parameters. @actions/artifact@5 appears to have changed how it constructs or encodes the upload URL compared to @actions/artifact@4, causing the HMAC signature to no longer match.

This likely involves a difference in URL encoding or parameter ordering between the two @actions/artifact major versions when the client re-sends the signed URL back to the artifact server for the blob upload.

Link to GitHub repository

No response

Workflow content

# .github/workflows/upload.yml

name: Upload Test
on: push
jobs:
  upload:
    runs-on: ubuntu-latest
    steps:
      - run: echo "hello" > test.txt
      - uses: actions/upload-artifact@v6
        with:
          name: test-artifact
          path: test.txt

Relevant log output

[Upload Test/upload] ⭐ Run Main actions/upload-artifact@v6
[Upload Test/upload] [DEBUG] Writing entry to tarball workflow/outputcmd.txt len:0
[Upload Test/upload] [DEBUG] Writing entry to tarball workflow/statecmd.txt len:0
[Upload Test/upload] [DEBUG] Writing entry to tarball workflow/pathcmd.txt len:0
[Upload Test/upload] [DEBUG] Writing entry to tarball workflow/envs.txt len:0
[Upload Test/upload] [DEBUG] Writing entry to tarball workflow/SUMMARY.md len:0
[Upload Test/upload] [DEBUG] Extracting content to '/var/run/act'
[Upload Test/upload] [DEBUG] Loading revision from git directory
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] HEAD points to '5802ed20604fc129c0a2d3bcab627ab066f62b2e'
[Upload Test/upload] [DEBUG] using github ref: refs/heads/main
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] About to run action &{Upload a Build Artifact GitHub Upload a build artifact that can be used by subsequent workflow steps map[compression-level:{The level of compression for Zlib to be applied to the artifact archive. The value can range from 0 to 9: - 0: No compression - 1: Best speed - 6: Default compression (same as GNU Gzip) - 9: Best compression Higher levels will result in better compression, but will take longer to complete. For large files that are not easily compressed, a value of 0 is recommended for significantly faster uploads.
 false 6} if-no-files-found:{The desired behavior if no files are found using the provided path.
Available Options:
  warn: Output a warning but do not fail the action
  error: Fail the action with an error message
  ignore: Do not output any warnings or errors, the action does not fail
 false warn} include-hidden-files:{If true, hidden files will be included in the artifact. If false, hidden files will be excluded from the artifact.
 false false} name:{Artifact name false artifact} overwrite:{If true, an artifact with a matching name will be deleted before a new one is uploaded. If false, the action will fail if an artifact for the given name already exists. Does not fail if the artifact does not exist.
 false false} path:{A file, directory or wildcard pattern that describes what to upload true } retention-days:{Duration after which artifact will expire in days. 0 means using default retention.
Minimum 1 day. Maximum 90 days unless changed from the repository settings page.
 false }] map[artifact-digest:{SHA-256 digest for the artifact that was just uploaded. Empty if the artifact upload failed.
 } artifact-id:{A unique identifier for the artifact that was just uploaded. Empty if the artifact upload failed.
This ID can be used as input to other APIs to download, delete or get more information about an artifact: https://docs.github.com/en/rest/actions/artifacts
 } artifact-url:{A download URL for the artifact that was just uploaded. Empty if the artifact upload failed.
This download URL only works for requests Authenticated with GitHub. Anonymous downloads will be prompted to first login.  If an anonymous download URL is needed than a short time restricted URL can be generated using the download artifact API: https://docs.github.com/en/rest/actions/artifacts#download-an-artifact    
This URL will be valid for as long as the artifact exists and the workflow run and repository exists. Once an artifact has expired this URL will no longer work. Common uses cases for such a download URL can be adding download links to artifacts in descriptions or comments on pull requests or issues.
 }] {node24 map[] dist/upload/index.js  always()  always()     [] []} { }}
[Upload Test/upload] [DEBUG] Loading revision from git directory
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] HEAD points to '5802ed20604fc129c0a2d3bcab627ab066f62b2e'
[Upload Test/upload] [DEBUG] using github ref: refs/heads/main
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] Loading revision from git directory
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] HEAD points to '5802ed20604fc129c0a2d3bcab627ab066f62b2e'
[Upload Test/upload] [DEBUG] using github ref: refs/heads/main
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] type=remote-action actionDir=/Users/username/.cache/act/actions-upload-artifact@v6 actionPath= workdir=/Users/username/repro actionCacheDir=/Users/username/.cache/act actionName=actions-upload-artifact@v6 containerActionDir=/var/run/act/actions/actions-upload-artifact@v6
[Upload Test/upload] [DEBUG] /var/run/act/actions/actions-upload-artifact@v6
[Upload Test/upload] [DEBUG] Removing /Users/username/.cache/act/actions-upload-artifact@v6/.gitignore before docker cp
[Upload Test/upload]   🐳  docker cp src=/Users/username/.cache/act/actions-upload-artifact@v6/ dst=/var/run/act/actions/actions-upload-artifact@v6/
[Upload Test/upload] [DEBUG] Writing tarball /var/folders/zx/5g72bq_56p94hjv72zmzxv_c0000gp/T/act3817101610 from /Users/username/.cache/act/actions-upload-artifact@v6/
[Upload Test/upload] [DEBUG] Stripping prefix:/Users/username/.cache/act/actions-upload-artifact@v6/ src:/Users/username/.cache/act/actions-upload-artifact@v6/
[Upload Test/upload] [DEBUG] Extracting content from '/var/folders/zx/5g72bq_56p94hjv72zmzxv_c0000gp/T/act3817101610' to '/var/run/act/actions/actions-upload-artifact@v6/'
[Upload Test/upload] [DEBUG] executing remote job container: [/opt/acttoolcache/node/24.14.0/arm64/bin/node /var/run/act/actions/actions-upload-artifact@v6/dist/upload/index.js]
[Upload Test/upload]   🐳  docker exec cmd=[/opt/acttoolcache/node/24.14.0/arm64/bin/node /var/run/act/actions/actions-upload-artifact@v6/dist/upload/index.js] user= workdir=
[Upload Test/upload] [DEBUG] Exec command '[/opt/acttoolcache/node/24.14.0/arm64/bin/node /var/run/act/actions/actions-upload-artifact@v6/dist/upload/index.js]'
[Upload Test/upload] [DEBUG] Working directory '/Users/username/repro'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::followSymbolicLinks 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::implicitDescendants 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::omitBrokenSymbolicLinks 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::excludeHiddenFiles 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::followSymbolicLinks 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::implicitDescendants 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::matchDirectories 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::omitBrokenSymbolicLinks 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::excludeHiddenFiles 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Search path '/Users/username/repro/test.txt'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::File:/Users/username/repro/test.txt was found using the provided searchPath
| With the provided path, there will be 1 file uploaded
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Root artifact directory is /Users/username/repro
| Artifact name is valid!
| Root directory input is valid!
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Workflow Run Backend ID: 1
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Workflow Job Run Backend ID: 1
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::[Request] CreateArtifact http://192.168.0.144:34567/twirp/github.actions.results.api.v1.ArtifactService/CreateArtifact
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::[Response] - 200
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Headers: {%0A  "content-type": "application/json;charset=utf-8",%0A  "date": "Tue, 10 Mar 2026 17:46:52 GMT",%0A  "content-length": "262"%0A}
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Body: {%0A  "ok": true,%0A  "signedUploadUrl": "http://192.168.0.144:34567/twirp/github.actions.results.api.v1.ArtifactService/UploadArtifact?sig=s5g5pHLuaUzlecaRtKr7OV5ylB1-VVHRl7vEeNI9MZo=&expires=2026-03-10+18%253A46%253A52.133411+%252B0000+GMT&artifactName=test-artifact&taskID=1"%0A}
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Creating Artifact archive with compressionLevel: 6
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Zip write high watermark value 8388608
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Zip read high watermark value 8388608
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Uploading artifact zip to blob storage with maxConcurrency: 5, bufferSize: 8388608
| Beginning upload of artifact content to blob storage
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Zip stream for upload has ended.
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Zip stream for upload has finished.
ERRO[0002] Error unauthorized                           
[Upload Test/upload]   ❗  ::error::
[Upload Test/upload]   ❌  Failure - Main actions/upload-artifact@v6 [453.247666ms]
[Upload Test/upload] exitcode '1': failure

Additional information

Good output from v5:

[Upload Test/upload] ⭐ Run Main actions/upload-artifact@v5
[Upload Test/upload] [DEBUG] Writing entry to tarball workflow/outputcmd.txt len:0
[Upload Test/upload] [DEBUG] Writing entry to tarball workflow/statecmd.txt len:0
[Upload Test/upload] [DEBUG] Writing entry to tarball workflow/pathcmd.txt len:0
[Upload Test/upload] [DEBUG] Writing entry to tarball workflow/envs.txt len:0
[Upload Test/upload] [DEBUG] Writing entry to tarball workflow/SUMMARY.md len:0
[Upload Test/upload] [DEBUG] Extracting content to '/var/run/act'
[Upload Test/upload] [DEBUG] Loading revision from git directory
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] HEAD points to '5802ed20604fc129c0a2d3bcab627ab066f62b2e'
[Upload Test/upload] [DEBUG] using github ref: refs/heads/main
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] About to run action &{Upload a Build Artifact GitHub Upload a build artifact that can be used by subsequent workflow steps map[compression-level:{The level of compression for Zlib to be applied to the artifact archive. The value can range from 0 to 9: - 0: No compression - 1: Best speed - 6: Default compression (same as GNU Gzip) - 9: Best compression Higher levels will result in better compression, but will take longer to complete. For large files that are not easily compressed, a value of 0 is recommended for significantly faster uploads.
 false 6} if-no-files-found:{The desired behavior if no files are found using the provided path.
Available Options:
  warn: Output a warning but do not fail the action
  error: Fail the action with an error message
  ignore: Do not output any warnings or errors, the action does not fail
 false warn} include-hidden-files:{If true, hidden files will be included in the artifact. If false, hidden files will be excluded from the artifact.
 false false} name:{Artifact name false artifact} overwrite:{If true, an artifact with a matching name will be deleted before a new one is uploaded. If false, the action will fail if an artifact for the given name already exists. Does not fail if the artifact does not exist.
 false false} path:{A file, directory or wildcard pattern that describes what to upload true } retention-days:{Duration after which artifact will expire in days. 0 means using default retention.
Minimum 1 day. Maximum 90 days unless changed from the repository settings page.
 false }] map[artifact-digest:{SHA-256 digest for the artifact that was just uploaded. Empty if the artifact upload failed.
 } artifact-id:{A unique identifier for the artifact that was just uploaded. Empty if the artifact upload failed.
This ID can be used as input to other APIs to download, delete or get more information about an artifact: https://docs.github.com/en/rest/actions/artifacts
 } artifact-url:{A download URL for the artifact that was just uploaded. Empty if the artifact upload failed.
This download URL only works for requests Authenticated with GitHub. Anonymous downloads will be prompted to first login.  If an anonymous download URL is needed than a short time restricted URL can be generated using the download artifact API: https://docs.github.com/en/rest/actions/artifacts#download-an-artifact    
This URL will be valid for as long as the artifact exists and the workflow run and repository exists. Once an artifact has expired this URL will no longer work. Common uses cases for such a download URL can be adding download links to artifacts in descriptions or comments on pull requests or issues.
 }] {node20 map[] dist/upload/index.js  always()  always()     [] []} { }}
[Upload Test/upload] [DEBUG] Loading revision from git directory
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] HEAD points to '5802ed20604fc129c0a2d3bcab627ab066f62b2e'
[Upload Test/upload] [DEBUG] using github ref: refs/heads/main
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] Loading revision from git directory
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] HEAD points to '5802ed20604fc129c0a2d3bcab627ab066f62b2e'
[Upload Test/upload] [DEBUG] using github ref: refs/heads/main
[Upload Test/upload] [DEBUG] Found revision: 5802ed20604fc129c0a2d3bcab627ab066f62b2e
[Upload Test/upload] [DEBUG] type=remote-action actionDir=/Users/username/.cache/act/actions-upload-artifact@v5 actionPath= workdir=/Users/username/repro actionCacheDir=/Users/username/.cache/act actionName=actions-upload-artifact@v5 containerActionDir=/var/run/act/actions/actions-upload-artifact@v5
[Upload Test/upload] [DEBUG] /var/run/act/actions/actions-upload-artifact@v5
[Upload Test/upload] [DEBUG] Removing /Users/username/.cache/act/actions-upload-artifact@v5/.gitignore before docker cp
[Upload Test/upload]   🐳  docker cp src=/Users/username/.cache/act/actions-upload-artifact@v5/ dst=/var/run/act/actions/actions-upload-artifact@v5/
[Upload Test/upload] [DEBUG] Writing tarball /var/folders/zx/5g72bq_56p94hjv72zmzxv_c0000gp/T/act3740749243 from /Users/username/.cache/act/actions-upload-artifact@v5/
[Upload Test/upload] [DEBUG] Stripping prefix:/Users/username/.cache/act/actions-upload-artifact@v5/ src:/Users/username/.cache/act/actions-upload-artifact@v5/
[Upload Test/upload] [DEBUG] Extracting content from '/var/folders/zx/5g72bq_56p94hjv72zmzxv_c0000gp/T/act3740749243' to '/var/run/act/actions/actions-upload-artifact@v5/'
[Upload Test/upload] [DEBUG] executing remote job container: [/opt/acttoolcache/node/24.14.0/arm64/bin/node /var/run/act/actions/actions-upload-artifact@v5/dist/upload/index.js]
[Upload Test/upload]   🐳  docker exec cmd=[/opt/acttoolcache/node/24.14.0/arm64/bin/node /var/run/act/actions/actions-upload-artifact@v5/dist/upload/index.js] user= workdir=
[Upload Test/upload] [DEBUG] Exec command '[/opt/acttoolcache/node/24.14.0/arm64/bin/node /var/run/act/actions/actions-upload-artifact@v5/dist/upload/index.js]'
[Upload Test/upload] [DEBUG] Working directory '/Users/username/repro'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::followSymbolicLinks 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::implicitDescendants 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::omitBrokenSymbolicLinks 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::excludeHiddenFiles 'true'
| (node:37) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
| (Use `node --trace-deprecation ...` to show where the warning was created)
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::followSymbolicLinks 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::implicitDescendants 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::matchDirectories 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::omitBrokenSymbolicLinks 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::excludeHiddenFiles 'true'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Search path '/Users/username/repro/test.txt'
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::File:/Users/username/repro/test.txt was found using the provided searchPath
| With the provided path, there will be 1 file uploaded
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Root artifact directory is /Users/username/repro
| Artifact name is valid!
| Root directory input is valid!
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Workflow Run Backend ID: 1
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Workflow Job Run Backend ID: 1
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::[Request] CreateArtifact http://192.168.0.144:34567/twirp/github.actions.results.api.v1.ArtifactService/CreateArtifact
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::[Response] - 200
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Headers: {%0A  "content-type": "application/json;charset=utf-8",%0A  "date": "Tue, 10 Mar 2026 17:51:17 GMT",%0A  "content-length": "262"%0A}
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Body: {%0A  "ok": true,%0A  "signedUploadUrl": "http://192.168.0.144:34567/twirp/github.actions.results.api.v1.ArtifactService/UploadArtifact?sig=Y4Ect2FGI3Ub-d2oaeKkFv2ap9e7JZ3ZUbN8OujhI48=&expires=2026-03-10+18%253A51%253A17.617692+%252B0000+GMT&artifactName=test-artifact&taskID=1"%0A}
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Creating Artifact archive with compressionLevel: 6
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Zip write high watermark value 8388608
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Zip read high watermark value 8388608
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Uploading artifact zip to blob storage with maxConcurrency: 5, bufferSize: 8388608
| Beginning upload of artifact content to blob storage
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Zip stream for upload has ended.
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Zip stream for upload has finished.
| (node:37) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
| Uploaded bytes 138
| Finished uploading artifact content to blob storage!
| SHA256 digest of uploaded artifact zip is a42abf06d2efc13b0147c0ddb46a540820de8b9fcb8d90be9d0ca2c49def9c0e
| Finalizing artifact upload
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::[Request] FinalizeArtifact http://192.168.0.144:34567/twirp/github.actions.results.api.v1.ArtifactService/FinalizeArtifact
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::[Response] - 200
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Headers: {%0A  "content-type": "application/json;charset=utf-8",%0A  "date": "Tue, 10 Mar 2026 17:51:17 GMT",%0A  "content-length": "38"%0A}
[Upload Test/upload] [DEBUG]   πŸ’¬  ::debug::Body: {%0A  "ok": true,%0A  "artifactId": "2068317754"%0A}
| Artifact test-artifact.zip successfully finalized. Artifact ID 2068317754
| Artifact test-artifact has been successfully uploaded! Final size is 138 bytes. Artifact ID is 2068317754
| Artifact download URL: https://github.com/org/repo/actions/runs/1/artifacts/2068317754
[Upload Test/upload]   βœ…  Success - Main actions/upload-artifact@v5 [474.047125ms]
[Upload Test/upload]   βš™  ::set-output:: artifact-id=2068317754
[Upload Test/upload]   βš™  ::set-output:: artifact-digest=a42abf06d2efc13b0147c0ddb46a540820de8b9fcb8d90be9d0ca2c49def9c0e
[Upload Test/upload]   βš™  ::set-output:: artifact-url=https://github.com/org/repo/actions/runs/1/artifacts/2068317754

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions