Skip to content

Commit

Permalink
Merge pull request #898 from CircleCI-Public/develop
Browse files Browse the repository at this point in the history
Release
  • Loading branch information
elliotforbes authored Mar 31, 2023
2 parents ee2797e + c6fe24f commit ed408fb
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 8 deletions.
3 changes: 1 addition & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
* @CircleCI-Public/developer-experience
*orb*.go @CircleCI-Public/CPEng @CircleCI-Public/developer-experience
*orb*.go @CircleCI-Public/orb-publishers @CircleCI-Public/developer-experience

/api/runner @CircleCI-Public/runner
/cmd/runner @CircleCI-Public/runner

3 changes: 1 addition & 2 deletions config/commands.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (

func printValues(values Values) {
for key, value := range values {
fmt.Printf("\t%s:\t%s", key, value)
fmt.Fprintf(os.Stderr, "%-18s %s\n", key+":", value)
}
}

Expand All @@ -29,7 +29,6 @@ func (c *ConfigCompiler) getOrgID(
optsOrgSlug string,
) (string, error) {
if optsOrgID == "" && optsOrgSlug == "" {
fmt.Println("No org id or slug has been provided")
return "", nil
}

Expand Down
2 changes: 1 addition & 1 deletion config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ type CompileConfigRequest struct {
type Options struct {
OwnerID string `json:"owner_id,omitempty"`
PipelineParameters map[string]interface{} `json:"pipeline_parameters,omitempty"`
PipelineValues map[string]string `json:"pipeline_values,omitempty"`
PipelineValues map[string]interface{} `json:"pipeline_values,omitempty"`
}

// ConfigQuery - attempts to compile or validate a given config file with the
Expand Down
6 changes: 3 additions & 3 deletions config/pipeline.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
)

// CircleCI provides various `<< pipeline.x >>` values to be used in your config, but sometimes we need to fabricate those values when validating config.
type Values map[string]string
type Values map[string]interface{}

// Static typing is bypassed using an empty interface here due to pipeline parameters supporting multiple types.
type Parameters map[string]interface{}
Expand All @@ -31,9 +31,9 @@ func LocalPipelineValues() Values {
}
}

vals := map[string]string{
vals := map[string]interface{}{
"id": "00000000-0000-0000-0000-000000000001",
"number": "1",
"number": 1,
"project.git_url": gitUrl,
"project.type": projectType,
"git.tag": git.Tag(),
Expand Down
30 changes: 30 additions & 0 deletions integration_tests/features/circleci_config.feature
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,36 @@ Feature: Config checking
Then the output should contain "fighters"
And the exit status should be 0

Scenario: Testing new type casting works as expected
Given a file named "config.yml" with:
"""
version: 2.1
jobs:
datadog-hello-world:
docker:
- image: cimg/base:stable
parameters:
an-integer:
description: a test case to ensure parameters are passed correctly
type: integer
default: -1
steps:
- unless:
condition:
equal: [<< parameters.an-integer >>, -1]
steps:
- run: echo "<< parameters.an-integer >> - test"
workflows:
main-workflow:
jobs:
- datadog-hello-world:
an-integer: << pipeline.number >>
"""
When I run `circleci config process config.yml`
Then the output should contain "1 - test"
And the exit status should be 0

Scenario: Checking a valid config file with default pipeline params
Given a file named "config.yml" with:
"""
Expand Down

0 comments on commit ed408fb

Please sign in to comment.