forked from ARK-Builders/ark-core
-
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.
refactor(CI): separate Java bindings workflow
Signed-off-by: Tarek <[email protected]>
- Loading branch information
1 parent
61cd3f5
commit 94c2d5b
Showing
3 changed files
with
70 additions
and
124 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 |
---|---|---|
@@ -1,20 +1,25 @@ | ||
name: Run benchmarks | ||
name: Run Benchmarks | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- main | ||
workflow_run: | ||
workflows: | ||
- Verify Build | ||
types: | ||
- completed | ||
|
||
jobs: | ||
run_benchmarks: | ||
name: Run Benchmarks | ||
runs-on: ubuntu-latest | ||
|
||
# Only run this job if the workflow run was triggered by a pull request | ||
if: ${{ github.event.pull_request != null }} | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Run Criterion | ||
uses: boa-dev/criterion-compare-action@v3 | ||
with: | ||
branchName: ${{ github.base_ref }} | ||
branchName: ${{ github.event.pull_request.base.ref }} | ||
token: ${{ secrets.GITHUB_TOKEN }} |
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 |
---|---|---|
@@ -1,4 +1,4 @@ | ||
name: Verify build | ||
name: Verify Build | ||
|
||
on: | ||
push: | ||
|
@@ -17,7 +17,6 @@ jobs: | |
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install Nightly Rust with rustfmt | ||
uses: dtolnay/rust-toolchain@stable | ||
with: | ||
|
@@ -27,108 +26,17 @@ jobs: | |
- name: Run rustfmt | ||
run: cargo fmt --all -- --check | ||
|
||
linux: | ||
name: Build on Linux | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install Rust | ||
uses: dtolnay/rust-toolchain@stable | ||
|
||
- name: Set up Cargo Cache | ||
uses: Swatinem/rust-cache@v2 | ||
with: | ||
save-if: false | ||
|
||
- name: Run tests | ||
run: cargo test --verbose | ||
|
||
- name: Build Release | ||
run: cargo build --verbose --release | ||
|
||
- name: Run `ark-cli watch` test | ||
run: ./integration/ark-cli-watch.sh | ||
|
||
- name: Install JDK | ||
uses: actions/[email protected] | ||
with: | ||
distribution: "temurin" | ||
java-version: "22" | ||
|
||
- name: Set up Gradle | ||
uses: gradle/actions/setup-gradle@v3 | ||
|
||
- name: Set up Android SDK | ||
uses: android-actions/setup-android@v3 | ||
|
||
- name: Set up Android NDK | ||
uses: nttld/setup-ndk@v1 | ||
with: | ||
link-to-sdk: true | ||
ndk-version: r28-beta2 | ||
|
||
- name: Java tests | ||
run: gradle test | ||
working-directory: ./java | ||
|
||
windows: | ||
name: Test on Windows | ||
runs-on: windows-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install Rust | ||
uses: dtolnay/rust-toolchain@stable | ||
|
||
- name: Set up Cargo Cache | ||
uses: Swatinem/rust-cache@v2 | ||
with: | ||
save-if: false | ||
|
||
- name: Run tests | ||
run: cargo test --workspace --verbose | ||
|
||
- name: Build Release | ||
run: cargo build --verbose --release | ||
|
||
- name: Run `ark-cli watch` test | ||
run: ./integration/ark-cli-watch.sh | ||
|
||
- name: Install JDK | ||
uses: actions/[email protected] | ||
with: | ||
distribution: "temurin" | ||
java-version: "22" | ||
|
||
- name: Set up Gradle | ||
uses: gradle/actions/setup-gradle@v3 | ||
|
||
- name: Set up Android SDK | ||
uses: android-actions/setup-android@v3 | ||
|
||
- name: Set up Android NDK | ||
uses: nttld/setup-ndk@v1 | ||
with: | ||
link-to-sdk: true | ||
ndk-version: r28-beta2 | ||
|
||
- name: Java tests | ||
run: gradle test | ||
working-directory: ./java | ||
|
||
mac-intel: | ||
name: Test on macOS Intel | ||
runs-on: macos-14 | ||
build-and-test: | ||
name: Build and Test | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, windows-latest, macos-14] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install Rust | ||
uses: dtolnay/rust-toolchain@stable | ||
|
||
- name: Set up Cargo Cache | ||
uses: Swatinem/rust-cache@v2 | ||
with: | ||
|
@@ -140,27 +48,14 @@ jobs: | |
- name: Build Release | ||
run: cargo build --verbose --release | ||
|
||
# `ark-cli-watch.sh` script tests the functionality of `ark-cli watch`, | ||
# which monitors a directory for file changes using a filesystem watcher and updates the index file. | ||
# We need to run it on each platform to ensure it works across all OSes. | ||
- name: Run `ark-cli watch` test | ||
run: ./integration/ark-cli-watch.sh | ||
|
||
- name: Install JDK | ||
uses: actions/[email protected] | ||
with: | ||
distribution: "temurin" | ||
java-version: "22" | ||
|
||
- name: Set up Gradle | ||
uses: gradle/actions/setup-gradle@v3 | ||
|
||
- name: Set up Android SDK | ||
uses: android-actions/setup-android@v3 | ||
|
||
- name: Set up Android NDK | ||
uses: nttld/setup-ndk@v1 | ||
- name: Upload Release Build | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
link-to-sdk: true | ||
ndk-version: r28-beta2 | ||
|
||
- name: Java tests | ||
run: gradle test | ||
working-directory: ./java | ||
name: release-build-${{ matrix.os }} | ||
path: target/release/ |
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,46 @@ | ||
name: Java Bindings | ||
|
||
on: | ||
workflow_run: | ||
workflows: | ||
- Verify Build | ||
types: | ||
- completed | ||
|
||
jobs: | ||
java-bindings: | ||
name: Java Bindings | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, windows-latest, macos-14] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Download Build Artifacts | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: release-build-${{ matrix.os }} | ||
path: ./release | ||
|
||
- name: Install JDK | ||
uses: actions/[email protected] | ||
with: | ||
distribution: "temurin" | ||
java-version: "22" | ||
|
||
- name: Set up Gradle | ||
uses: gradle/actions/setup-gradle@v3 | ||
|
||
- name: Set up Android SDK | ||
uses: android-actions/setup-android@v3 | ||
|
||
- name: Set up Android NDK | ||
uses: nttld/setup-ndk@v1 | ||
with: | ||
link-to-sdk: true | ||
ndk-version: r28-beta2 | ||
|
||
- name: Run Java Tests | ||
run: gradle test | ||
working-directory: ./java |