Skip to content

Publish WebF To pub.dev #101

Publish WebF To pub.dev

Publish WebF To pub.dev #101

name: Publish WebF To pub.dev
on:
release:
types: [created]
workflow_dispatch:
env:
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:
build_windows_binary:
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v2
with:
node-version: ${{ env.nodeVersion }}
- uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.cmakeVersion }}
- run: npm i
- name: Build windows dll
run: npm run build:bridge:windows:release
- uses: actions/upload-artifact@v2
with:
name: windows_binary
path: bridge/build/windows/
build_linux_binary:
runs-on: ubuntu-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: "3.22.x"
- run: |
sudo apt-get update
sudo apt-get install chrpath ninja-build pkg-config -y
- run: npm i
- run: npm run build:bridge:linux:release
- uses: actions/upload-artifact@v2
with:
name: linux_binary
path: bridge/build/linux/
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 install
- name: Build bridge binary
run: npm 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 install
- name: Build bridge binary
run: npm 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 install
- name: Build bridge binary
run: npm 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 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