Skip to content

Commit 78afcf3

Browse files
authored
Merge pull request #7 from bitrise-io/remove-step-exec-id-should-be-set-by-analytics
Removing Bitrise Step ID, and unified config metadata handling
2 parents d6d3ead + e50265f commit 78afcf3

File tree

8 files changed

+44
-64
lines changed

8 files changed

+44
-64
lines changed

internal/config/bazel/bazel_config.go

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,11 @@ type templateInventory struct {
2323
WorkspaceID string
2424
AuthToken string
2525
// Metadata
26-
CIProvider string
27-
RepoURL string
28-
// Bitrise CI specific
29-
BitriseAppID string
30-
BitriseStepID string
31-
BitriseWorkflowName string
32-
BitriseBuildID string
26+
CacheConfigMetadata common.CacheConfigMetadata
3327
}
3428

3529
// Generate bazelrc.
36-
func GenerateBazelrc(endpointURL, workspaceID, authToken string, cacheConfig common.CacheConfigMetadata) (string, error) {
30+
func GenerateBazelrc(endpointURL, workspaceID, authToken string, cacheConfigMetadata common.CacheConfigMetadata) (string, error) {
3731
// required check
3832
if len(authToken) < 1 {
3933
return "", fmt.Errorf("generate bazelrc, error: %w", errAuthTokenNotProvided)
@@ -49,13 +43,7 @@ func GenerateBazelrc(endpointURL, workspaceID, authToken string, cacheConfig com
4943
WorkspaceID: workspaceID,
5044
AuthToken: authToken,
5145
// Metadata
52-
CIProvider: cacheConfig.CIProvider,
53-
RepoURL: cacheConfig.RepoURL,
54-
// Bitrise CI specific
55-
BitriseAppID: cacheConfig.BitriseAppID,
56-
BitriseStepID: cacheConfig.BitriseStepID,
57-
BitriseWorkflowName: cacheConfig.BitriseWorkflowName,
58-
BitriseBuildID: cacheConfig.BitriseBuildID,
46+
CacheConfigMetadata: cacheConfigMetadata,
5947
}
6048

6149
tmpl, err := template.New("bazelrc").Parse(bazelrcTemplateText)

internal/config/bazel/bazel_config_test.go

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import (
1111

1212
func TestGenerateBazelrc(t *testing.T) {
1313
type args struct {
14-
endpointURL string
15-
workspaceID string
16-
authToken string
17-
cacheConfig common.CacheConfigMetadata
14+
endpointURL string
15+
workspaceID string
16+
authToken string
17+
cacheConfigMetadata common.CacheConfigMetadata
1818
}
1919
tests := []struct {
2020
name string
@@ -58,12 +58,11 @@ build --build_event_publish_all_actions
5858
endpointURL: "grpcs://TESTENDPOINT.bitrise.io",
5959
workspaceID: "W0rkSp4ceID",
6060
authToken: "4uth70k3n",
61-
cacheConfig: common.CacheConfigMetadata{
61+
cacheConfigMetadata: common.CacheConfigMetadata{
6262
CIProvider: "BestCI",
6363
RepoURL: "https://github.com/some/repo",
6464
// BitriseCI specific
6565
BitriseAppID: "BitriseAppID1",
66-
BitriseStepID: "BitriseStepID1",
6766
BitriseWorkflowName: "BitriseWorkflowName1",
6867
BitriseBuildID: "BitriseBuildID1",
6968
},
@@ -86,8 +85,6 @@ build --remote_header='x-repository-url=https://github.com/some/repo'
8685
build --bes_header='x-repository-url=https://github.com/some/repo'
8786
build --remote_header='x-app-id=BitriseAppID1'
8887
build --bes_header='x-app-id=BitriseAppID1'
89-
build --remote_header='x-step-id=BitriseStepID1'
90-
build --bes_header='x-step-id=BitriseStepID1'
9188
build --remote_header='x-workflow-name=BitriseWorkflowName1'
9289
build --bes_header='x-workflow-name=BitriseWorkflowName1'
9390
build --remote_header='x-build-id=BitriseBuildID1'
@@ -97,7 +94,7 @@ build --bes_header='x-build-id=BitriseBuildID1'
9794
}
9895
for _, tt := range tests { //nolint:varnamelen
9996
t.Run(tt.name, func(t *testing.T) {
100-
got, err := GenerateBazelrc(tt.args.endpointURL, tt.args.workspaceID, tt.args.authToken, tt.args.cacheConfig)
97+
got, err := GenerateBazelrc(tt.args.endpointURL, tt.args.workspaceID, tt.args.authToken, tt.args.cacheConfigMetadata)
10198

10299
if tt.wantErr != "" {
103100
require.EqualError(t, err, tt.wantErr)

internal/config/bazel/bazelrc.gotemplate

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,31 +7,27 @@ build --bes_header='x-org-id={{ .WorkspaceID }}'
77
build --remote_header=authorization="Bearer {{ .AuthToken }}"
88
build --bes_header=authorization="Bearer {{ .AuthToken }}"
99
build --remote_header=x-flare-buildtool=bazel
10-
build --remote_header=x-flare-builduser={{ .CIProvider }}
10+
build --remote_header=x-flare-builduser={{ .CacheConfigMetadata.CIProvider }}
1111
build --bes_results_url=https://app.bitrise.io/build-cache/invocations/bazel/
1212
build --bes_backend=grpcs://flare-bes.services.bitrise.io:443
1313
build --build_event_publish_all_actions
14-
{{- if .CIProvider }}
15-
build --remote_header='x-ci-provider={{ .CIProvider }}'
16-
build --bes_header='x-ci-provider={{ .CIProvider }}'
14+
{{- if .CacheConfigMetadata.CIProvider }}
15+
build --remote_header='x-ci-provider={{ .CacheConfigMetadata.CIProvider }}'
16+
build --bes_header='x-ci-provider={{ .CacheConfigMetadata.CIProvider }}'
1717
{{- end }}
18-
{{- if .RepoURL }}
19-
build --remote_header='x-repository-url={{ .RepoURL }}'
20-
build --bes_header='x-repository-url={{ .RepoURL }}'
18+
{{- if .CacheConfigMetadata.RepoURL }}
19+
build --remote_header='x-repository-url={{ .CacheConfigMetadata.RepoURL }}'
20+
build --bes_header='x-repository-url={{ .CacheConfigMetadata.RepoURL }}'
2121
{{- end }}
22-
{{- if .BitriseAppID }}
23-
build --remote_header='x-app-id={{ .BitriseAppID }}'
24-
build --bes_header='x-app-id={{ .BitriseAppID }}'
22+
{{- if .CacheConfigMetadata.BitriseAppID }}
23+
build --remote_header='x-app-id={{ .CacheConfigMetadata.BitriseAppID }}'
24+
build --bes_header='x-app-id={{ .CacheConfigMetadata.BitriseAppID }}'
2525
{{- end }}
26-
{{- if .BitriseStepID }}
27-
build --remote_header='x-step-id={{ .BitriseStepID }}'
28-
build --bes_header='x-step-id={{ .BitriseStepID }}'
26+
{{- if .CacheConfigMetadata.BitriseWorkflowName }}
27+
build --remote_header='x-workflow-name={{ .CacheConfigMetadata.BitriseWorkflowName }}'
28+
build --bes_header='x-workflow-name={{ .CacheConfigMetadata.BitriseWorkflowName }}'
2929
{{- end }}
30-
{{- if .BitriseWorkflowName }}
31-
build --remote_header='x-workflow-name={{ .BitriseWorkflowName }}'
32-
build --bes_header='x-workflow-name={{ .BitriseWorkflowName }}'
33-
{{- end }}
34-
{{- if .BitriseBuildID }}
35-
build --remote_header='x-build-id={{ .BitriseBuildID }}'
36-
build --bes_header='x-build-id={{ .BitriseBuildID }}'
30+
{{- if .CacheConfigMetadata.BitriseBuildID }}
31+
build --remote_header='x-build-id={{ .CacheConfigMetadata.BitriseBuildID }}'
32+
build --bes_header='x-build-id={{ .CacheConfigMetadata.BitriseBuildID }}'
3733
{{- end }}

internal/config/common/cache_config.go

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ type CacheConfigMetadata struct {
55
RepoURL string
66
// BitriseCI specific
77
BitriseAppID string
8-
BitriseStepID string
98
BitriseWorkflowName string
109
BitriseBuildID string
1110
}
@@ -46,17 +45,22 @@ func detectCIProvider(envProvider EnvProviderFunc) string {
4645
return ""
4746
}
4847

48+
type bitriseCISpecificMetadata struct {
49+
BitriseAppID string
50+
BitriseWorkflowName string
51+
BitriseBuildID string
52+
}
53+
4954
func createCacheConfigMetadata(provider, repoURL string,
50-
bitriseAppID, bitriseStepID, bitriseWorkflowName, bitriseBuildID string,
55+
bitriseCIMetadata bitriseCISpecificMetadata,
5156
) CacheConfigMetadata {
5257
return CacheConfigMetadata{
5358
CIProvider: provider,
5459
RepoURL: repoURL,
5560
// BitriseCI specific
56-
BitriseAppID: bitriseAppID,
57-
BitriseStepID: bitriseStepID,
58-
BitriseWorkflowName: bitriseWorkflowName,
59-
BitriseBuildID: bitriseBuildID,
61+
BitriseAppID: bitriseCIMetadata.BitriseAppID,
62+
BitriseWorkflowName: bitriseCIMetadata.BitriseWorkflowName,
63+
BitriseBuildID: bitriseCIMetadata.BitriseBuildID,
6064
}
6165
}
6266

@@ -66,17 +70,19 @@ func NewCacheConfigMetadata(envProvider EnvProviderFunc) CacheConfigMetadata {
6670
switch provider {
6771
case CIProviderBitrise:
6872
return createCacheConfigMetadata(provider, envProvider("GIT_REPOSITORY_URL"),
69-
// Bitrise CI specific
70-
envProvider("BITRISE_APP_SLUG"), envProvider("BITRISE_STEP_EXECUTION_ID"),
71-
envProvider("BITRISE_TRIGGERED_WORKFLOW_TITLE"), envProvider("BITRISE_BUILD_SLUG"))
73+
bitriseCISpecificMetadata{
74+
BitriseAppID: envProvider("BITRISE_APP_SLUG"),
75+
BitriseWorkflowName: envProvider("BITRISE_TRIGGERED_WORKFLOW_TITLE"),
76+
BitriseBuildID: envProvider("BITRISE_BUILD_SLUG"),
77+
})
7278
case CIProviderCircleCI:
7379
return createCacheConfigMetadata(provider, envProvider("CIRCLE_REPOSITORY_URL"),
74-
"", "", "", "")
80+
bitriseCISpecificMetadata{})
7581
case CIProviderGitHubActions:
7682
repoURL := envProvider("GITHUB_SERVER_URL") + "/" + envProvider("GITHUB_REPOSITORY")
7783

7884
return createCacheConfigMetadata(provider, repoURL,
79-
"", "", "", "")
85+
bitriseCISpecificMetadata{})
8086
}
8187

8288
return CacheConfigMetadata{}

internal/config/common/cache_config_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ func TestNewCacheConfigMetadata(t *testing.T) {
3030
"BITRISE_APP_SLUG": "BitriseAppID1",
3131
"BITRISE_BUILD_SLUG": "BitriseBuildID1",
3232
"BITRISE_TRIGGERED_WORKFLOW_TITLE": "BitriseWorkflowName1",
33-
"BITRISE_STEP_EXECUTION_ID": "BitriseStepID1",
3433
}),
3534
},
3635
want: CacheConfigMetadata{
@@ -39,7 +38,6 @@ func TestNewCacheConfigMetadata(t *testing.T) {
3938
BitriseAppID: "BitriseAppID1",
4039
BitriseBuildID: "BitriseBuildID1",
4140
BitriseWorkflowName: "BitriseWorkflowName1",
42-
BitriseStepID: "BitriseStepID1",
4341
},
4442
},
4543
{

internal/config/gradle/gradleconfig.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ type templateInventory struct {
2929
MetricsVersion string
3030
MetricsEndpoint string
3131
MetricsPort int
32-
CacheConfigMetadata common.CacheConfigMetadata
32+
// Metadata
33+
CacheConfigMetadata common.CacheConfigMetadata
3334
}
3435

3536
// Sync the major version of this step and the library.

internal/config/gradle/gradleconfig_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ func TestGenerateInitGradle(t *testing.T) {
5151
BitriseAppID: "BitriseAppID1",
5252
BitriseBuildID: "BitriseBuildID1",
5353
BitriseWorkflowName: "BitriseWorkflowName1",
54-
BitriseStepID: "BitriseStepID1",
5554
},
5655
},
5756
want: expectedInitScriptWithoutMetrics,
@@ -70,7 +69,6 @@ func TestGenerateInitGradle(t *testing.T) {
7069
BitriseAppID: "BitriseAppID1",
7170
BitriseBuildID: "BitriseBuildID1",
7271
BitriseWorkflowName: "BitriseWorkflowName1",
73-
BitriseStepID: "BitriseStepID1",
7472
},
7573
},
7674
want: expectedInitScriptWithMetrics,
@@ -150,7 +148,6 @@ rootProject {
150148
bitrise {
151149
appSlug.set("BitriseAppID1")
152150
buildSlug.set("BitriseBuildID1")
153-
stepId.set("BitriseStepID1")
154151
workflowName.set("BitriseWorkflowName1")
155152
}
156153
}

internal/config/gradle/initd.gradle.kts.gotemplate

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,6 @@ rootProject {
5555
{{- if .CacheConfigMetadata.BitriseBuildID }}
5656
buildSlug.set("{{ .CacheConfigMetadata.BitriseBuildID }}")
5757
{{- end }}
58-
{{- if .CacheConfigMetadata.BitriseStepID }}
59-
stepId.set("{{ .CacheConfigMetadata.BitriseStepID }}")
60-
{{- end }}
6158
{{- if .CacheConfigMetadata.BitriseWorkflowName }}
6259
workflowName.set("{{ .CacheConfigMetadata.BitriseWorkflowName }}")
6360
{{- end }}

0 commit comments

Comments
 (0)