Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
ac72e19
update build_bundle lane to accommodate jetpack namespace
JavonDavis May 6, 2021
ff4bc25
update dimensions in build.gradle and update lanes to build JP bundle
JavonDavis May 10, 2021
fbbc762
update CI to invlude installable build for Jetpack
JavonDavis May 10, 2021
97845da
update jetpack file name for installable CI build
JavonDavis May 11, 2021
02b32d8
commit local updates to how we build_bundle and upload_bundle_to_play…
JavonDavis May 12, 2021
5627b7c
Bump version number
JavonDavis May 12, 2021
1b0c619
commit test changes
JavonDavis May 12, 2021
b3d6dd3
update callsites to match new release toolkit changes
JavonDavis May 13, 2021
2d9ec03
revert release toolkit plugin to jetpack branch
JavonDavis May 13, 2021
53943b4
update gemfile.lock
JavonDavis May 13, 2021
e751c11
update circleci config to pass app parameter
JavonDavis May 13, 2021
fe4352d
fix error not including key for app params
JavonDavis May 13, 2021
2a557f0
correct alpha codes
JavonDavis May 13, 2021
095887c
update Gemfile.lock
JavonDavis May 13, 2021
fc3b17b
fix commits
JavonDavis May 21, 2021
09e4a4f
fix commits
JavonDavis May 21, 2021
9aff056
manually bump version properties
JavonDavis May 21, 2021
b11bb62
align stories version
JavonDavis May 21, 2021
9ea7a37
resolve conflicts from develop
JavonDavis May 31, 2021
8b6ddfb
address PR feedback
JavonDavis May 31, 2021
7f76ba6
remove unneeded tasks
JavonDavis May 31, 2021
21cf51f
use aligned versions in version.properties
JavonDavis Jun 10, 2021
fb067b2
Merge branch 'add/jetpack_ci_lanes' of github.com:wordpress-mobile/Wo…
JavonDavis Jun 10, 2021
9735346
update release toolkit version
JavonDavis Jun 11, 2021
9bc9934
resolve conflicts
JavonDavis Jun 11, 2021
393ae57
update versions
JavonDavis Jun 14, 2021
76e12b5
resolve conflicts
JavonDavis Jun 14, 2021
7312af4
add steps to optionally skip lint and fail if version could not be re…
JavonDavis Jun 15, 2021
b956623
resolve merge conflict in Gemfile.lock
JavonDavis Jun 15, 2021
f3bc6e9
resolve merge conflicts in build.gradle
JavonDavis Jun 15, 2021
f46aade
update stories lib
JavonDavis Jun 15, 2021
0084b34
resolve conflict in version.properties
JavonDavis Jun 15, 2021
d308116
introduce CI support for Jetpack builds
JavonDavis Jun 15, 2021
1f7ef4e
update config support for triggering Jetpack CI builds
JavonDavis Jun 15, 2021
0fc7609
fix error in parameter name for release build job
JavonDavis Jun 15, 2021
0dc9779
include quotes around parameters
JavonDavis Jun 15, 2021
324865f
circleci config - include quotes around parameters
JavonDavis Jun 15, 2021
78a0f78
fix config parameter declaration
JavonDavis Jun 15, 2021
f6d454f
pass through release build params
JavonDavis Jun 15, 2021
1e42410
pass through release build params
JavonDavis Jun 15, 2021
68514b2
accomodate nil version name for app creation
JavonDavis Jun 16, 2021
9317d00
address parameter inconsistency in create_gh_release
JavonDavis Jun 16, 2021
c06016e
address case insensitivity for bundle folder path on CI
JavonDavis Jun 16, 2021
9d4dd0e
bump version code
JavonDavis Jun 16, 2021
6bb0526
Merge branch 'release/17.6' into release/jetpack/17.6
AliSoftware Jun 18, 2021
0f8659e
Update secrets to use right fingerprint for com.jetpack.android in go…
AliSoftware Jun 18, 2021
f432906
Temporarily disabling prechecks for beta given we don't yet use stand…
AliSoftware Jun 18, 2021
f6217c0
[Tooling] fix download translations lane
AliSoftware Jun 18, 2021
cc9ccf4
Update translations
AliSoftware Jun 18, 2021
57c0f53
Update toolkit to latest commit of the branch
AliSoftware Jun 18, 2021
962531c
Update toolkit to latest commit of the branch
AliSoftware Jun 18, 2021
71741ae
Bump version number
AliSoftware Jun 18, 2021
7b65061
Revert "Temporarily disabling prechecks for beta given we don't yet u…
AliSoftware Jun 18, 2021
951d01a
Add manually-created JetpackPlayStoreStrings.po file
AliSoftware Jun 18, 2021
f012170
Merge pull request #14870 from wordpress-mobile/release/jetpack/17.6
JavonDavis Jun 18, 2021
76b3bc1
update comments in config.yml
JavonDavis Jun 18, 2021
e762440
update comment in build_internal lane of fastfile
JavonDavis Jun 18, 2021
cdb3468
Revert "Update app icons to spectrum background"
renanferrari Jun 21, 2021
1ef948b
Update WordPress/build.gradle
JavonDavis Jun 21, 2021
0be1a00
address PR feedback
JavonDavis Jun 21, 2021
1a79a49
remove release build parameters
JavonDavis Jun 21, 2021
b1c566f
remove release build parameters
JavonDavis Jun 21, 2021
a030871
Update WordPress/build.gradle
JavonDavis Jun 21, 2021
2603da0
include default values for parameters
JavonDavis Jun 22, 2021
489a36e
resolve merge conflicts
JavonDavis Jun 22, 2021
f38a280
commit conflict resolution of strings
JavonDavis Jun 22, 2021
d0037f4
Merge pull request #14882 from wordpress-mobile/update/revert-app-ico…
ravishanker Jun 22, 2021
76677a9
Temporarily disable prechecks, as the branch name does not yet match …
AliSoftware Jun 22, 2021
276f274
Update translations
AliSoftware Jun 22, 2021
a008c4d
Bump version number
AliSoftware Jun 22, 2021
babaf9a
Aligning versionCode of JP with WP
AliSoftware Jun 22, 2021
6311666
Revert "Temporarily disable prechecks, as the branch name does not ye…
AliSoftware Jun 22, 2021
f83a57f
Merge pull request #14891 from wordpress-mobile/release/jetpack/17.6
AliSoftware Jun 22, 2021
ad8c4e6
Release script: Update build.gradle gutenbergMobileVersion to ref
dcalhoun Jun 22, 2021
9529e58
Update release notes
dcalhoun Jun 22, 2021
8e1f290
Update gutenbergMobileVersion ref
dcalhoun Jun 22, 2021
e22c22c
update release toolkit to v1.3
JavonDavis Jun 23, 2021
52fbea8
Merge branch 'add/jetpack_ci_lanes' of github.com:wordpress-mobile/Wo…
JavonDavis Jun 23, 2021
bf094f7
Merge pull request #14613 from wordpress-mobile/add/jetpack_ci_lanes
JavonDavis Jun 23, 2021
e24729b
Update release notes for consistency
dcalhoun Jun 23, 2021
aaaf136
Update gutenbergMobileVersion ref
dcalhoun Jun 23, 2021
04b4e06
Merge pull request #14892 from wordpress-mobile/gutenberg/integrate_r…
dcalhoun Jun 23, 2021
d360a11
Crash with current release-toolkit, pointing to a fix for now
AliSoftware Jun 23, 2021
439e530
Update translations
AliSoftware Jun 23, 2021
52233ff
Bump version number
AliSoftware Jun 23, 2021
eac93fa
Fix bundle_path
AliSoftware Jun 23, 2021
d8f84e9
Rough proof of concept for setting version information per variant
oguzkocer Jun 24, 2021
5fdd93f
Update logic for extracting versionName/versionCode based on variant
AliSoftware Jun 24, 2021
df1120c
Return a tuple to only load the properties files once
AliSoftware Jun 24, 2021
a40c1dd
Restore versions in version.properties to the latest builds uploaded …
AliSoftware Jun 24, 2021
d30bfbd
Update release-toolkit to latest fixes
AliSoftware Jun 24, 2021
a8c53ce
Merge branch 'develop' into merge/release-17.6-into-develop
AliSoftware Jun 24, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 24 additions & 11 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ parameters:
release_build:
type: boolean
default: false
# Display name of the app and should match the usual public facing name (e.g. WordPress, Jetpack)
app_name:
type: string
default: "WordPress"
# The key used to reference the app in the Fastfile
product_key:
type: string
default: "wordpress"

commands:
copy-gradle-properties:
Expand Down Expand Up @@ -58,7 +66,7 @@ jobs:
- update-gradle-memory
- android/restore-gradle-cache
- run:
name: Build APK
name: Set version environment variable
command: |
if [ -n "$CIRCLE_PULL_REQUEST" ]; then
PR_NUMBER=$(basename $CIRCLE_PULL_REQUEST)
Expand All @@ -69,14 +77,19 @@ jobs:

VERSION_NAME="${PREFIX}-build-${CIRCLE_BUILD_NUM}"
echo "export VERSION_NAME=$VERSION_NAME" >> $BASH_ENV

./gradlew --stacktrace assembleWordpressJalapenoDebug -PversionName="$VERSION_NAME"
- run:
name: Build WordPress APK
command: ./gradlew --stacktrace assembleWordpressJalapenoDebug -PversionName="$VERSION_NAME"
- run:
name: Build Jetpack APK
command: ./gradlew --stacktrace assembleJetpackJalapenoDebug -PversionName="$VERSION_NAME"
- android/save-gradle-cache
- run:
name: Prepare APK
command: |
mkdir -p Artifacts
mv WordPress/build/outputs/apk/wordpressJalapeno/debug/org.wordpress.android-wordpress-jalapeno-debug.apk "Artifacts/WordPress-${VERSION_NAME}.apk"
mv WordPress/build/outputs/apk/jetpackJalapeno/debug/org.wordpress.android-jetpack-jalapeno-debug.apk "Artifacts/Jetpack-${VERSION_NAME}.apk"
- store_artifacts:
path: Artifacts
destination: Artifacts
Expand All @@ -90,7 +103,7 @@ jobs:
- run:
name: Init messages
command: |
echo "export SLACK_FAILURE_MESSAGE=':red_circle: Build for WordPress Android failed!'" >> $BASH_ENV
echo "export SLACK_FAILURE_MESSAGE=':red_circle: Build for << pipeline.parameters.app_name >> Android failed!'" >> $BASH_ENV
- git/shallow-checkout:
init-submodules: true
- checkout-submodules
Expand All @@ -104,27 +117,27 @@ jobs:
- run:
name: Prepare build
command: |
echo "export APP_VERSION=$(./gradlew -q printVersionName | tail -1)" >> $BASH_ENV
SLACK_MESSAGE_VERSION=$(./gradlew -q printVersionName | tail -1)
echo "export SLACK_FAILURE_MESSAGE=':red_circle: Build for WordPress Android $SLACK_MESSAGE_VERSION failed!'" >> $BASH_ENV
echo "export SLACK_SUCCESS_MESSAGE=':tada: WordPress Android $SLACK_MESSAGE_VERSION has been deployed!'" >> $BASH_ENV
echo "export APP_VERSION=$(./gradlew -q printVersionName -PproductKey='<< pipeline.parameters.product_key >>' | tail -1)" >> $BASH_ENV
SLACK_MESSAGE_VERSION=$(./gradlew -q printVersionName -PproductKey="<< pipeline.parameters.product_key >>" | tail -1)
echo "export SLACK_FAILURE_MESSAGE=':red_circle: Build for << pipeline.parameters.app_name >> Android $SLACK_MESSAGE_VERSION failed!'" >> $BASH_ENV
echo "export SLACK_SUCCESS_MESSAGE=':tada: << pipeline.parameters.app_name >> Android $SLACK_MESSAGE_VERSION has been deployed!'" >> $BASH_ENV
# Prevent fastlane from checking for updates, also removing the verbose fastlane changelog at the end of each invocation.
echo "export FASTLANE_SKIP_UPDATE_CHECK=1" >> $BASH_ENV
bundle check
- run:
name: Build Zalpha
command: |
if [[ ${APP_VERSION} == *"-rc-"* ]]; then
bundle exec fastlane build_alpha skip_confirm:true skip_prechecks:true create_release:true upload_to_play_store:true
bundle exec fastlane build_alpha app:"<< pipeline.parameters.product_key >>" skip_confirm:true skip_prechecks:true create_release:true upload_to_play_store:true
fi
no_output_timeout: 15m
- run:
name: Build Vanilla
command: |
if [[ ${APP_VERSION} == *"-rc-"* ]]; then
bundle exec fastlane build_beta skip_confirm:true skip_prechecks:true create_release:true upload_to_play_store:true
bundle exec fastlane build_beta app:"<< pipeline.parameters.product_key >>" skip_confirm:true skip_prechecks:true create_release:true upload_to_play_store:true
else
bundle exec fastlane build_and_upload_release skip_confirm:true skip_prechecks:true create_release:true upload_to_play_store:true
bundle exec fastlane build_and_upload_release app:"<< pipeline.parameters.product_key >>" skip_confirm:true skip_prechecks:true create_release:true upload_to_play_store:true
fi
no_output_timeout: 15m
- android/save-gradle-cache
Expand Down
2 changes: 1 addition & 1 deletion .configure
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"project_name": "WordPress-Android",
"branch": "trunk",
"pinned_hash": "92cde8f76c2a77791f8e5164f1e5b287d9cb6f1e",
"pinned_hash": "08dfbcacef71687eebd0febaf97258e4f708ea54",
Copy link
Copy Markdown
Contributor Author

@AliSoftware AliSoftware Jun 24, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Points to the new google-services.json with the correct signing fingerprint for Jetpack

"files_to_copy": [
{
"file": "android/WPAndroid/gradle.properties",
Expand Down
Binary file modified .configure-files/google-services.json.enc
Binary file not shown.
36 changes: 21 additions & 15 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
GIT
remote: git@github.com:wordpress-mobile/release-toolkit.git
revision: 262e6800830abc75c7d9b6817537b4c099588634
Copy link
Copy Markdown
Contributor Author

@AliSoftware AliSoftware Jun 24, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pointing to a pending commit for now waiting for wordpress-mobile/release-toolkit#283 to be merged and release.

IMHO it's ok to merge that PR in develop even in that temp state, and update to point to 1.3.1 later once toolkit 1.3.1 gets released (if the release-toolkit new version takes time to land, that is). Better sync with develop sooner than later and regularize the toolkit version on second stage once ready, than wait for everything, because we're kind of in a rush with the #wp-breaking-02 requiring expedite final release of 17.6 sooner than usual.

branch: jetpack/fix-crashes
specs:
fastlane-plugin-wpmreleasetoolkit (1.3.0)
activesupport (~> 5)
bigdecimal (~> 1.4)
chroma (= 0.2.0)
diffy (~> 3.3)
git (~> 1.3)
jsonlint (~> 0.3)
nokogiri (~> 1.11)
octokit (~> 4.18)
parallel (~> 1.14)
progress_bar (~> 1.3)
rake (~> 12.3)
rake-compiler (~> 1.0)

GEM
remote: https://rubygems.org/
specs:
Expand Down Expand Up @@ -101,19 +120,6 @@ GEM
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
fastlane-plugin-wpmreleasetoolkit (1.2.0)
activesupport (~> 5)
bigdecimal (~> 1.4)
chroma (= 0.2.0)
diffy (~> 3.3)
git (~> 1.3)
jsonlint (~> 0.3)
nokogiri (~> 1.11)
octokit (~> 4.18)
parallel (~> 1.14)
progress_bar (~> 1.3)
rake (~> 12.3)
rake-compiler (~> 1.0)
gh_inspector (1.1.3)
git (1.8.1)
rchardet (~> 1.8)
Expand Down Expand Up @@ -187,7 +193,7 @@ GEM
octokit (4.21.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
oj (3.11.5)
oj (3.11.7)
optimist (3.0.1)
options (2.3.2)
os (1.1.1)
Expand Down Expand Up @@ -258,7 +264,7 @@ PLATFORMS

DEPENDENCIES
fastlane (~> 2)
fastlane-plugin-wpmreleasetoolkit (~> 1.1)
fastlane-plugin-wpmreleasetoolkit!
nokogiri
rmagick (~> 4.1)

Expand Down
1 change: 1 addition & 0 deletions RELEASE-NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
* [*] Block Editor: "Set as featured" button within image block settings. [https://github.com/wordpress-mobile/gutenberg-mobile/pull/3116]
* [***] Block Editor: Audio block now available on WP.com sites on the free plan. [https://github.com/wordpress-mobile/gutenberg-mobile/pull/3523]
* [*] Block Editor: Improve unsupported block message for reusable block. [https://github.com/wordpress-mobile/gutenberg-mobile/pull/3621]
* [**] Block Editor: Fix incorrect block insertion point after blurring the post title field. [https://github.com/wordpress-mobile/gutenberg-mobile/pull/3640]

17.5
-----
Expand Down
69 changes: 56 additions & 13 deletions WordPress/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,6 @@ android {
applicationId "org.wordpress.android"
archivesBaseName = "$applicationId"

// Allow versionName to be overridden with property. e.g. -PversionName=1234
if (project.hasProperty("versionName")) {
versionName project.property("versionName")
} else {
versionName "alpha-300"
}
versionCode 1064
Comment on lines -85 to -91
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comes from #14927: versioning is now handled by the version.properties file – so that it's easier to support app-and-flavor-specific versioning and disinguish Jetpack, WordPress and WordPress Alpha. See below for how the versionName and versionCode are how overriden per variant and not per flavor.

minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion

Expand Down Expand Up @@ -130,6 +123,7 @@ android {
wordpress {
isDefault true
dimension "app"

applicationId "org.wordpress.android"
buildConfigField "boolean", "IS_JETPACK_APP", "false"
buildConfigField "String", "TRACKS_EVENT_PREFIX", '"wpandroid_"'
Expand All @@ -140,6 +134,7 @@ android {

jetpack {
dimension "app"

applicationId "com.jetpack.android"
buildConfigField "boolean", "IS_JETPACK_APP", "true"
buildConfigField "String", "TRACKS_EVENT_PREFIX", '"jpandroid_"'
Expand All @@ -150,11 +145,6 @@ android {

vanilla { // used for release and beta
dimension "buildType"
// Only set the release version if one isn't provided
if (!project.hasProperty("versionName")) {
versionName "17.6-rc-3"
}
versionCode 1063
buildConfigField "boolean", "ME_ACTIVITY_AVAILABLE", "false"
buildConfigField "long", "REMOTE_CONFIG_FETCH_INTERVAL", "3600"
buildConfigField "boolean", "ENABLE_FEATURE_CONFIGURATION", "false"
Expand Down Expand Up @@ -233,6 +223,39 @@ android {
buildFeatures {
viewBinding true
}

applicationVariants.all { variant ->
def app = variant.productFlavors[0].name
def buildType = variant.productFlavors[1].name
def version = versionForVariant(app, buildType)
variant.outputs.each { output ->
output.versionNameOverride = version['versionName']
output.versionCodeOverride = version['versionCode']?.toInteger()
}
}
}

// Search for a variant-specific variation of the versionName and versionCode in `version.properties` file, based on the
// variant's app and buildType flavors.
//
// This will search the `version.properties` file for "$app.$buildType.versionName" first, and fallback to "$app.versionName" then just "versionName" (and same for versionCode)
// Note: If the property is overridden at project level (e.g. '-PversionName'), it will take priority over any value in `version.properties`.
//
// Returns a Hash with keys 'versionName' and 'versionCode', with the found values for the app and buildType provided.
def versionForVariant(app, buildType) {
def versionProperties = new Properties()
file("../version.properties").withInputStream { versionProperties.load(it) }

def propertyForVariant = { property ->
return project.findProperty(property)
?: versionProperties.getProperty("${app}.${buildType}.${property}")
?: versionProperties.getProperty("${app}.${property}")
?: versionProperties.getProperty(property)
}

def versionName = propertyForVariant('versionName')
def versionCode = propertyForVariant('versionCode')
return [versionName: versionName, versionCode: versionCode]
}

dependencies {
Expand Down Expand Up @@ -495,9 +518,29 @@ tasks.register("violationCommentsToGitHub", se.bjurr.violations.comments.github.
]
}

tasks.register("updateVersionProperties") {
doLast {
ant.propertyfile(
file: "../version.properties") {
entry( key: "$key", value: "$value")
}
}
}

tasks.register("printVersionName") {
doLast {
println android.productFlavors.vanilla.versionName
def app = project.findProperty('productKey') ?: 'wordpress'
def buildType = project.findProperty('buildType') ?: ''
println versionForVariant(app, buildType)['versionName']
}
}

tasks.register("printAllVersions") {
doLast {
android.applicationVariants.all { variant ->
def apkData = variant.outputs[0].apkData
println "${variant.name}: ${apkData.versionName} (${apkData.versionCode})"
}
}
}

Expand Down
90 changes: 90 additions & 0 deletions WordPress/metadata/JetpackPlayStoreStrings.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Translation of Jetpack - Apps - Android - Release Notes in English (US)
# This file is distributed under the same license as the Jetpack - Apps - Android - Release Notes package.
msgid ""
msgstr ""
"PO-Revision-Date: 2018-05-23 11:49:24+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: VsCode\n"
"Project-Id-Version: Jetpack - Apps - Android - Release Notes\n"

#. translators: Release notes for this version to be displayed in the Play Store. Limit to 500 characters including spaces and commas!
msgctxt "release_note_176"
msgid ""
"17.6:\n"
"The Audio Block lets you add podcasts, music, and sound files to your posts and pages. It’s now available for Free Plan users, too!\n"
"\n"
"Turn any image into a *featured* image, with the new ‘Set as Featured’ button in the Image block.\n"
"\n"
"Finally, we made it clearer that you can’t edit the automatically generated post archives page.\n"
msgstr ""

#. translators: Short description of the Jetpack app to be displayed in the Play Store. Limit to 80 characters including spaces and commas!
msgctxt "short-description"
msgid "Get powerful security and performance tools in your pocket."
msgstr ""

#. translators: Multi-paragraph text used to display in the Play Store.
msgctxt "app-store-description"
msgid ""
"Get powerful security and performance tools in your pocket with Jetpack for Android.\n"
"\n"
"Restore your site from anywhere if something goes wrong. Scan for threats and resolve them with a tap. Keep tabs on site activity to see who changed what and when. Check your stats to see what new countries today’s visitors are coming from.\n"
"\n"
"The app also supports WordPress features that you expect. Draft a spontaneous haiku from the couch. Snap and post a photo on your lunch break. Respond to your latest comments.\n"
"\n"
"Jetpack for Android supports WordPress sites with Jetpack enabled and an account connected to WordPress.com.\n"
"\n"
"View the Privacy Notice for California Users at https://automattic.com/privacy/#california-consumer-privacy-act-ccpa."
msgstr ""

#. App store app name
msgctxt "app-store-name"
msgid "Jetpack: WP Security & Speed"
msgstr "Jetpack : WP Security & Speed"

#. Description for the first app store image
msgctxt "screenshot-text-1"
msgid ""
"Safer.\n"
"Faster.\n"
"More traffic."
msgstr ""

#. Description for the second app store image
msgctxt "screenshot-text-2"
msgid ""
"Bring your\n"
"Jetpack with you."
msgstr ""

#. Description for the third app store image
msgctxt "screenshot-text-3"
msgid ""
"Keep tabs on\n"
"your site activity."
msgstr ""

#. Description for the fourth app store image
msgctxt "screenshot-text-4"
msgid ""
"Scan for issues\n"
"on the go."
msgstr ""

#. Description for the fifth app store image
msgctxt "screenshot-text-5"
msgid ""
"Back Up your site\n"
"at any moment."
msgstr ""

#. Description for the sixth app store image
msgctxt "screenshot-text-6"
msgid ""
"Site stats in your\n"
"pocket."
msgstr ""

Loading