Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/upstream/main'
Browse files Browse the repository at this point in the history
# Conflicts:
#	.github/workflows/integration_test_flutter.yml
#	.github/workflows/publish_to_dart_dev.yml
#	webf/example/lib/main.dart
#	webf/ios/webf.podspec
  • Loading branch information
AlexV525 committed Jun 28, 2024
2 parents 45117e1 + 345ffdf commit cdae286
Show file tree
Hide file tree
Showing 702 changed files with 7,421 additions and 64,173 deletions.
81 changes: 66 additions & 15 deletions .github/workflows/integration_test_flutter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ name: Integration Test
on: [workflow_dispatch, pull_request]

env:
nodeVersion: '18'
nodeVersion: "16"
cmakeVersion: "3.22.x"
flutter: "3.13.5"
flutter: "3.19.3"

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
setup:
runs-on: macos-12
runs-on: macos-latest
outputs:
matrix: ${{ steps.matrix.outputs.value }}
steps:
Expand All @@ -22,7 +22,7 @@ jobs:
JSON=$(node -e "console.log(JSON.stringify(require('./integration_tests/spec_group.json').map(j=>j.name)))")
echo "::set-output name=value::$(echo $JSON)"
build_bridge:
runs-on: macos-12
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
Expand All @@ -33,8 +33,7 @@ jobs:
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- run: npm i -g pnpm
- run: pnpm install
- run: npm i -g pnpm && pnpm install
- run: pnpm run build:bridge:macos
- uses: actions/upload-artifact@v2
with:
Expand All @@ -56,8 +55,7 @@ jobs:
- run: |
sudo apt-get update
sudo apt-get install chrpath ninja-build pkg-config -y
- run: npm i -g pnpm
- run: pnpm install
- run: npm i -g pnpm && pnpm install
- run: ENABLE_ASAN=true pnpm run build:bridge:linux
- run: node scripts/run_bridge_unit_test.js

Expand All @@ -75,7 +73,7 @@ jobs:
- run: cd webf && flutter test

integration_test:
runs-on: self-hosted
runs-on: macos-latest
needs: [ setup, build_bridge ]
strategy:
fail-fast: false
Expand All @@ -90,7 +88,7 @@ jobs:
node-version: ${{ env.nodeVersion }}
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.flutter310 }}
flutter-version: ${{ env.flutter }}
- run: flutter config --enable-macos-desktop
- run: flutter doctor -v
- uses: actions/download-artifact@v2
Expand All @@ -111,7 +109,34 @@ jobs:
if: steps.test.outcome != 'success'
run: exit 1
multiple_page_test:
runs-on: self-hosted
runs-on: macos-latest
needs: [ build_bridge ]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: ${{ env.nodeVersion }}
- uses: actions/download-artifact@v2
with:
name: macos_bridge_binary
path: bridge/build/macos/
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.flutter }}
- run: flutter config --enable-macos-desktop
- run: flutter doctor -v
- name: Run MultiplePageTest Test
run: cd integration_tests && LOAD_MODE=prerendering node scripts/preload_prerendering_page_integration.js
id: test
continue-on-error: true
- name: Check on failures
if: steps.test.outcome != 'success'
run: exit 1

preload_page_test:
runs-on: macos-latest
needs: [ build_bridge ]
steps:
- uses: actions/checkout@v3
Expand All @@ -126,19 +151,45 @@ jobs:
path: bridge/build/macos/
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.flutter310 }}
flutter-version: ${{ env.flutter }}
- run: flutter config --enable-macos-desktop
- run: flutter doctor -v
- name: Run MultiplePageTest Test
run: cd integration_tests && npm install -g pnpm && pnpm run multiple_page_test
run: cd integration_tests && LOAD_MODE=preload node scripts/preload_prerendering_page_integration.js
id: test
continue-on-error: true
- name: Check on failures
if: steps.test.outcome != 'success'
run: exit 1
prerendering_page_test:
runs-on: macos-latest
needs: [ build_bridge ]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: ${{ env.nodeVersion }}
- uses: actions/download-artifact@v2
with:
name: macos_bridge_binary
path: bridge/build/macos/
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.flutter }}
- run: flutter config --enable-macos-desktop
- run: flutter doctor -v
- name: Run MultiplePageTest Test
run: cd integration_tests && LOAD_MODE=prerendering node scripts/preload_prerendering_page_integration.js
id: test
continue-on-error: true
- name: Check on failures
if: steps.test.outcome != 'success'
run: exit 1

memory_leak_test:
runs-on: self-hosted
runs-on: macos-latest
needs: [ build_bridge ]
steps:
- uses: actions/checkout@v3
Expand All @@ -153,7 +204,7 @@ jobs:
path: bridge/build/macos/
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.flutter310 }}
flutter-version: ${{ env.flutter }}
- run: flutter config --enable-macos-desktop
- run: flutter doctor -v
- name: Run MemoryLeak Test
Expand Down
201 changes: 101 additions & 100 deletions .github/workflows/publish_to_dart_dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ on:
workflow_dispatch:

env:
nodeVersion: '16'
cmakeVersion: '3.22.x'
flutterVersion: '2.2.0'
nodeVersion: "16"
cmakeVersion: "3.22.x"
flutterVersion: "2.2.0"

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
Expand Down Expand Up @@ -40,10 +40,10 @@ jobs:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: '16'
node-version: "16"
- uses: jwlawson/[email protected]
with:
cmake-version: '3.22.x'
cmake-version: "3.22.x"
- run: |
sudo apt-get update
sudo apt-get install chrpath ninja-build pkg-config -y
Expand All @@ -56,108 +56,109 @@ jobs:
build_macos_binary:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: '16'
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- name: NPM INSTALL
run: npm i -g pnpm && pnpm install
- name: Build bridge binary
run: pnpm run build:bridge:macos:release
- uses: actions/upload-artifact@v2
with:
name: macos_binary
path: bridge/build/macos/
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: "16"
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- name: NPM INSTALL
run: npm i -g pnpm && pnpm install
- name: Build bridge binary
run: pnpm run build:bridge:macos:release
- uses: actions/upload-artifact@v2
with:
name: macos_binary
path: bridge/build/macos/
build_ios_binary:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: '16'
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- name: NPM INSTALL
run: npm i -g pnpm && pnpm install
- name: Build bridge binary
run: pnpm run build:bridge:ios:release
- uses: actions/upload-artifact@v2
with:
name: ios_binary
path: bridge/build/ios/
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: "16"
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- name: NPM INSTALL
run: npm i -g pnpm && pnpm install
- name: Build bridge binary
run: pnpm run build:bridge:ios:release
- uses: actions/upload-artifact@v2
with:
name: ios_binary
path: bridge/build/ios/
build_android_binary:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: '16'
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r22b
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- name: NPM INSTALL
run: npm i -g pnpm && pnpm install
- name: Build bridge binary
run: pnpm run build:bridge:android:release
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- uses: actions/upload-artifact@v2
with:
name: android_binary
path: bridge/build/android/
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: "16"
- uses: nttld/setup-ndk@v1.2.0
id: setup-ndk
with:
ndk-version: r22b
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- name: NPM INSTALL
run: npm i -g pnpm && pnpm install
- name: Build bridge binary
run: pnpm run build:bridge:android:release
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- uses: actions/upload-artifact@v2
with:
name: android_binary
path: bridge/build/android/
publish:
needs: [build_linux_binary, build_android_binary, build_ios_binary, build_macos_binary, build_windows_binary]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.flutterVersion }}
- name: NPM INSTALL
run: npm i -g pnpm && pnpm install
- uses: actions/download-artifact@v2
with:
name: linux_binary
path: bridge/build/linux/
- uses: actions/download-artifact@v2
with:
name: ios_binary
path: bridge/build/ios/
- uses: actions/download-artifact@v2
with:
name: macos_binary
path: bridge/build/macos/
- uses: actions/download-artifact@v2
with:
name: android_binary
path: bridge/build/android/
- uses: actions/download-artifact@v2
with:
name: windows_binary
path: bridge/build/windows/
- name: Prepare distribute binaries
run: node scripts/pre_publish_webf.js
- name: Publish
uses: k-paxian/dart-package-publisher@master
with:
credentialJson: ${{ secrets.CREDENTIAL_JSON }}
force: true
flutter: true
skipTests: true
relativePath: ./webf
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.flutterVersion }}
- name: NPM INSTALL
run: npm i -g pnpm && pnpm install
- uses: actions/download-artifact@v2
with:
name: linux_binary
path: bridge/build/linux/
- uses: actions/download-artifact@v2
with:
name: ios_binary
path: bridge/build/ios/
- uses: actions/download-artifact@v2
with:
name: macos_binary
path: bridge/build/macos/
- uses: actions/download-artifact@v2
with:
name: android_binary
path: bridge/build/android/
- uses: actions/download-artifact@v2
with:
name: windows_binary
path: bridge/build/windows/
- name: Prepare distribute binaries
run: node scripts/pre_publish_webf.js
- name: Publish
uses: k-paxian/dart-package-publisher@master
with:
credentialJson: ${{ secrets.CREDENTIAL_JSON }}
force: true
flutter: true
skipTests: true
relativePath: ./webf

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ This ensures that users can reliably receive updates for three minor WebF versio
| `>= 0.12.0 < 0.14.0` | `3.0.5` |
| `>= 0.14.0 < 0.15.0` | `3.3.10` and `3.7.3` |
| `>= 0.15.0 < 0.16.0` | `3.10.x` |
| `>= 0.16.0 < 0.17.0` | `3.13.x` and `3.16.x` |
| `>= 0.16.0 < 0.17.0` | `3.13.x` and `3.16.x` and `3.19.x` |


<img width="817" alt="image" src="https://github.com/openwebf/webf/assets/4409743/2d5cf5a1-e670-424b-8766-324f475bbc0a">
Expand Down
Loading

0 comments on commit cdae286

Please sign in to comment.