Skip to content

Gitea rerurns 404 when trying to download artifact via Gitea actions #33353

Closed
@this-username-has-been-taken

Description

Description

Hello!

I was trying to download an artifact that was published in a different workflow and faced with a 404 error returned by Gitea.

Let's assume that we have 2 workflows:

workflow1.yml - generates and publishes an artifact under build_details_{run_id} name

name: Generate and publish artifacts
on:
  workflow_dispatch:
jobs:
  generate_publish:
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: write
    steps:
      - name: Generate artifacts
        shell: bash
        run: |
          mkdir output
          echo "TEST_VAR=123" | tee -a output/build_details.txt
      - name: Publish artifacts
        uses: christopherhx/gitea-upload-artifact@v4
        with:
          name: build_details_${{ github.run_id }}
          path: ${{ github.workspace }}/output/*
          retention-days: 7

workflow2.yml - downloads artifact published by workflow2.yml

name: Download artifact
on:
  workflow_dispatch:
    inputs:
      build-id:
        type: string
        description: Run ID
        required: true
jobs:
  download_artifact:
    runs-on: linux_amd64
    permissions: read-all
    steps:
      - name: Download artifact
        uses: christopherhx/gitea-download-artifact@v4
        with:
          name: build_details_${{ inputs.build-id }}
          github-token: ${{ github.token }}
          run-id: ${{ inputs.build-id }}
          path: input

Now let's assume that workflow 1 has been successfully completed: it recieved run id = 22 and it published an artifact named build_details_22.
If I run workflow 2 and pass 22 as build-id parameter I will get the following error: ::error::Unable to download artifact(s): 404 page not found%0A

If I replace Download artifact step in workflow 2 with an alternative action:

      - name: Download artifact
        uses: dawidd6/action-download-artifact@v7
        with:
          github_token: ${{ github.token }}
          run_number: ${{ inputs.build-id }}
          name: build_details_${{ inputs.build-id }}
          workflow: workflow1.yml

I will get the same error: ::error::404 page not found%0A

Taking into account the same error messages (followed by %0A) I think that there is a bug exist in some of the Gitea endpoint(s).
I appreciate any advice how to fix the issue

Gitea Version

1.23.1

Can you reproduce the bug on the Gitea demo site?

No: there are no runners available on the demo site

Log Gist

No response

Screenshots

No response

Git Version

No response

Operating System

Debian 12

How are you running Gitea?

Gitea is running in the Docker container.
Gitea act runner is installed directly on the server.

Database

PostgreSQL

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions