Latest release 2.7.3 has problems with uploading multiple large files #110

Open
opened 2025-12-09 17:10:57 +00:00 by Crown0815 · 3 comments
Contributor

Uploading multiple large files fails on v2.7.3 but works fine on 2.7.2.

How to reproduce:

on:
  push:
    branches: ['**']

jobs:
  upload-files:
    strategy:
      matrix:
        version: [v2.7.2, v2.7.3]
    name: Test file upload
    runs-on: ubuntu-latest    
    permissions:
      contents: write
    steps:
      - name: Install Runner Dependencies
        run: |
          apt-get update && apt-get install -y nodejs

      - name: Create File
        run: |
          dd if=/dev/urandom of=file1.dat  bs=1024K count=1800
          dd if=/dev/urandom of=file2.dat  bs=1024K count=1800
    
      - name: Upload File
        uses: actions/forgejo-release@${{ matrix.version }}
        with:
          direction: upload
          release-dir: .
          tag: ${{ matrix.version }}
          hide-archive-link: true
          prerelease: true
          override: true
          verbose: true

I attached the log files for the different versions.
It is likely an issue with tea since that was the main update of version 2.7.3

I also tried with:

  • 5x dd if=/dev/urandom of=file*.dat bs=1024K count=1024
  • 1x dd if=/dev/urandom of=file1.dat bs=1024K count=1800
  • 1x dd if=/dev/urandom of=file1.dat bs=1024K count=1000 and 1x dd if=/dev/urandom of=file1.dat bs=1024K count=1800

which all worked fine, so it seems to not be limited by the total size of files being uploaded but by a combination of individual large files.

The runners I am using have 8GB of RAM (not sure if this is relevant)

Uploading multiple large files fails on v2.7.3 but works fine on 2.7.2. How to reproduce: ```yaml on: push: branches: ['**'] jobs: upload-files: strategy: matrix: version: [v2.7.2, v2.7.3] name: Test file upload runs-on: ubuntu-latest permissions: contents: write steps: - name: Install Runner Dependencies run: | apt-get update && apt-get install -y nodejs - name: Create File run: | dd if=/dev/urandom of=file1.dat bs=1024K count=1800 dd if=/dev/urandom of=file2.dat bs=1024K count=1800 - name: Upload File uses: actions/forgejo-release@${{ matrix.version }} with: direction: upload release-dir: . tag: ${{ matrix.version }} hide-archive-link: true prerelease: true override: true verbose: true ``` I attached the log files for the different versions. It is likely an issue with `tea` since that was the main update of version 2.7.3 I also tried with: - 5x `dd if=/dev/urandom of=file*.dat bs=1024K count=1024` - 1x `dd if=/dev/urandom of=file1.dat bs=1024K count=1800` - 1x `dd if=/dev/urandom of=file1.dat bs=1024K count=1000` and 1x `dd if=/dev/urandom of=file1.dat bs=1024K count=1800` which all worked fine, so it seems to not be limited by the total size of files being uploaded but by a combination of individual large files. The runners I am using have 8GB of RAM (not sure if this is relevant)
Author
Contributor

Just found this:
image

Looks like the file handling somehow changed in tea 0.10.

Just found this: ![image](/attachments/2127544e-7099-4a46-80db-b89967dad52a) Looks like the file handling somehow changed in tea 0.10.
146 KiB
Owner

maybe we should use curl to upload? in the hopper it will stream it instead of loading into memory?

maybe we should use curl to upload? in the hopper it will stream it instead of loading into memory?
Contributor

@viceice wrote in #110 (comment):

maybe we should use curl to upload? in the hopper it will stream it instead of loading into memory?

I agree as seen in #105. It's pretty much just one or two commands anyways.

@viceice wrote in https://code.forgejo.org/actions/forgejo-release/issues/110#issuecomment-69595: > maybe we should use curl to upload? in the hopper it will stream it instead of loading into memory? I agree as seen in #105. It's pretty much just one or two commands anyways.
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
actions/forgejo-release#110
No description provided.