1
0
Fork 0
mirror of https://code.forgejo.org/forgejo/runner.git synced 2025-09-15 18:57:01 +00:00

chore: local action name collision regression tests

If the tag name collide (e.g. v9.1.1), it will fail with:

```
[push.yml/test] [DEBUG] Working directory '/home/earl-warren/software/runner/act/runner/testdata/local-action-dockerfile-tag/example2'
[push.yml/test]     Failure - Main [[ "example1 SOMEONE" == "example2 SOMEONE" ]]
```
This commit is contained in:
Earl Warren 2025-08-28 16:58:49 +02:00
parent d29cba2946
commit 7efe25f13d
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
10 changed files with 74 additions and 0 deletions

View file

@ -245,6 +245,8 @@ func TestRunner_RunEvent(t *testing.T) {
{workdir, "local-action-fails-schema-validation", "push", "Job 'test' failed", platforms, secrets}, {workdir, "local-action-fails-schema-validation", "push", "Job 'test' failed", platforms, secrets},
{workdir, "local-action-docker-url", "push", "", platforms, secrets}, {workdir, "local-action-docker-url", "push", "", platforms, secrets},
{workdir, "local-action-dockerfile", "push", "", platforms, secrets}, {workdir, "local-action-dockerfile", "push", "", platforms, secrets},
{workdir + "/local-action-dockerfile-tag/example1", "local-action-dockerfile-example1", "push", "", platforms, secrets},
{workdir + "/local-action-dockerfile-tag/example2", "local-action-dockerfile-example2", "push", "", platforms, secrets},
{workdir, "local-action-via-composite-dockerfile", "push", "", platforms, secrets}, {workdir, "local-action-via-composite-dockerfile", "push", "", platforms, secrets},
{workdir, "local-action-js", "push", "", platforms, secrets}, {workdir, "local-action-js", "push", "", platforms, secrets},

View file

@ -0,0 +1,4 @@
example1 and example2 eacho use a local actions that have the same
path (actions/docker-local) but do not behave the same. This verifies
that the locally built images have different names and do not collide
despite both being called with `uses: ./actions/docker-local.

View file

@ -0,0 +1,8 @@
# Container image that runs your code
FROM code.forgejo.org/oci/alpine:latest
# Copies your code file from your action repository to the filesystem path `/` of the container
COPY entrypoint.sh /entrypoint.sh
# Code file to execute when the docker container starts up (`entrypoint.sh`)
ENTRYPOINT ["/entrypoint.sh"]

View file

@ -0,0 +1,12 @@
inputs:
who-to-greet:
outputs:
whoami:
description: 'The time we greeted you'
runs:
using: 'docker'
image: 'Dockerfile'
env:
WHOAMI: ${{ inputs.who-to-greet }}
args:
- ${{ inputs.who-to-greet }}

View file

@ -0,0 +1,3 @@
#!/bin/sh
echo ::set-output "name=whoami::example1 $WHOAMI"

View file

@ -0,0 +1,11 @@
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./actions/docker-local
id: dockerlocal
with:
who-to-greet: 'SOMEONE'
- run: '[[ "${{ steps.dockerlocal.outputs.whoami }}" == "example1 SOMEONE" ]]'

View file

@ -0,0 +1,8 @@
# Container image that runs your code
FROM code.forgejo.org/oci/alpine:latest
# Copies your code file from your action repository to the filesystem path `/` of the container
COPY entrypoint.sh /entrypoint.sh
# Code file to execute when the docker container starts up (`entrypoint.sh`)
ENTRYPOINT ["/entrypoint.sh"]

View file

@ -0,0 +1,12 @@
inputs:
who-to-greet:
outputs:
whoami:
description: 'The time we greeted you'
runs:
using: 'docker'
image: 'Dockerfile'
env:
WHOAMI: ${{ inputs.who-to-greet }}
args:
- ${{ inputs.who-to-greet }}

View file

@ -0,0 +1,3 @@
#!/bin/sh
echo ::set-output "name=whoami::example2 $WHOAMI"

View file

@ -0,0 +1,11 @@
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./actions/docker-local
id: dockerlocal
with:
who-to-greet: 'SOMEONE'
- run: '[[ "${{ steps.dockerlocal.outputs.whoami }}" == "example2 SOMEONE" ]]'