Merge pull request 'actions: test {upload,download}-artifacts@v4 support' (#121) from earl-warren/end-to-end:wip-artifacts-v4 into main

Reviewed-on: https://code.forgejo.org/forgejo/end-to-end/pulls/121
This commit is contained in:
earl-warren 2024-03-21 14:16:04 +00:00
commit 73ef53dce5
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"