Skip to content

Commit 80c9b05

Browse files
feat: release specific build container (#86)
Co-authored-by: raphaelcoeffic <[email protected]>
1 parent 894282d commit 80c9b05

File tree

4 files changed

+30
-3
lines changed

4 files changed

+30
-3
lines changed

artifactory/artifactory.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,14 +167,19 @@ func (artifactory *Artifactory) CreateBuildJob(
167167
return nil, fmt.Errorf("failed to marshal build flags: %w", err)
168168
}
169169

170+
buildContainer := request.GetBuildContainerImage()
171+
if len(buildContainer) == 0 {
172+
buildContainer = artifactory.BuildContainerImage
173+
}
174+
170175
job, err = artifactory.BuildJobsRepository.Create(BuildJobModel{
171176
Status: WaitingForBuild,
172177
CommitRef: request.Release,
173178
CommitHash: request.GetCommitHash(),
174179
Target: request.Target,
175180
Flags: optFlagsJSON,
176181
BuildFlags: buildFlagsJSON,
177-
ContainerImage: artifactory.BuildContainerImage,
182+
ContainerImage: buildContainer,
178183
BuildFlagsHash: request.HashTargetAndFlags(),
179184
AuditLogs: []AuditLogModel{
180185
{

artifactory/build_request.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,10 @@ func (req *BuildRequest) GetBuildFlags() (*[]firmware.BuildFlag, error) {
130130
return &buildFlags, nil
131131
}
132132

133+
func (req *BuildRequest) GetBuildContainerImage() string {
134+
return req.defs.GetBuildContainer(req.Release)
135+
}
136+
133137
func (req *BuildRequest) GetCommitHash() string {
134138
return req.defs.GetCommitHashByRef(req.Release)
135139
}

targets.json

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,49 +7,58 @@
77
}
88
},
99
"v2.10.6": {
10-
"sha": "14adf0474ccedbd935fac7d71958946680b5fdfc"
10+
"sha": "14adf0474ccedbd935fac7d71958946680b5fdfc",
11+
"build_container": "ghcr.io/edgetx/edgetx-builder:2.10"
1112
},
1213
"v2.10.5": {
13-
"sha": "6b539d03c66061e431d9090531ac192f7550a102"
14+
"sha": "6b539d03c66061e431d9090531ac192f7550a102",
15+
"build_container": "ghcr.io/edgetx/edgetx-builder:2.10"
1416
},
1517
"v2.10.4": {
1618
"sha": "9b901689fbd84fb4027b4f898460314d76b1f69a",
19+
"build_container": "ghcr.io/edgetx/edgetx-builder:2.10",
1720
"exclude_targets": [
1821
"bumblebee"
1922
]
2023
},
2124
"v2.10.3": {
2225
"sha": "2fc5a9acab767b7b3f4861d85dffd359d6ad28f6",
26+
"build_container": "ghcr.io/edgetx/edgetx-builder:2.10",
2327
"exclude_targets": [
2428
"bumblebee"
2529
]
2630
},
2731
"v2.10.2": {
2832
"sha": "1de06000cdfe3398840a8d28f7bf5de7fbedc899",
33+
"build_container": "ghcr.io/edgetx/edgetx-builder:2.10",
2934
"exclude_targets": [
3035
"t12max", "tpros", "bumblebee"
3136
]
3237
},
3338
"v2.10.1": {
3439
"sha": "839b60f6cc88d22383a6f686862b3fba4108884e",
40+
"build_container": "ghcr.io/edgetx/edgetx-builder:2.10",
3541
"exclude_targets": [
3642
"f16", "t12max", "tpros", "bumblebee"
3743
]
3844
},
3945
"v2.10.0": {
4046
"sha": "22ce06d3423fdb265c6c7bce6031f1003027bf0c",
47+
"build_container": "ghcr.io/edgetx/edgetx-builder:2.10",
4148
"exclude_targets": [
4249
"f16", "t12max", "t15", "tpros", "bumblebee"
4350
]
4451
},
4552
"v2.9.4": {
4653
"sha": "77884b6a22e20ad91ba6c6656b96bcb2adc86768",
54+
"build_container": "ghcr.io/edgetx/edgetx-builder:2.10",
4755
"exclude_targets": [
4856
"pl18", "pl18ev", "t20", "tprov2", "mt12", "pocket", "f16", "t12max", "t14", "t15", "t20v2", "tpros", "bumblebee"
4957
]
5058
},
5159
"v2.8.5": {
5260
"sha": "cbac1063eb8637457d2a63c367863c6bfd6f0c31",
61+
"build_container": "ghcr.io/edgetx/edgetx-builder:2.10",
5362
"exclude_targets": [
5463
"pl18", "pl18ev", "t20", "tprov2", "mt12", "pocket", "f16", "t12max", "t14", "t15", "t20v2", "tpros", "bumblebee"
5564
]

targets/targets_def.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ type Release struct {
2525
SHA string `json:"sha"`
2626
Remote *RemoteSHA `json:"remote,omitempty"`
2727
ExcludeTargets []string `json:"exclude_targets,omitempty"`
28+
BuildContainer string `json:"build_container,omitempty"`
2829
}
2930

3031
type OptionFlag struct {
@@ -168,6 +169,14 @@ func (def *TargetsDef) GetOptionBuildFlag(target, name string) string {
168169
return ""
169170
}
170171

172+
func (def *TargetsDef) GetBuildContainer(ref string) string {
173+
release, ok := def.Releases[ref]
174+
if !ok {
175+
return ""
176+
}
177+
return release.BuildContainer
178+
}
179+
171180
func SetTargets(defs *TargetsDef) {
172181
targetsDef.Store(defs)
173182
}

0 commit comments

Comments
 (0)