Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
46e805d
Speed up CI lint jobs by removing blocking overhead
jkmassel Feb 27, 2026
9ebf713
Revert checkDependencies change to fix lint baseline mismatch
jkmassel Feb 27, 2026
01d518c
Disable checkDependencies and lint libraries separately in CI
jkmassel Feb 27, 2026
c2ae2cb
Regenerate lint baseline for checkDependencies=false
jkmassel Feb 27, 2026
abf5d8b
Suppress UnusedResources false positives from library modules
jkmassel Feb 27, 2026
7d15a10
Lint debug variants instead of release for faster CI builds
jkmassel Feb 27, 2026
51d4fad
Trigger rebuild to measure debug lint with warm cache
jkmassel Mar 2, 2026
dd17452
Merge trunk into jkmassel/investigate-lint-speed
jkmassel Apr 1, 2026
aac21e8
Remove login module references from CI and lint config
jkmassel Apr 1, 2026
35968ee
Fix lint tasks for removed Vanilla build flavour
jkmassel Apr 1, 2026
caed915
Revert to Release lint variant to match existing baseline
jkmassel Apr 1, 2026
bfe42f9
Switch CI lint to Debug variant, ignore MissingNullAnnotation checks
jkmassel Apr 1, 2026
2019f37
Trigger CI re-run for timing validation
jkmassel Apr 1, 2026
d8f4072
Disable lint on test sources for faster CI
jkmassel Apr 1, 2026
b4661f6
Revert "Disable lint on test sources for faster CI"
jkmassel Apr 1, 2026
6961cae
Address review feedback: Debug/Release variant switching and consolid…
jkmassel Apr 13, 2026
dafbbda
Trigger CI re-run for timing validation
jkmassel Apr 13, 2026
ed1be04
Add artifact_paths for Lint Libraries job
jkmassel Apr 13, 2026
0c899a2
Use Release lint for PRs targeting release branches
jkmassel Apr 13, 2026
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
29 changes: 20 additions & 9 deletions .buildkite/commands/lint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,39 @@ fi

"$(dirname "${BASH_SOURCE[0]}")/restore-cache.sh"

echo "--- :rubygems: Setting up Gems"
install_gems

echo "--- :globe_with_meridians: Check Locales Declaration Consistency"
bundle exec fastlane check_declared_locales_consistency app:"$1"
# Use Debug for PR builds (faster), Release for trunk and release-branch builds.
# PRs targeting a release branch use Release to catch release-only issues before merge.
if [[ "${BUILDKITE_PULL_REQUEST:-false}" != "false" && "${BUILDKITE_PULL_REQUEST_BASE_BRANCH:-}" =~ ^release/ ]]; then
BUILD_VARIANT="Release"
elif [ "${BUILDKITE_PULL_REQUEST:-false}" != "false" ]; then
BUILD_VARIANT="Debug"
else
BUILD_VARIANT="Release"
fi

echo "--- :microscope: Linting"
echo "--- :microscope: Linting (${BUILD_VARIANT})"

if [ "$1" = "wordpress" ]; then
./gradlew lintWordpressRelease
./gradlew lintWordpress"${BUILD_VARIANT}"
exit 0
fi

if [ "$1" = "jetpack" ]; then
set +e
./gradlew lintJetpackRelease
./gradlew lintJetpack"${BUILD_VARIANT}"
lint_exit_code=$?
set -e

upload_sarif_to_github "WordPress/build/reports/lint-results-jetpackRelease.sarif"
upload_sarif_to_github "WordPress/build/reports/lint-results-jetpack${BUILD_VARIANT}.sarif"
exit $lint_exit_code
fi

if [ "$1" = "library" ]; then
./gradlew \
:libs:editor:lint"${BUILD_VARIANT}" \
:libs:image-editor:lint"${BUILD_VARIANT}"
exit 0
fi

echo "No target provided – unable to lint"
exit 1
29 changes: 29 additions & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,17 +59,46 @@ steps:
artifact_paths:
- "**/build/reports/detekt/detekt.html"

- label: "🌐 Locale Consistency"
command: |
if .buildkite/commands/should-skip-job.sh --job-type validation; then
exit 0
fi

Comment on lines +64 to +67
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

The Locale Consistency step uses should-skip-job.sh --job-type validation, which (per should-skip-job.sh) will skip when changes are limited to fastlane/**, config/**, and **/strings.xml. Since this job’s purpose is to validate Fastlane locale lists vs Gradle resourceConfigurations, skipping on those files can let inconsistencies slip through. Consider using a job-type/skip rule that still runs when fastlane/lanes/localization.rb (and related locale config) changes, or adjust the skip logic for this step accordingly.

Suggested change
if .buildkite/commands/should-skip-job.sh --job-type validation; then
exit 0
fi

Copilot uses AI. Check for mistakes.
install_gems
bundle exec fastlane check_declared_locales_consistency app:wordpress
bundle exec fastlane check_declared_locales_consistency app:jetpack
plugins: [$CI_TOOLKIT]

- label: "🕵️ Lint WordPress"
command: ".buildkite/commands/lint.sh wordpress"
plugins: [$CI_TOOLKIT]
artifact_paths:
- "**/build/reports/lint-results*.*"
notify:
- slack:
channels:
- "#wpmobile-team"
message: "⚠️ Lint WordPress failed on trunk."
if: build.pull_request.id == null && step.outcome != "passed"

- label: "🕵️ Lint Jetpack"
command: ".buildkite/commands/lint.sh jetpack"
plugins: [$CI_TOOLKIT]
artifact_paths:
- "**/build/reports/lint-results*.*"
notify:
- slack:
channels:
- "#wpmobile-team"
message: "⚠️ Lint Jetpack failed on trunk."
if: build.pull_request.id == null && step.outcome != "passed"

- label: "🕵️ Lint Libraries"
command: ".buildkite/commands/lint.sh library"
plugins: [$CI_TOOLKIT]
artifact_paths:
- "**/build/reports/lint-results*.*"

#################
# Diff Reports
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ subprojects {
android {
lint {
warningsAsErrors = true
checkDependencies true
checkDependencies false
checkGeneratedSources = true
lintConfig file("${project.rootDir}/config/lint/lint.xml")
baseline file("${project.rootDir}/config/lint/baseline.xml")
Expand Down
Loading
Loading