Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
30a7ba9
Define package dependency to host HTML resources
mokagio Dec 31, 2025
93f090b
`make build` before running Swift tests for the time being
mokagio Dec 31, 2025
0464e43
Only run JS and Swift test in CI to save time
mokagio Dec 31, 2025
aa78407
Ignore assets in GutenbergKitResources
mokagio Jan 8, 2026
270fb55
Add resources target to the products so xcodebuild picks it up
mokagio Jan 8, 2026
9f96f32
Add make task + script to build XCFramework — Not working yet
mokagio Jan 8, 2026
2a493ac
Add grouping logs to help with debugging
mokagio Jan 8, 2026
6c67c0d
Hardcode the resources type to dynamic for the time being
mokagio Jan 8, 2026
9cb2d41
Skip code signing when archiving for XCFramework
mokagio Jan 8, 2026
3b7ecbf
Build xcframework in CI
mokagio Jan 8, 2026
3b4579e
Upload XCFramework zip as CI artifact
mokagio Jan 8, 2026
9ba3727
Conditionally switch between XCFramework and local resources
mokagio Jan 8, 2026
82e1844
Add CI step to validate build w/ XCFramework
mokagio Jan 8, 2026
c9760ae
Use GutenbergKitResources in GutenbergKit
mokagio Jan 8, 2026
8032f30
Use string based target dependency definition
mokagio Jan 8, 2026
a0fe6a5
Add packageAccess: false to fix XCFramework import
mokagio Jan 8, 2026
1780faf
Clarify `package` access level not available
mokagio Jan 8, 2026
1139f13
Update hardcoded resources binary ref
mokagio Jan 8, 2026
77c00c2
Also make `GutenbergKitResources` public
mokagio Jan 8, 2026
dc84a4e
Include commit SHA in XCFramework zip filename
mokagio Jan 8, 2026
b6abaf8
Isolate Git SHA1 interpolation in build script
mokagio Jan 8, 2026
50ecd74
Move checksum computation to build script and clean up output
mokagio Jan 8, 2026
a5edca5
Update hardcoded ref
mokagio Jan 8, 2026
b1dd10c
Maintain `.gitkeep` in GutenbergKitResources
mokagio Jan 11, 2026
1598a00
Skip code signing when building XCFramework
mokagio Jan 12, 2026
89b00bf
Track GutenbergKit scheme so we can run tests in CI with it
mokagio Jan 12, 2026
ce2527a
Fix running tests in CI
mokagio Jan 12, 2026
b1e5274
Update binary URL to the one for ce2527a
mokagio Jan 12, 2026
986065e
Stop tracking iOS Gutenberg resources – Replaced by XCFramework
mokagio Jan 12, 2026
f9c5096
Add tests for resources XCFramework
mokagio Jan 12, 2026
8885b37
Run tests in CI building from source
mokagio Jan 12, 2026
9758b7e
Add test plan to run resources tests, too
mokagio Jan 13, 2026
0473f99
Update resources binary reference
mokagio Jan 13, 2026
7426ba8
Also track file with checksum in CI
mokagio Jan 13, 2026
f172241
Add Ruby tooling for S3 upload
mokagio Jan 13, 2026
2e0dc6e
Publish XCFramework to S3 from CI
mokagio Jan 13, 2026
6dbcfc3
Fix Ruby syntax error
mokagio Jan 13, 2026
477acfa
Fix other Ruby/Fastlane error
mokagio Jan 13, 2026
d8948a7
Update XCFramework test step to use framework from build
mokagio Jan 13, 2026
3bf28ff
Fix artifact download command
mokagio Jan 13, 2026
a1885f9
Fix Makefile formatting
mokagio Jan 13, 2026
0f5d4d3
Add CI header group for S3 upload
mokagio Jan 13, 2026
26cb6db
Track erroneously ignored `.bundle/config`
mokagio Jan 13, 2026
7f8bbc0
Fix framework name in automation — Facepalm
mokagio Jan 13, 2026
84716c6
Update binary URL accordingly to new S3 hierarchy
mokagio Jan 13, 2026
89502dd
Fix syntax in pipeline multiline command – Another facepalm
mokagio Jan 13, 2026
eb23e68
Manually update binary reference
mokagio Jan 13, 2026
94aff6c
Fix GutenbergKit resources checksum path in CI test
mokagio Jan 13, 2026
1cf614d
Explicitly test XCFramework dependency in CI
mokagio Jan 13, 2026
a584ebd
t
mokagio Jan 13, 2026
1a5dfde
Remove duplicated task in `Makefile`
mokagio Jan 13, 2026
503eb5a
Update hardcoded reference
mokagio Jan 13, 2026
53ce483
Remove automation to test XCFramework consumption
mokagio Jan 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
36 changes: 10 additions & 26 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,19 @@ env:
IMAGE_ID: $IMAGE_ID

steps:
- label: ':react: Build React App'
command: make build
plugins: &plugins
- $CI_TOOLKIT_PLUGIN
- $NVM_PLUGIN

- label: ':eslint: Lint React App'
command: make lint-js
plugins: *plugins

- label: ':javascript: Test JavaScript'
command: make test-js
plugins: *plugins

- label: ':android: Publish Android Library'
command: |
make build
echo "--- :android: Publishing Android Library"
./android/gradlew -p ./android :gutenberg:prepareToPublishToS3 $(prepare_to_publish_to_s3_params) :gutenberg:publish
agents:
queue: android
plugins: *plugins
plugins: &plugins
- $CI_TOOLKIT_PLUGIN
- $NVM_PLUGIN

- label: ':android: Test Android Library'
command: make test-android
agents:
queue: android
- label: ':swift: Test Swift Package'
command: GUTENBERGKIT_SWIFT_USE_LOCAL_RESOURCES=1 make test-swift-package
plugins: *plugins

- label: ':swift: Test Swift Package'
command: make test-swift-package
- label: ':xcode: Publish XCFramework'
command: make publish-resources-xcframework
plugins: *plugins
artifact_paths:
- 'build/*.xcframework.zip'
- 'build/*.checksum.txt'
3 changes: 3 additions & 0 deletions .bundle/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
BUNDLE_PATH: "vendor/bundle"
BUNDLE_SPECIFIC_PLATFORM: "false"
20 changes: 12 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
## Build generated
build/
DerivedData
.swiftpm/
UserInterfaceState.xcuserstate

## Various settings
Expand Down Expand Up @@ -37,9 +36,12 @@ playground.xcworkspace
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/

.build/
.swiftpm
.swiftpm/*
# To track xcshareddata, we also need rules for its parent folder
!.swiftpm/xcode/
.swiftpm/xcode/*
!.swiftpm/xcode/xcshareddata/

# Logs
logs
Expand Down Expand Up @@ -189,14 +191,16 @@ local.properties
/android/Gutenberg/src/main/assets/assets
/android/Gutenberg/src/main/assets/index.html
/android/Gutenberg/src/main/assets/remote.html

# Disabled removing these files until this is published like Android in CI.
# /ios/Sources/GutenbergKit/Gutenberg/assets
# /ios/Sources/GutenbergKit/Gutenberg/index.html
# /ios/Sources/GutenbergKit/Gutenberg/remote.html
/ios/Sources/GutenbergKitResources/Resources/assets
/ios/Sources/GutenbergKitResources/Resources/index.html
/ios/Sources/GutenbergKitResources/Resources/remote.html

# Translation files
src/translations/

# Claude
.claude/settings.local.json

# Ruby tooling
vendor/bundle
fastlane/report.xml
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.3.4
104 changes: 104 additions & 0 deletions .swiftpm/xcode/xcshareddata/xcschemes/GutenbergKit.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1600"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<PreActions>
<ExecutionAction
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
<ActionContent
title = "Run Script"
scriptText = "# Type a script or drag a script file from your workspace to insert its path.&#10;">
</ActionContent>
</ExecutionAction>
</PreActions>
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "GutenbergKit"
BuildableName = "GutenbergKit"
BlueprintName = "GutenbergKit"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<TestPlans>
<TestPlanReference
reference = "container:ios/Tests/AllTests.xctestplan"
default = "YES">
</TestPlanReference>
</TestPlans>
<Testables>
<TestableReference
skipped = "NO"
parallelizable = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "GutenbergKitTests"
BuildableName = "GutenbergKitTests"
BlueprintName = "GutenbergKitTests"
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "GutenbergKitResourcesTests"
BuildableName = "GutenbergKitResourcesTests"
BlueprintName = "GutenbergKitResourcesTests"
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "GutenbergKit"
BuildableName = "GutenbergKit"
BlueprintName = "GutenbergKit"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
6 changes: 6 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# frozen_string_literal: true

source 'https://rubygems.org'

gem 'fastlane-plugin-wpmreleasetoolkit', '~> 13.7'
gem 'openssl'
Loading
Loading