1
0
Fork 0
mirror of https://code.forgejo.org/forgejo/runner.git synced 2025-08-06 17:40:58 +00:00

fix: runs-on is also mandatory for reusable workflows and may be needing container (#194)

If not the schema validation will fail because it will be try to validate as if not calling a reusable workflow.

```
=== RUN   TestWorkflowCallRunsOn
    schema_test.go:119:
        	Error Trace:	/home/earl-warren/software/act/pkg/schema/schema_test.go:119
        	Error:      	Received unexpected error:
        	            	Line: 10 Column 5: Failed to match job-factory: Line: 12 Column 5: Unknown Property uses
        	            	Line: 13 Column 5: Unknown Property with
        	            	Line: 15 Column 5: Unknown Property secrets
        	            	Line: 10 Column 5: Failed to match workflow-job: Line: 11 Column 5: Unknown Property runs-on
        	Test:       	TestWorkflowCallRunsOn
```

Reviewed-on: https://code.forgejo.org/forgejo/act/pulls/194
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
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-07-26 12:24:41 +00:00 committed by earl-warren
parent 28c639e48b
commit 765b95080b
2 changed files with 35 additions and 0 deletions

View file

@ -4,6 +4,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gopkg.in/yaml.v3"
)
@ -90,3 +91,32 @@ jobs:
}).UnmarshalYAML(&node)
assert.NoError(t, err)
}
func TestWorkflowCallRunsOn(t *testing.T) {
var node yaml.Node
err := yaml.Unmarshal([]byte(`
name: Build Silo Frontend DEV
on:
push:
branches:
- dev
- dev-*
jobs:
build_frontend_dev:
name: Build Silo Frontend DEV
runs-on: ubuntu-latest
container:
image: code.forgejo.org/oci/node:22-bookworm
uses: ./.github/workflows/build.yaml
with:
STAGE: dev
secrets:
PACKAGE_WRITER_TOKEN: ${{ secrets.PACKAGE_WRITER_TOKEN }}
`), &node)
require.NoError(t, err)
n := &Node{
Definition: "workflow-root",
Schema: GetWorkflowSchema(),
}
require.NoError(t, n.UnmarshalYAML(&node))
}

View file

@ -1472,6 +1472,11 @@
"type": "non-empty-string",
"required": true
},
"runs-on": {
"type": "runs-on",
"required": true
},
"container": "container",
"with": "workflow-job-with",
"secrets": "workflow-job-secrets",
"needs": "needs",