Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
45 changes: 39 additions & 6 deletions .github/workflows/build-skia-graphite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,43 @@ jobs:
SK_GRAPHITE: 1
run: yarn build-skia ${{ matrix.target }}

- name: Package binaries - ${{ matrix.artifact_name }}
id: package
- name: Package Apple xcframeworks (per-framework zips) - ${{ matrix.artifact_name }}
if: startsWith(matrix.target, 'apple')
run: |
set -eo pipefail
ROOT="${{ matrix.package_root }}"
TAG="${DISPATCH_TAG}"
if [ -z "$TAG" ]; then
TAG="${SKIA_BRANCH_SLUG}"
fi
if [ -z "$TAG" ]; then
TAG="${GITHUB_REF_NAME:-}"
fi
if [ -z "$TAG" ]; then
TAG="${GITHUB_SHA}"
fi
mkdir -p release-assets
# SPM binaryTarget requires one .xcframework per .zip archive, so each
# framework in the bundle is zipped separately (ditto preserves the
# symlinks inside .xcframework, unlike the default `zip` tool) and its
# SPM checksum recorded for the future Package.swift binaryTargets.
MANIFEST="release-assets/${{ matrix.artifact_name }}-${TAG}.checksums.txt"
: > "$MANIFEST"
for fw in "$ROOT"/*.xcframework; do
NAME="$(basename "$fw" .xcframework)"
ZIP_NAME="${{ matrix.artifact_name }}-${NAME}-${TAG}.zip"
ZIP_PATH="release-assets/$ZIP_NAME"
ditto -c -k --sequesterRsrc --keepParent "$fw" "$ZIP_PATH"
CHECKSUM="$(swift package compute-checksum "$ZIP_PATH")"
echo "$ZIP_NAME $CHECKSUM" >> "$MANIFEST"
done
shell: bash
env:
DISPATCH_TAG: ${{ needs.prepare-release.outputs.tag_name }}
SKIA_BRANCH_SLUG: ${{ needs.prepare-release.outputs.skia_branch_slug }}

- name: Package Android binaries - ${{ matrix.artifact_name }}
if: startsWith(matrix.target, 'android')
run: |
set -eo pipefail
ROOT="${{ matrix.package_root }}"
Expand All @@ -198,8 +233,6 @@ jobs:
ARCHIVE="${{ matrix.artifact_name }}-${TAG}.tar.gz"
mkdir -p release-assets
tar -czf "release-assets/$ARCHIVE" -C "$PARENT" "$BASENAME"
echo "asset_path=release-assets/$ARCHIVE" >> "$GITHUB_OUTPUT"
echo "asset_name=$ARCHIVE" >> "$GITHUB_OUTPUT"
shell: bash
env:
DISPATCH_TAG: ${{ needs.prepare-release.outputs.tag_name }}
Expand All @@ -212,15 +245,15 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ needs.prepare-release.outputs.tag_name }}
files: ${{ steps.package.outputs.asset_path }}
files: release-assets/*
prerelease: true

- name: Upload binaries as workflow artifact (dry run) - ${{ matrix.artifact_name }}
if: ${{ github.event.inputs.dry_run == 'true' }}
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact_name }}
path: ${{ steps.package.outputs.asset_path }}
path: release-assets/
retention-days: 7

- name: Package Graphite Headers
Expand Down
45 changes: 39 additions & 6 deletions .github/workflows/build-skia.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,43 @@ jobs:
ZERO_AR_DATE: 1
run: yarn build-skia ${{ matrix.target }}

- name: Package binaries - ${{ matrix.artifact_name }}
id: package
- name: Package Apple xcframeworks (per-framework zips) - ${{ matrix.artifact_name }}
if: startsWith(matrix.target, 'apple')
run: |
set -eo pipefail
ROOT="${{ matrix.package_root }}"
TAG="${DISPATCH_TAG}"
if [ -z "$TAG" ]; then
TAG="${SKIA_BRANCH_SLUG}"
fi
if [ -z "$TAG" ]; then
TAG="${GITHUB_REF_NAME:-}"
fi
if [ -z "$TAG" ]; then
TAG="${GITHUB_SHA}"
fi
mkdir -p release-assets
# SPM binaryTarget requires one .xcframework per .zip archive, so each
# framework in the bundle is zipped separately (ditto preserves the
# symlinks inside .xcframework, unlike the default `zip` tool) and its
# SPM checksum recorded for the future Package.swift binaryTargets.
MANIFEST="release-assets/${{ matrix.artifact_name }}-${TAG}.checksums.txt"
: > "$MANIFEST"
for fw in "$ROOT"/*.xcframework; do
NAME="$(basename "$fw" .xcframework)"
ZIP_NAME="${{ matrix.artifact_name }}-${NAME}-${TAG}.zip"
ZIP_PATH="release-assets/$ZIP_NAME"
ditto -c -k --sequesterRsrc --keepParent "$fw" "$ZIP_PATH"
CHECKSUM="$(swift package compute-checksum "$ZIP_PATH")"
echo "$ZIP_NAME $CHECKSUM" >> "$MANIFEST"
done
shell: bash
env:
DISPATCH_TAG: ${{ needs.prepare-release.outputs.tag_name }}
SKIA_BRANCH_SLUG: ${{ needs.prepare-release.outputs.skia_branch_slug }}

- name: Package Android binaries - ${{ matrix.artifact_name }}
if: startsWith(matrix.target, 'android')
run: |
set -eo pipefail
ROOT="${{ matrix.package_root }}"
Expand All @@ -149,8 +184,6 @@ jobs:
ARCHIVE="${{ matrix.artifact_name }}-${TAG}.tar.gz"
mkdir -p release-assets
tar -czf "release-assets/$ARCHIVE" -C "$PARENT" "$BASENAME"
echo "asset_path=release-assets/$ARCHIVE" >> "$GITHUB_OUTPUT"
echo "asset_name=$ARCHIVE" >> "$GITHUB_OUTPUT"
shell: bash
env:
DISPATCH_TAG: ${{ needs.prepare-release.outputs.tag_name }}
Expand All @@ -163,13 +196,13 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ needs.prepare-release.outputs.tag_name }}
files: ${{ steps.package.outputs.asset_path }}
files: release-assets/*
prerelease: true

- name: Upload binaries as workflow artifact (dry run) - ${{ matrix.artifact_name }}
if: ${{ github.event.inputs.dry_run == 'true' }}
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact_name }}
path: ${{ steps.package.outputs.asset_path }}
path: release-assets/
retention-days: 7
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[submodule "externals/skia"]
path = externals/skia
url = https://chromium.googlesource.com/skia/
branch = chrome/m152
branch = chrome/m154
[submodule "externals/depot_tools"]
path = externals/depot_tools
url = https://chromium.googlesource.com/chromium/tools/depot_tools.git
2 changes: 1 addition & 1 deletion externals/depot_tools
Submodule depot_tools updated from 6afa99 to 36a8df
2 changes: 1 addition & 1 deletion externals/skia
Submodule skia updated from 2a9b59 to 9f9e6b
2 changes: 1 addition & 1 deletion packages/skia/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@
"clang-format-ios": "find apple/ -iname '*.h' -o -iname '*.mm' -o -iname '*.cpp' | xargs clang-format -i",
"clang-format-android": "find android/cpp/ -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' | xargs clang-format -i",
"clang-format-common": "find cpp/ \\( -path 'cpp//skia' -prune \\) -o \\( -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' \\) -print | xargs clang-format -i",
"workflow-copy-libs": "tsx ./scripts/workflow-copy-libs.ts",
"cpplint": "cpplint --linelength=230 --filter=-legal/copyright,-whitespace/indent,-whitespace/comments,-whitespace/ending_newline,-build/include_order,-runtime/references,-readability/todo,-whitespace/blank_line,-whitespace/todo,-runtime/int,-build/c++11,-whitespace/parens --exclude=package/cpp/skia --exclude=package/ios --exclude=package/android/build --exclude=package/node_modules --recursive package"
},
"repository": {
Expand Down Expand Up @@ -116,6 +115,7 @@
"eslint-config-react-native-wcandillon": "4.0.1",
"eslint-plugin-import": "2.32.0",
"eslint-plugin-react-hooks": "^5.2.0",
"extract-zip": "^2.0.1",
"jest": "30.0.0",
"jest-diff": "29.7.0",
"jest-environment-jsdom": "30.0.0",
Expand Down
Loading
Loading