-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit cea967d
Showing
190 changed files
with
9,436 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,194 @@ | ||
name: Build & Test | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
# schedule: | ||
# # runs the CI everyday at 10AM | ||
# - cron: "0 10 * * *" | ||
|
||
jobs: | ||
# General build, check, and test steps | ||
build_and_test: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
# Setup | ||
- uses: actions/checkout@v3 | ||
- uses: subosito/flutter-action@v2 | ||
- uses: bluefireteam/melos-action@v2 | ||
- uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
components: rustfmt, clippy | ||
|
||
# Rust | ||
- name: Check Rust format | ||
working-directory: ./packages/savgol/native/src | ||
run: rustfmt --check lib.rs | ||
- name: Rust code analysis | ||
run: cargo clippy -- -D warnings | ||
- name: Run Rust tests | ||
run: cargo test | ||
- name: Build Rust code for Dart tests | ||
run: cargo build -r | ||
|
||
# Dart/Flutter | ||
# TODO: ignore generated files | ||
# - name: Check Dart format | ||
# run: melos run check-format --no-select | ||
# - name: Dart code analysis | ||
# run: melos run analyze --no-select | ||
# - name: Run Dart tests | ||
# run: melos run test | ||
|
||
macos_integration_test: | ||
runs-on: macos-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: subosito/flutter-action@v2 | ||
- uses: bluefireteam/melos-action@v2 | ||
- uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
|
||
- name: Build the XCFramework | ||
run: melos run build:apple | ||
- name: Copy the XCFramework to the needed location | ||
run: | | ||
CURR_VERSION=savgol-v`awk '/^version: /{print $2}' packages/savgol/pubspec.yaml` | ||
cp platform-build/SavGol.xcframework.zip packages/flutter_savgol/macos/Frameworks/$CURR_VERSION.zip | ||
echo Copied file! | ||
- name: Run Flutter integration tests | ||
working-directory: packages/flutter_savgol/example | ||
run: flutter test -d macos integration_test | ||
|
||
windows_integration_test: | ||
runs-on: windows-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: subosito/flutter-action@v2 | ||
- uses: bluefireteam/melos-action@v2 | ||
- uses: goto-bus-stop/setup-zig@v2 | ||
- uses: KyleMayes/install-llvm-action@v1 | ||
with: | ||
version: "15" | ||
- uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
|
||
- name: Build the binaries | ||
run: melos run build:other | ||
- name: Copy the binaries to the needed location | ||
shell: bash | ||
run: | | ||
CURR_VERSION=savgol-v`awk '/^version: /{print $2}' packages/savgol/pubspec.yaml` | ||
cp platform-build/other.tar.gz packages/flutter_savgol/windows/$CURR_VERSION.tar.gz | ||
echo Copied file! | ||
- name: Run Flutter integration tests | ||
working-directory: packages/flutter_savgol/example | ||
run: flutter test -d windows integration_test | ||
|
||
linux_integration_test: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Install dependencies for flutter integration test | ||
run: sudo apt update && sudo apt-get install -y libglu1-mesa ninja-build clang cmake pkg-config libgtk-3-dev liblzma-dev | ||
- uses: pyvista/setup-headless-display-action@v1 | ||
- uses: subosito/flutter-action@v2 | ||
- uses: bluefireteam/melos-action@v2 | ||
- uses: goto-bus-stop/setup-zig@v2 | ||
- uses: KyleMayes/install-llvm-action@v1 | ||
with: | ||
version: "15" | ||
- uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
|
||
- name: Build the binaries | ||
run: melos run build:other | ||
- name: Copy the binaries to the needed location | ||
run: | | ||
CURR_VERSION=savgol-v`awk '/^version: /{print $2}' packages/savgol/pubspec.yaml` | ||
cp platform-build/other.tar.gz packages/flutter_savgol/linux/$CURR_VERSION.tar.gz | ||
echo Copied file! | ||
- name: Run Flutter integration tests | ||
working-directory: packages/flutter_savgol/example | ||
run: flutter test -d linux integration_test | ||
|
||
ios_integration_test: | ||
runs-on: macos-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: subosito/flutter-action@v2 | ||
- uses: bluefireteam/melos-action@v2 | ||
- uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
|
||
- name: Start iOS Simulator | ||
run: | | ||
DEVICE_ID=$(xcrun xctrace list devices | grep iPhone | head -1 | awk '{print $NF}' | tr -d '()') | ||
echo "DEVICE_ID=$DEVICE_ID" >> $GITHUB_ENV | ||
xcrun simctl boot $DEVICE_ID | ||
- name: Build the XCFramework | ||
run: melos run build:apple | ||
- name: Copy the XCFramework to the needed location | ||
run: | | ||
CURR_VERSION=savgol-v`awk '/^version: /{print $2}' packages/savgol/pubspec.yaml` | ||
cp platform-build/SavGol.xcframework.zip packages/flutter_savgol/ios/Frameworks/$CURR_VERSION.zip | ||
echo Copied file! | ||
- name: Run Flutter integration tests | ||
working-directory: packages/flutter_savgol/example | ||
run: flutter test -d ${{ env.DEVICE_ID }} integration_test | ||
|
||
android_integration_test: | ||
runs-on: macos-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: subosito/flutter-action@v2 | ||
- uses: bluefireteam/melos-action@v2 | ||
- uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
- uses: nttld/setup-ndk@v1 | ||
with: | ||
ndk-version: r25b | ||
- uses: actions/setup-java@v3 | ||
with: | ||
distribution: zulu | ||
java-version: "11.x" | ||
|
||
- name: Build the binaries | ||
run: melos run build:android | ||
- name: Copy the binaries to the needed location | ||
run: | | ||
CURR_VERSION=savgol-v`awk '/^version: /{print $2}' packages/savgol/pubspec.yaml` | ||
cp platform-build/android.tar.gz packages/flutter_savgol/android/$CURR_VERSION.tar.gz | ||
echo Copied file! | ||
- name: Run Flutter integration tests | ||
uses: Wandalen/wretry.action@master # sometimes android tests are flaky | ||
with: | ||
attempt_limit: 5 | ||
action: reactivecircus/android-emulator-runner@v2 | ||
with: | | ||
api-level: 33 | ||
target: google_apis | ||
arch: x86_64 | ||
ram-size: 1024M | ||
disk-size: 2048M | ||
script: cd packages/flutter_savgol/example && flutter test -d `flutter devices | grep android | tr ' ' '\n' | grep emulator-` integration_test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
name: Publish Release(s) | ||
|
||
on: | ||
push: | ||
tags: | ||
- "*" | ||
|
||
jobs: | ||
publish_github_release: | ||
# macOS because we can cross-compile to all other platforms from it | ||
runs-on: macos-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: subosito/flutter-action@v2 | ||
- uses: bluefireteam/melos-action@v2 | ||
- uses: goto-bus-stop/setup-zig@v2 | ||
- uses: KyleMayes/install-llvm-action@v1 | ||
with: | ||
version: "15" | ||
- uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
- uses: nttld/setup-ndk@v1 | ||
with: | ||
ndk-version: r25b | ||
|
||
- name: Build all library binaries | ||
run: melos run build | ||
|
||
- name: Create GitHub release | ||
uses: softprops/action-gh-release@v1 | ||
with: | ||
files: platform-build/* | ||
|
||
publish_pub_release: | ||
needs: publish_github_release | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: subosito/flutter-action@v2 | ||
- uses: bluefireteam/melos-action@v2 | ||
- name: Setup pub.dev credentials | ||
run: | | ||
mkdir -p $HOME/.config/dart | ||
cat << EOF > $HOME/.config/dart/pub-credentials.json | ||
${{ secrets.PUB_CRED_JSON }} | ||
EOF | ||
- name: Dry-run publish to pub.dev | ||
run: melos publish -y --dry-run | ||
- name: Publish to pub.dev | ||
run: melos publish -y --no-dry-run |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
target/ | ||
platform-build/ | ||
.dart_tool/ | ||
.idea/ | ||
melos_savgol.iml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
# Change Log | ||
|
||
All notable changes to this project will be documented in this file. | ||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. | ||
|
||
## 2023-09-23 | ||
|
||
### Changes | ||
|
||
--- | ||
|
||
Packages with breaking changes: | ||
|
||
- There are no breaking changes in this release. | ||
|
||
Packages with other changes: | ||
|
||
- [`flutter_savgol` - `v0.0.2+3`](#flutter_savgol---v0023) | ||
|
||
--- | ||
|
||
#### `flutter_savgol` - `v0.0.2+3` | ||
|
||
- **FIX**: missing dependency. | ||
|
||
|
||
## 2023-09-23 | ||
|
||
### Changes | ||
|
||
--- | ||
|
||
Packages with breaking changes: | ||
|
||
- There are no breaking changes in this release. | ||
|
||
Packages with other changes: | ||
|
||
- [`flutter_savgol` - `v0.0.2+2`](#flutter_savgol---v0022) | ||
|
||
--- | ||
|
||
#### `flutter_savgol` - `v0.0.2+2` | ||
|
||
- **FIX**: snip example. | ||
|
||
|
||
## 2023-09-23 | ||
|
||
### Changes | ||
|
||
--- | ||
|
||
Packages with breaking changes: | ||
|
||
- There are no breaking changes in this release. | ||
|
||
Packages with other changes: | ||
|
||
- [`flutter_savgol` - `v0.0.2+1`](#flutter_savgol---v0021) | ||
|
||
--- | ||
|
||
#### `flutter_savgol` - `v0.0.2+1` | ||
|
||
- **FIX**: something. | ||
|
||
|
||
## 2023-09-23 | ||
|
||
### Changes | ||
|
||
--- | ||
|
||
Packages with breaking changes: | ||
|
||
- There are no breaking changes in this release. | ||
|
||
Packages with other changes: | ||
|
||
- [`flutter_savgol` - `v0.0.2`](#flutter_savgol---v002) | ||
- [`savgol` - `v1.1.0`](#savgol---v110) | ||
|
||
--- | ||
|
||
#### `flutter_savgol` - `v0.0.2` | ||
|
||
- **FEAT**: initial. | ||
|
||
#### `savgol` - `v1.1.0` | ||
|
||
- **FEAT**: initial. | ||
|
Oops, something went wrong.