actions: test {upload,download}-artifacts@v4 support

If Forgejo version is >= 7.0 and Forgejo runner > 3.3.0 artifacts@v4
are tested to work with a forked modified version that claims to be
compatible.
This commit is contained in:
Earl Warren 2024-03-21 14:25:28 +01:00
parent c461ace62b
commit e1fd4cbc0f
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
2 changed files with 64 additions and 0 deletions

View file

@ -76,6 +76,16 @@ function actions_teardown() {
stop_daemon forgejo
}
function actions_runner_version() {
local runner_version=$($DIR/forgejo-runner --version | sed -n -e 's/forgejo-runner version v//p')
if test -z "$runner_version" ; then
$DIR/forgejo-runner --version
echo failed to parse version
false
fi
echo $runner_version
}
function test_actions() {
local versions="${1:-1.20 1.21 $RELEASE_NUMBERS_AND_DEV}"
@ -84,6 +94,13 @@ function test_actions() {
log_info "Testing actions for $version"
actions_setup $version
local runner_version=$(actions_runner_version)
if dpkg --compare-versions $version gt 7.0 && dpkg --compare-versions $runner_version gt 3.3.0 ; then
for example in artifacts-v4 ; do
run actions_verify_example $example
done
fi
for example in echo checkout service container expression local-action docker-action if if-fail ; do
run actions_verify_example $example

View file

@ -0,0 +1,47 @@
on: [push]
jobs:
upload-many:
runs-on: docker
steps:
- run: mkdir -p artifacts
- run: touch artifacts/ONE artifacts/TWO
- uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
name: many-artifacts
path: artifacts/
download-many:
needs: [upload-many]
runs-on: docker
steps:
- uses: https://code.forgejo.org/forgejo/download-artifact@v4
- run: |
test -f many-artifacts/ONE
test -f many-artifacts/TWO
upload-one:
runs-on: docker
steps:
- run: mkdir -p path/to/artifact
- run: echo hello > path/to/artifact/world.txt
- uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
name: my-artifact
path: path/to/artifact/world.txt
download-one:
needs: [upload-one]
runs-on: docker
steps:
- run: "! test -f world.txt"
- uses: https://code.forgejo.org/forgejo/download-artifact@v4
with:
name: my-artifact
- run: "test -f world.txt"