1
0
Fork 0

Bug 1652979 - Stop producing fennecNightly, fenixNightly and fenixBeta (#12225)

master
Johan Lorenzo 2020-07-21 16:42:08 +02:00 committed by GitHub
parent 899f6e63ad
commit 7e7d69cb8e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 19 additions and 136 deletions

View File

@ -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&regexp=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"

View File

@ -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
) )

View File

@ -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
} }
} }

View File

@ -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")
} }

View File

@ -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'

View File

@ -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:

View File

@ -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'

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -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: