Bug 1652979 - Stop producing fennecNightly, fenixNightly and fenixBeta (#12225)
parent
899f6e63ad
commit
7e7d69cb8e
|
@ -72,20 +72,6 @@ android {
|
||||||
"sharedUserId": "org.mozilla.fenix.performancetest.sharedID"
|
"sharedUserId": "org.mozilla.fenix.performancetest.sharedID"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
fenixNightly releaseTemplate >> {
|
|
||||||
applicationIdSuffix ".fenix.nightly"
|
|
||||||
buildConfigField "boolean", "USE_RELEASE_VERSIONING", "true"
|
|
||||||
def deepLinkSchemeValue = "fenix-nightly"
|
|
||||||
buildConfigField "String", "DEEP_LINK_SCHEME", "\"$deepLinkSchemeValue\""
|
|
||||||
manifestPlaceholders = ["deepLinkScheme": deepLinkSchemeValue]
|
|
||||||
}
|
|
||||||
fenixBeta releaseTemplate >> {
|
|
||||||
applicationIdSuffix ".fenix.beta"
|
|
||||||
buildConfigField "boolean", "USE_RELEASE_VERSIONING", "true"
|
|
||||||
def deepLinkSchemeValue = "fenix-beta"
|
|
||||||
buildConfigField "String", "DEEP_LINK_SCHEME", "\"$deepLinkSchemeValue\""
|
|
||||||
manifestPlaceholders = ["deepLinkScheme": deepLinkSchemeValue]
|
|
||||||
}
|
|
||||||
fenixProduction releaseTemplate >> {
|
fenixProduction releaseTemplate >> {
|
||||||
applicationIdSuffix ".fenix"
|
applicationIdSuffix ".fenix"
|
||||||
buildConfigField "boolean", "USE_RELEASE_VERSIONING", "true"
|
buildConfigField "boolean", "USE_RELEASE_VERSIONING", "true"
|
||||||
|
@ -127,23 +113,6 @@ android {
|
||||||
"deepLinkScheme": deepLinkSchemeValue
|
"deepLinkScheme": deepLinkSchemeValue
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
fennecNightly releaseTemplate >> {
|
|
||||||
buildConfigField "boolean", "USE_RELEASE_VERSIONING", "true"
|
|
||||||
applicationIdSuffix ".fennec_aurora"
|
|
||||||
def deepLinkSchemeValue = "fenix-nightly"
|
|
||||||
buildConfigField "String", "DEEP_LINK_SCHEME", "\"$deepLinkSchemeValue\""
|
|
||||||
manifestPlaceholders = [
|
|
||||||
// This release type is meant to replace Firefox (Release channel) and therefore needs to inherit
|
|
||||||
// its sharedUserId for all eternity. See:
|
|
||||||
// https://searchfox.org/mozilla-central/search?q=moz_android_shared_id&case=false®exp=false&path=
|
|
||||||
// Shipping an app update without sharedUserId can have
|
|
||||||
// fatal consequences. For example see:
|
|
||||||
// - https://issuetracker.google.com/issues/36924841
|
|
||||||
// - https://issuetracker.google.com/issues/36905922
|
|
||||||
"sharedUserId": "org.mozilla.fennec.sharedID",
|
|
||||||
"deepLinkScheme": deepLinkSchemeValue
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
variantFilter { // There's a "release" build type that exists by default that we don't use (it's replaced by "nightly" and "beta")
|
variantFilter { // There's a "release" build type that exists by default that we don't use (it's replaced by "nightly" and "beta")
|
||||||
|
@ -157,19 +126,12 @@ android {
|
||||||
// |--------------------|---------------|-----------|
|
// |--------------------|---------------|-----------|
|
||||||
// | debug | ✅ | ✅ | Both variants for testing and development.
|
// | debug | ✅ | ✅ | Both variants for testing and development.
|
||||||
// | forPerformanceTest | ✅ | ✅ | Both variants unless the perf team only cares about Nightly (TBD).
|
// | forPerformanceTest | ✅ | ✅ | Both variants unless the perf team only cares about Nightly (TBD).
|
||||||
// | fenixNightly | ✅ | ✅ | Built with both, but only the "geckoNightly" one is published to Google Play
|
// | fenixProduction | ✅ | ❌ | Fenix Production (to be renamed `Nightly`) ships with GV Nightly
|
||||||
// | fenixBeta | ❌ | ✅ | Fenix Beta ships with GV Beta
|
|
||||||
// | fenixProduction | ❌ | ✅ | Fenix Production ships with GV Beta
|
|
||||||
// | fennecProduction | ❌ | ✅ | Fenix build to replace production Firefox builds
|
// | fennecProduction | ❌ | ✅ | Fenix build to replace production Firefox builds
|
||||||
// | fennecBeta | ❌ | ✅ | Fenix build to replace beta Firefox builds
|
// | fennecBeta | ❌ | ✅ | Fenix build to replace beta Firefox builds
|
||||||
// | fennecNightly | ✅ | ❌ | Fenix build to replace Nightly Firefox builds
|
|
||||||
|
|
||||||
def flavors = flavors*.name.toString().toLowerCase()
|
def flavors = flavors*.name.toString().toLowerCase()
|
||||||
|
|
||||||
if (buildType.name == 'fenixBeta' && flavors.contains("geckonightly")) {
|
|
||||||
setIgnore true
|
|
||||||
}
|
|
||||||
|
|
||||||
if (buildType.name == 'fenixProduction' && flavors.contains("geckobeta")) {
|
if (buildType.name == 'fenixProduction' && flavors.contains("geckobeta")) {
|
||||||
setIgnore true
|
setIgnore true
|
||||||
}
|
}
|
||||||
|
@ -177,10 +139,6 @@ android {
|
||||||
if ((buildType.name == 'fennecProduction' || buildType.name == 'fennecBeta') && flavors.contains("geckonightly")) {
|
if ((buildType.name == 'fennecProduction' || buildType.name == 'fennecBeta') && flavors.contains("geckonightly")) {
|
||||||
setIgnore true
|
setIgnore true
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buildType.name == 'fennecNightly' && flavors.contains("geckobeta")) {
|
|
||||||
setIgnore true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
aaptOptions {
|
aaptOptions {
|
||||||
|
@ -207,10 +165,6 @@ android {
|
||||||
androidTest {
|
androidTest {
|
||||||
resources.srcDirs += ['src/androidTest/resources']
|
resources.srcDirs += ['src/androidTest/resources']
|
||||||
}
|
}
|
||||||
fennecNightly {
|
|
||||||
java.srcDirs = ['src/migration/java']
|
|
||||||
manifest.srcFile "src/migration/AndroidManifest.xml"
|
|
||||||
}
|
|
||||||
fennecBeta {
|
fennecBeta {
|
||||||
java.srcDirs = ['src/migration/java']
|
java.srcDirs = ['src/migration/java']
|
||||||
manifest.srcFile "src/migration/AndroidManifest.xml"
|
manifest.srcFile "src/migration/AndroidManifest.xml"
|
||||||
|
|
|
@ -7,13 +7,10 @@ package org.mozilla.fenix
|
||||||
enum class ReleaseChannel {
|
enum class ReleaseChannel {
|
||||||
FenixDebug,
|
FenixDebug,
|
||||||
|
|
||||||
FenixNightly,
|
|
||||||
FenixBeta,
|
|
||||||
FenixProduction,
|
FenixProduction,
|
||||||
|
|
||||||
FennecProduction,
|
FennecProduction,
|
||||||
FennecBeta,
|
FennecBeta;
|
||||||
FennecNightly;
|
|
||||||
|
|
||||||
val isReleased: Boolean
|
val isReleased: Boolean
|
||||||
get() = when (this) {
|
get() = when (this) {
|
||||||
|
@ -33,8 +30,6 @@ enum class ReleaseChannel {
|
||||||
|
|
||||||
val isReleaseOrBeta: Boolean
|
val isReleaseOrBeta: Boolean
|
||||||
get() = when (this) {
|
get() = when (this) {
|
||||||
FenixProduction -> true
|
|
||||||
FenixBeta -> true
|
|
||||||
FennecProduction -> true
|
FennecProduction -> true
|
||||||
FennecBeta -> true
|
FennecBeta -> true
|
||||||
else -> false
|
else -> false
|
||||||
|
@ -43,14 +38,11 @@ enum class ReleaseChannel {
|
||||||
val isBeta: Boolean
|
val isBeta: Boolean
|
||||||
get() = when (this) {
|
get() = when (this) {
|
||||||
FennecBeta -> true
|
FennecBeta -> true
|
||||||
FenixBeta -> true
|
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
|
|
||||||
val isNightlyOrDebug: Boolean
|
val isNightlyOrDebug: Boolean
|
||||||
get() = when (this) {
|
get() = when (this) {
|
||||||
FenixNightly -> true
|
|
||||||
FennecNightly -> true
|
|
||||||
FenixDebug -> true
|
FenixDebug -> true
|
||||||
FenixProduction -> true
|
FenixProduction -> true
|
||||||
else -> false
|
else -> false
|
||||||
|
@ -66,12 +58,9 @@ enum class ReleaseChannel {
|
||||||
object Config {
|
object Config {
|
||||||
val channel = when (BuildConfig.BUILD_TYPE) {
|
val channel = when (BuildConfig.BUILD_TYPE) {
|
||||||
"fenixProduction" -> ReleaseChannel.FenixProduction
|
"fenixProduction" -> ReleaseChannel.FenixProduction
|
||||||
"fenixBeta" -> ReleaseChannel.FenixBeta
|
|
||||||
"fenixNightly" -> ReleaseChannel.FenixNightly
|
|
||||||
"debug" -> ReleaseChannel.FenixDebug
|
"debug" -> ReleaseChannel.FenixDebug
|
||||||
"fennecProduction" -> ReleaseChannel.FennecProduction
|
"fennecProduction" -> ReleaseChannel.FennecProduction
|
||||||
"fennecBeta" -> ReleaseChannel.FennecBeta
|
"fennecBeta" -> ReleaseChannel.FennecBeta
|
||||||
"fennecNightly" -> ReleaseChannel.FennecNightly
|
|
||||||
|
|
||||||
// Builds for local performance analysis, recording benchmarks, automation, etc.
|
// Builds for local performance analysis, recording benchmarks, automation, etc.
|
||||||
// This should be treated like a released channel because we want to test
|
// This should be treated like a released channel because we want to test
|
||||||
|
@ -86,7 +75,6 @@ object Config {
|
||||||
}
|
}
|
||||||
|
|
||||||
private val fennecChannels: List<ReleaseChannel> = listOf(
|
private val fennecChannels: List<ReleaseChannel> = listOf(
|
||||||
ReleaseChannel.FennecNightly,
|
|
||||||
ReleaseChannel.FennecBeta,
|
ReleaseChannel.FennecBeta,
|
||||||
ReleaseChannel.FennecProduction
|
ReleaseChannel.FennecProduction
|
||||||
)
|
)
|
||||||
|
|
|
@ -103,11 +103,8 @@ private fun getSentryProjectUrl(): String? {
|
||||||
val baseUrl = "https://sentry.prod.mozaws.net/operations"
|
val baseUrl = "https://sentry.prod.mozaws.net/operations"
|
||||||
return when (Config.channel) {
|
return when (Config.channel) {
|
||||||
ReleaseChannel.FenixProduction -> "$baseUrl/fenix"
|
ReleaseChannel.FenixProduction -> "$baseUrl/fenix"
|
||||||
ReleaseChannel.FenixBeta -> "$baseUrl/fenix-beta"
|
|
||||||
ReleaseChannel.FenixNightly -> "$baseUrl/fenix-nightly"
|
|
||||||
ReleaseChannel.FennecProduction -> "$baseUrl/fenix-fennec"
|
ReleaseChannel.FennecProduction -> "$baseUrl/fenix-fennec"
|
||||||
ReleaseChannel.FennecBeta -> "$baseUrl/fenix-fennec-beta"
|
ReleaseChannel.FennecBeta -> "$baseUrl/fenix-fennec-beta"
|
||||||
ReleaseChannel.FennecNightly -> "$baseUrl/fenix-fennec-nightly"
|
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@ import com.adjust.sdk.AdjustConfig
|
||||||
import com.adjust.sdk.LogLevel
|
import com.adjust.sdk.LogLevel
|
||||||
import org.mozilla.fenix.BuildConfig
|
import org.mozilla.fenix.BuildConfig
|
||||||
import org.mozilla.fenix.Config
|
import org.mozilla.fenix.Config
|
||||||
import org.mozilla.fenix.ReleaseChannel
|
|
||||||
import org.mozilla.fenix.ext.settings
|
import org.mozilla.fenix.ext.settings
|
||||||
|
|
||||||
class AdjustMetricsService(private val application: Application) : MetricsService {
|
class AdjustMetricsService(private val application: Application) : MetricsService {
|
||||||
|
@ -23,7 +22,7 @@ class AdjustMetricsService(private val application: Application) : MetricsServic
|
||||||
if ((BuildConfig.ADJUST_TOKEN.isNullOrBlank())) {
|
if ((BuildConfig.ADJUST_TOKEN.isNullOrBlank())) {
|
||||||
Log.i(LOGTAG, "No adjust token defined")
|
Log.i(LOGTAG, "No adjust token defined")
|
||||||
|
|
||||||
if (Config.channel.isReleased && Config.channel != ReleaseChannel.FennecNightly) {
|
if (Config.channel.isReleased) {
|
||||||
throw IllegalStateException("No adjust token defined for release build")
|
throw IllegalStateException("No adjust token defined for release build")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,7 @@ job-defaults:
|
||||||
- '--app=fenix'
|
- '--app=fenix'
|
||||||
- '--browsertime'
|
- '--browsertime'
|
||||||
- '--cold'
|
- '--cold'
|
||||||
- '--binary=org.mozilla.fenix.nightly'
|
- '--binary=org.mozilla.fenix'
|
||||||
- '--activity=org.mozilla.fenix.IntentReceiverActivity'
|
- '--activity=org.mozilla.fenix.IntentReceiverActivity'
|
||||||
- '--download-symbols=ondemand'
|
- '--download-symbols=ondemand'
|
||||||
- '--browsertime-node=$MOZ_FETCHES_DIR/node/bin/node'
|
- '--browsertime-node=$MOZ_FETCHES_DIR/node/bin/node'
|
||||||
|
|
|
@ -93,17 +93,6 @@ jobs:
|
||||||
treeherder:
|
treeherder:
|
||||||
symbol: forPerformanceTest(B)
|
symbol: forPerformanceTest(B)
|
||||||
|
|
||||||
nightly:
|
|
||||||
attributes:
|
|
||||||
nightly: true
|
|
||||||
include-nightly-version: true
|
|
||||||
include-shippable-secrets: true
|
|
||||||
run:
|
|
||||||
geckoview-engine: geckoNightly
|
|
||||||
gradle-build-type: fenixNightly
|
|
||||||
treeherder:
|
|
||||||
symbol: nightly(B)
|
|
||||||
|
|
||||||
nightly-simulation:
|
nightly-simulation:
|
||||||
attributes:
|
attributes:
|
||||||
nightly: false
|
nightly: false
|
||||||
|
@ -112,47 +101,22 @@ jobs:
|
||||||
include-shippable-secrets: true
|
include-shippable-secrets: true
|
||||||
run:
|
run:
|
||||||
geckoview-engine: geckoNightly
|
geckoview-engine: geckoNightly
|
||||||
gradle-build-type: fennecNightly
|
gradle-build-type: fenixProduction
|
||||||
treeherder:
|
treeherder:
|
||||||
symbol: nightlySim(B)
|
symbol: nightlySim(B)
|
||||||
|
|
||||||
beta:
|
nightly:
|
||||||
attributes:
|
|
||||||
release-type: beta
|
|
||||||
include-release-version: true
|
|
||||||
include-shippable-secrets: true
|
|
||||||
filter-incomplete-translations: true
|
|
||||||
run:
|
|
||||||
geckoview-engine: geckoBeta
|
|
||||||
gradle-build-type: fenixBeta
|
|
||||||
run-on-tasks-for: [github-release]
|
|
||||||
treeherder:
|
|
||||||
symbol: beta(B)
|
|
||||||
|
|
||||||
# XXX `production` is now the new nightly. We keep this name around while we officially remove
|
|
||||||
# `nightly` and `fennec-nightly`
|
|
||||||
production:
|
|
||||||
attributes:
|
attributes:
|
||||||
nightly: true
|
nightly: true
|
||||||
include-nightly-version: true
|
include-nightly-version: true
|
||||||
include-shippable-secrets: true
|
include-shippable-secrets: true
|
||||||
run:
|
run:
|
||||||
geckoview-engine: geckoNightly
|
geckoview-engine: geckoNightly
|
||||||
|
# XXX `fenixProduction` is now the new nightly.
|
||||||
gradle-build-type: fenixProduction
|
gradle-build-type: fenixProduction
|
||||||
run-on-tasks-for: [github-release]
|
run-on-tasks-for: []
|
||||||
treeherder:
|
treeherder:
|
||||||
symbol: production(B)
|
symbol: nightly(B)
|
||||||
|
|
||||||
fennec-nightly:
|
|
||||||
attributes:
|
|
||||||
nightly: true
|
|
||||||
include-nightly-version: true
|
|
||||||
include-shippable-secrets: true
|
|
||||||
run:
|
|
||||||
geckoview-engine: geckoNightly
|
|
||||||
gradle-build-type: fennecNightly
|
|
||||||
treeherder:
|
|
||||||
symbol: nightlyFennec(B)
|
|
||||||
|
|
||||||
fennec-beta:
|
fennec-beta:
|
||||||
attributes:
|
attributes:
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
trust-domain: mobile
|
trust-domain: mobile
|
||||||
treeherder:
|
treeherder:
|
||||||
group-names:
|
group-names:
|
||||||
'beta': 'Beta-related tasks'
|
|
||||||
'betaFennec': 'Beta-related tasks with same APK configuration as Fennec'
|
'betaFennec': 'Beta-related tasks with same APK configuration as Fennec'
|
||||||
'Btime': 'Raptor-Browsertime tests'
|
'Btime': 'Raptor-Browsertime tests'
|
||||||
'bump': 'Bump dependencies'
|
'bump': 'Bump dependencies'
|
||||||
|
@ -12,7 +11,6 @@ treeherder:
|
||||||
'I': 'Docker Image Builds'
|
'I': 'Docker Image Builds'
|
||||||
'nightly': 'Nightly-related tasks'
|
'nightly': 'Nightly-related tasks'
|
||||||
'nightlySim': 'Nightly-related tasks that run on each github push'
|
'nightlySim': 'Nightly-related tasks that run on each github push'
|
||||||
'nightlyFennec': 'Nightly-related tasks with same APK configuration as Fennec'
|
|
||||||
'production': 'Release-related tasks'
|
'production': 'Release-related tasks'
|
||||||
'productionFennec': 'Production-related tasks with same APK configuration as Fennec'
|
'productionFennec': 'Production-related tasks with same APK configuration as Fennec'
|
||||||
'Rap': 'Raptor tests'
|
'Rap': 'Raptor tests'
|
||||||
|
|
|
@ -17,8 +17,8 @@ primary-dependency: push-apk
|
||||||
group-by: build-type
|
group-by: build-type
|
||||||
|
|
||||||
only-for-build-types:
|
only-for-build-types:
|
||||||
- fenix-beta
|
- fennec-beta
|
||||||
- fenix-production
|
- fennec-production
|
||||||
|
|
||||||
job-template:
|
job-template:
|
||||||
description: Mark Fenix as shipped in ship-it
|
description: Mark Fenix as shipped in ship-it
|
||||||
|
|
|
@ -19,7 +19,7 @@ group-by: build-type
|
||||||
only-for-build-types:
|
only-for-build-types:
|
||||||
- fennec-beta
|
- fennec-beta
|
||||||
- fennec-production
|
- fennec-production
|
||||||
- production
|
- nightly
|
||||||
|
|
||||||
job-template:
|
job-template:
|
||||||
description: Publish Fenix
|
description: Publish Fenix
|
||||||
|
@ -30,7 +30,7 @@ job-template:
|
||||||
by-build-type:
|
by-build-type:
|
||||||
fennec-beta: fennec-beta
|
fennec-beta: fennec-beta
|
||||||
fennec-production: fennec-production
|
fennec-production: fennec-production
|
||||||
production: production
|
nightly: production
|
||||||
dep:
|
dep:
|
||||||
by-level:
|
by-level:
|
||||||
'3': false
|
'3': false
|
||||||
|
|
|
@ -77,7 +77,7 @@ job-defaults:
|
||||||
- './test-linux.sh'
|
- './test-linux.sh'
|
||||||
- '--cfg=mozharness/configs/raptor/android_hw_config.py'
|
- '--cfg=mozharness/configs/raptor/android_hw_config.py'
|
||||||
- '--app=fenix'
|
- '--app=fenix'
|
||||||
- '--binary=org.mozilla.fenix.nightly'
|
- '--binary=org.mozilla.fenix'
|
||||||
- '--activity=org.mozilla.fenix.IntentReceiverActivity'
|
- '--activity=org.mozilla.fenix.IntentReceiverActivity'
|
||||||
- '--download-symbols=ondemand'
|
- '--download-symbols=ondemand'
|
||||||
- '--no-conditioned-profile'
|
- '--no-conditioned-profile'
|
||||||
|
|
|
@ -20,7 +20,7 @@ job-template:
|
||||||
description: Sign Fenix
|
description: Sign Fenix
|
||||||
worker-type:
|
worker-type:
|
||||||
by-build-type:
|
by-build-type:
|
||||||
(fennec-.+|nightly|beta|production|android-test-nightly):
|
(fennec-.+|nightly|android-test-nightly):
|
||||||
by-level:
|
by-level:
|
||||||
'3': signing
|
'3': signing
|
||||||
default: dep-signing
|
default: dep-signing
|
||||||
|
@ -32,37 +32,20 @@ job-template:
|
||||||
by-level:
|
by-level:
|
||||||
'3': fennec-production-signing
|
'3': fennec-production-signing
|
||||||
default: dep-signing
|
default: dep-signing
|
||||||
fennec-nightly:
|
|
||||||
by-level:
|
|
||||||
'3': fennec-nightly-signing
|
|
||||||
default: dep-signing
|
|
||||||
nightly:
|
|
||||||
by-level:
|
|
||||||
'3': nightly-signing
|
|
||||||
default: dep-signing
|
|
||||||
android-test-nightly:
|
android-test-nightly:
|
||||||
by-level:
|
by-level:
|
||||||
'3': nightly-signing
|
'3': production-signing
|
||||||
default: dep-signing
|
default: dep-signing
|
||||||
performance-test: dep-signing
|
performance-test: dep-signing
|
||||||
beta:
|
nightly:
|
||||||
by-level:
|
|
||||||
'3': beta-signing
|
|
||||||
default: dep-signing
|
|
||||||
production:
|
|
||||||
by-level:
|
by-level:
|
||||||
'3': production-signing
|
'3': production-signing
|
||||||
default: dep-signing
|
default: dep-signing
|
||||||
default: dep-signing
|
default: dep-signing
|
||||||
signing-format:
|
signing-format: autograph_apk
|
||||||
by-build-type:
|
|
||||||
# Fennec nightly cannot have the sha256 checksums. For more details, see
|
|
||||||
# https://github.com/mozilla-releng/scriptworker-scripts/pull/102#issue-349016967
|
|
||||||
fennec-nightly: autograph_apk_fennec_sha1
|
|
||||||
default: autograph_apk
|
|
||||||
index:
|
index:
|
||||||
by-build-type:
|
by-build-type:
|
||||||
(fennec-.+|nightly|performance-test|beta|production|debug|nightly-simulation):
|
(fennec-.+|performance-test|nightly|debug|nightly-simulation):
|
||||||
type: signing
|
type: signing
|
||||||
default: {}
|
default: {}
|
||||||
run-on-tasks-for:
|
run-on-tasks-for:
|
||||||
|
|
Loading…
Reference in New Issue