Skip to content

Publish Kraken To pub.dev Nightly #220

Publish Kraken To pub.dev Nightly

Publish Kraken To pub.dev Nightly #220

name: Publish Kraken To pub.dev Nightly
on:
schedule:
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
# Run workflow every day at 21:00
- cron: '0 0 * * 0'
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_linux_binary:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: "16"
- uses: jwlawson/[email protected]
with:
cmake-version: "3.22.x"
- 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@v2
- 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@v2
- 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: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: "16"
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r23c
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- 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
- 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]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.flutterVersion }}
- name: NPM INSTALL
run: npm install
- name: Set up nightly version
run: node scripts/set_up_nightly_release.js
- 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/
- name: Prepare distribute binaries
run: node scripts/pre_publish_kraken.js
- name: Publish
uses: k-paxian/dart-package-publisher@master
with:
credentialJson: ${{ secrets.CREDENTIAL_JSON }}
force: true
flutter: true
skipTests: true
relativePath: ./kraken