Skip to content

Fix null assert blocking tool resolution, use ninja to align with flutter, Fix targetOS instead of OS.current. #46

Fix null assert blocking tool resolution, use ninja to align with flutter, Fix targetOS instead of OS.current.

Fix null assert blocking tool resolution, use ninja to align with flutter, Fix targetOS instead of OS.current. #46

Workflow file for this run

name: test + publish + release
on:
push:
paths-ignore:
- "**.md"
- "LICENSE"
# tags:
# - 'v[0-9]+.[0-9]+.[0-9]+*' # tag pattern on pub.dev: 'v{{version}'
pull_request:
branches:
- main
paths-ignore:
- "**.md"
- "LICENSE"
jobs:
test-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: setup
run: |
sudo apt-get update
sudo apt-get install -y gcc-aarch64-linux-gnu \
gcc-arm-linux-gnueabihf gcc-i686-linux-gnu \
gcc-riscv64-linux-gnu ninja-build
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r27c
add-to-path: true
- uses: subosito/flutter-action@v2
with:
channel: "master"
- name: test
run: |
cd "${{github.workspace}}"
dart test
test-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: setup
run: |
choco install ninja
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r27c
add-to-path: true
- uses: subosito/flutter-action@v2
with:
channel: "master"
- name: test
run: |
cd "${{github.workspace}}"
dart test
test-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: setup
run: |
brew install ninja
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r27c
add-to-path: true
- uses: subosito/flutter-action@v2
with:
channel: "master"
- name: test
run: |
cd "${{github.workspace}}"
dart test
publish:
name: Publish
if: startsWith(github.ref, 'refs/tags/v')
needs: [test-linux, test-windows, test-macos]
permissions:
id-token: write # Required for authentication using OIDC
runs-on: ubuntu-latest
environment: pub.dev
steps:
- uses: actions/checkout@v4
- uses: dart-lang/setup-dart@v1
- name: Install dependencies
run: dart pub get
- name: Publish
run: dart pub publish --force
release:
name: Release
if: startsWith(github.ref, 'refs/tags/v')
needs: [test-linux, test-windows, test-macos, publish]
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: release
uses: softprops/action-gh-release@v1
with:
draft: false
prerelease: false
generate_release_notes: true