Skip to content

Commit

Permalink
refactor(CI): move Java bindings into a separate job
Browse files Browse the repository at this point in the history
Signed-off-by: Tarek <[email protected]>
  • Loading branch information
tareknaser committed Dec 19, 2024
1 parent 61cd3f5 commit e3585c4
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 155 deletions.
10 changes: 6 additions & 4 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
name: Run benchmarks
name: Run Benchmarks

on:
pull_request:
branches:
- main
workflow_run:
workflows:
- Verify Build
types:
- completed

jobs:
run_benchmarks:
Expand Down
119 changes: 26 additions & 93 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Verify build
name: Verify Build

on:
push:
Expand All @@ -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:
Expand All @@ -27,62 +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
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:
Expand All @@ -94,54 +48,33 @@ 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: release-build-${{ matrix.os }}
path: target/release/

- name: Java tests
run: gradle test
working-directory: ./java

mac-intel:
name: Test on macOS Intel
runs-on: macos-14
java-bindings:
name: Java Bindings
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-14]
needs: build-and-test

steps:
- uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Set up Cargo Cache
uses: Swatinem/rust-cache@v2
- name: Download Build Artifacts
uses: actions/download-artifact@v3
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: release-build-${{ matrix.os }}
path: ./release

- name: Install JDK
uses: actions/[email protected]
Expand All @@ -161,6 +94,6 @@ jobs:
link-to-sdk: true
ndk-version: r28-beta2

- name: Java tests
- name: Run Java Tests
run: gradle test
working-directory: ./java
65 changes: 7 additions & 58 deletions .github/workflows/weekly.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Weekly testing
name: Weekly Testing

on:
push:
Expand All @@ -9,63 +9,12 @@ on:
- cron: "0 0 * * 0"

jobs:
linux:
name: 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: true

- name: Run tests
run: cargo test --workspace --verbose --release

windows:
name: 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: true

- name: Run tests
run: cargo test --workspace --verbose --release

mac-intel:
name: MacOS Intel
runs-on: 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:
save-if: true

- name: Run tests
run: cargo test --workspace --verbose --release

mac-arm:
name: MacOS ARM
runs-on: macos-13-xlarge
build-and-test:
name: Build and Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-14, macos-13-xlarge]

steps:
- uses: actions/checkout@v4
Expand Down

0 comments on commit e3585c4

Please sign in to comment.