chore: do not needlessly upload an artifact when there is no build (#916)

- ${{ needs.build.outputs.built }} is true if there is a build from source, false otherwise
- prepare-end-to-end local action does not attempt to download an artifact if inputs.built  is false

Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/916
Reviewed-by: Gusted <gusted@noreply.code.forgejo.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
This commit is contained in:
Earl Warren 2025-08-15 07:34:38 +00:00 committed by earl-warren
parent 761ff8aa08
commit 6455896fd3
No known key found for this signature in database
GPG key ID: F128CBE6AB3A7201
2 changed files with 23 additions and 0 deletions

View file

@ -1,3 +1,7 @@
inputs:
built:
description: 'True if a source build is available, false otherwise'
runs:
using: "composite"
steps:
@ -16,6 +20,7 @@ runs:
install-only: true
- run: forgejo-binary.sh ensure_user forgejo
- uses: actions/download-artifact@v3
if: ${{ inputs.built == true }}
with:
name: forgejo-dev
path: /srv/forgejo-binaries

View file

@ -26,18 +26,22 @@ jobs:
runs-on: docker
container:
image: 'code.forgejo.org/oci/node:20-bookworm'
outputs:
built: "${{ steps.build.outputs.value }}"
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- uses: https://data.forgejo.org/actions/setup-go@v5
with:
go-version: "1.22"
- name: lib/build.sh
id: build
run: |
mkdir $d /tmp/forgejo-upload
touch /tmp/forgejo-upload/PLACEHOLDER
if ! test -f forgejo/build-from-sources; then
echo forgejo/build-from-sources is not present, do not build any version from source
echo "built=false" >> $FORGEJO_OUTPUT
exit 0
fi
@ -57,7 +61,11 @@ jobs:
$forgejo --version
mv $forgejo /tmp/forgejo-upload/forgejo-$version
done
echo "built=true" >> $FORGEJO_OUTPUT
- uses: actions/upload-artifact@v3
if: ${{ steps.build.outputs.built == true }}
with:
name: forgejo-dev
path: /tmp/forgejo-upload
@ -68,6 +76,8 @@ jobs:
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/prepare-end-to-end
with:
built: ${{ needs.build.outputs.built }}
- run: su forgejo -c "./end-to-end.sh test_packages"
- name: full logs
if: always()
@ -79,6 +89,8 @@ jobs:
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/prepare-end-to-end
with:
built: ${{ needs.build.outputs.built }}
- run: ./end-to-end.sh prepare_dockerd
- run: su forgejo -c "./end-to-end.sh test_actions"
- name: full logs
@ -91,6 +103,8 @@ jobs:
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/prepare-end-to-end
with:
built: ${{ needs.build.outputs.built }}
- name: install zstd
run: |
export DEBIAN_FRONTEND=noninteractive
@ -126,6 +140,8 @@ jobs:
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/prepare-end-to-end
with:
built: ${{ needs.build.outputs.built }}
- name: set full-version
id: full-version
shell: bash
@ -160,6 +176,8 @@ jobs:
steps:
- uses: https://data.forgejo.org/actions/checkout@v4
- uses: ./.forgejo/prepare-end-to-end
with:
built: ${{ needs.build.outputs.built }}
- run: su forgejo -c "./end-to-end.sh test_upgrades"
- run: su forgejo -c "./end-to-end.sh test_storage"
- name: full logs