Skip to content

Commit 1047a89

Browse files
author
Firefox Sync Engineering
committed
Nightly auto-update (117.0.20230717050335)
1 parent ac71fa0 commit 1047a89

File tree

5 files changed

+135
-17
lines changed

5 files changed

+135
-17
lines changed

Package.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
// swift-tools-version:5.4
22
import PackageDescription
33

4-
let checksum = "5834271ba39894e25580a93bcf2b21738d4b834a70c8e50cbb07b65b25462fcc"
5-
let version = "117.0.20230711050401"
6-
let url = "https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.application-services.v2.swift.117.20230711050401/artifacts/public/build/MozillaRustComponents.xcframework.zip"
4+
let checksum = "5a0ff2232d3882973760042a82bb04547b16323e0c964d455086e481cc8a4f61"
5+
let version = "117.0.20230717050335"
6+
let url = "https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.application-services.v2.swift.117.20230717050335/artifacts/public/build/MozillaRustComponents.xcframework.zip"
77

88
// Focus xcframework
9-
let focusChecksum = "836a11888749f00c414a038eb451a80b8c4c58c7aec1a66566b5765cf4d2203c"
10-
let focusUrl = "https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.application-services.v2.swift.117.20230711050401/artifacts/public/build/FocusRustComponents.xcframework.zip"
9+
let focusChecksum = "396d72f3bf00b284a9ca2e875b116efebbf0920f93b9f6b3679a9c270682cd66"
10+
let focusUrl = "https://firefox-ci-tc.services.mozilla.com/api/index/v1/task/project.application-services.v2.swift.117.20230717050335/artifacts/public/build/FocusRustComponents.xcframework.zip"
1111
let package = Package(
1212
name: "MozillaRustComponentsSwift",
1313
platforms: [.iOS(.v11)],

swift-source/all/Generated/Metrics/Metrics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extension GleanMetrics {
2525
// Intentionally left private, no external user can instantiate a new global object.
2626
}
2727

28-
public static let info = BuildInfo(buildDate: DateComponents(calendar: Calendar.current, timeZone: TimeZone(abbreviation: "UTC"), year: 2023, month: 7, day: 11, hour: 5, minute: 18, second: 47))
28+
public static let info = BuildInfo(buildDate: DateComponents(calendar: Calendar.current, timeZone: TimeZone(abbreviation: "UTC"), year: 2023, month: 7, day: 17, hour: 5, minute: 13, second: 9))
2929
}
3030

3131
enum NimbusEvents {

swift-source/all/Nimbus/ArgumentProcessor.swift

Lines changed: 64 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,49 @@ enum ArgumentProcessor {
2222
}
2323
}
2424

25+
static func createCommandLineArgs(url: URL) -> CliArgs? {
26+
guard let components = URLComponents(url: url, resolvingAgainstBaseURL: false),
27+
let scheme = components.scheme,
28+
let queryItems = components.queryItems,
29+
!["http", "https"].contains(scheme)
30+
else {
31+
return nil
32+
}
33+
34+
var experiments: String?
35+
var resetDatabase = false
36+
var logState = false
37+
var meantForUs = false
38+
39+
func flag(_ v: String?) -> Bool {
40+
guard let v = v else {
41+
return true
42+
}
43+
return ["1", "true"].contains(v.lowercased())
44+
}
45+
46+
queryItems.forEach { item in
47+
switch item.name {
48+
case "--nimbus-cli":
49+
meantForUs = flag(item.value)
50+
case "--experiments":
51+
experiments = item.value?.removingPercentEncoding
52+
case "--reset-db":
53+
resetDatabase = flag(item.value)
54+
case "--log-state":
55+
logState = flag(item.value)
56+
default:
57+
() // NOOP
58+
}
59+
}
60+
61+
if !meantForUs {
62+
return nil
63+
}
64+
65+
return check(args: CliArgs(resetDatabase: resetDatabase, experiments: experiments, logState: logState))
66+
}
67+
2568
static func createCommandLineArgs(args: [String]?) -> CliArgs? {
2669
guard let args = args else {
2770
return nil
@@ -61,14 +104,19 @@ enum ArgumentProcessor {
61104
return nil
62105
}
63106

64-
let experiments = argMap["experiments"]?.map { (string: String) -> String? in
65-
guard let payload = try? Dictionary.parse(jsonString: string), payload["data"] is [Any] else {
107+
let experiments = argMap["experiments"]
108+
109+
return check(args: CliArgs(resetDatabase: resetDatabase, experiments: experiments, logState: logState))
110+
}
111+
112+
static func check(args: CliArgs) -> CliArgs? {
113+
if let string = args.experiments {
114+
guard let payload = try? Dictionary.parse(jsonString: string), payload["data"] is [Any]
115+
else {
66116
return nil
67117
}
68-
return string
69118
}
70-
71-
return CliArgs(resetDatabase: resetDatabase, experiments: experiments, logState: logState)
119+
return args
72120
}
73121
}
74122

@@ -77,3 +125,14 @@ struct CliArgs: Equatable {
77125
let experiments: String?
78126
let logState: Bool
79127
}
128+
129+
public extension NimbusInterface {
130+
func initializeTooling(url: URL?) {
131+
guard let url = url,
132+
let args = ArgumentProcessor.createCommandLineArgs(url: url)
133+
else {
134+
return
135+
}
136+
ArgumentProcessor.initializeTooling(nimbus: self, args: args)
137+
}
138+
}

swift-source/focus/Generated/Metrics/Metrics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extension GleanMetrics {
2525
// Intentionally left private, no external user can instantiate a new global object.
2626
}
2727

28-
public static let info = BuildInfo(buildDate: DateComponents(calendar: Calendar.current, timeZone: TimeZone(abbreviation: "UTC"), year: 2023, month: 7, day: 11, hour: 5, minute: 18, second: 50))
28+
public static let info = BuildInfo(buildDate: DateComponents(calendar: Calendar.current, timeZone: TimeZone(abbreviation: "UTC"), year: 2023, month: 7, day: 17, hour: 5, minute: 13, second: 11))
2929
}
3030

3131
enum NimbusEvents {

swift-source/focus/Nimbus/ArgumentProcessor.swift

Lines changed: 64 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,49 @@ enum ArgumentProcessor {
2222
}
2323
}
2424

25+
static func createCommandLineArgs(url: URL) -> CliArgs? {
26+
guard let components = URLComponents(url: url, resolvingAgainstBaseURL: false),
27+
let scheme = components.scheme,
28+
let queryItems = components.queryItems,
29+
!["http", "https"].contains(scheme)
30+
else {
31+
return nil
32+
}
33+
34+
var experiments: String?
35+
var resetDatabase = false
36+
var logState = false
37+
var meantForUs = false
38+
39+
func flag(_ v: String?) -> Bool {
40+
guard let v = v else {
41+
return true
42+
}
43+
return ["1", "true"].contains(v.lowercased())
44+
}
45+
46+
queryItems.forEach { item in
47+
switch item.name {
48+
case "--nimbus-cli":
49+
meantForUs = flag(item.value)
50+
case "--experiments":
51+
experiments = item.value?.removingPercentEncoding
52+
case "--reset-db":
53+
resetDatabase = flag(item.value)
54+
case "--log-state":
55+
logState = flag(item.value)
56+
default:
57+
() // NOOP
58+
}
59+
}
60+
61+
if !meantForUs {
62+
return nil
63+
}
64+
65+
return check(args: CliArgs(resetDatabase: resetDatabase, experiments: experiments, logState: logState))
66+
}
67+
2568
static func createCommandLineArgs(args: [String]?) -> CliArgs? {
2669
guard let args = args else {
2770
return nil
@@ -61,14 +104,19 @@ enum ArgumentProcessor {
61104
return nil
62105
}
63106

64-
let experiments = argMap["experiments"]?.map { (string: String) -> String? in
65-
guard let payload = try? Dictionary.parse(jsonString: string), payload["data"] is [Any] else {
107+
let experiments = argMap["experiments"]
108+
109+
return check(args: CliArgs(resetDatabase: resetDatabase, experiments: experiments, logState: logState))
110+
}
111+
112+
static func check(args: CliArgs) -> CliArgs? {
113+
if let string = args.experiments {
114+
guard let payload = try? Dictionary.parse(jsonString: string), payload["data"] is [Any]
115+
else {
66116
return nil
67117
}
68-
return string
69118
}
70-
71-
return CliArgs(resetDatabase: resetDatabase, experiments: experiments, logState: logState)
119+
return args
72120
}
73121
}
74122

@@ -77,3 +125,14 @@ struct CliArgs: Equatable {
77125
let experiments: String?
78126
let logState: Bool
79127
}
128+
129+
public extension NimbusInterface {
130+
func initializeTooling(url: URL?) {
131+
guard let url = url,
132+
let args = ArgumentProcessor.createCommandLineArgs(url: url)
133+
else {
134+
return
135+
}
136+
ArgumentProcessor.initializeTooling(nimbus: self, args: args)
137+
}
138+
}

0 commit comments

Comments
 (0)