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:
parent
28c639e48b
commit
765b95080b
2 changed files with 35 additions and 0 deletions
|
@ -4,6 +4,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -90,3 +91,32 @@ jobs:
|
||||||
}).UnmarshalYAML(&node)
|
}).UnmarshalYAML(&node)
|
||||||
assert.NoError(t, err)
|
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))
|
||||||
|
}
|
||||||
|
|
|
@ -1472,6 +1472,11 @@
|
||||||
"type": "non-empty-string",
|
"type": "non-empty-string",
|
||||||
"required": true
|
"required": true
|
||||||
},
|
},
|
||||||
|
"runs-on": {
|
||||||
|
"type": "runs-on",
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"container": "container",
|
||||||
"with": "workflow-job-with",
|
"with": "workflow-job-with",
|
||||||
"secrets": "workflow-job-secrets",
|
"secrets": "workflow-job-secrets",
|
||||||
"needs": "needs",
|
"needs": "needs",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue