Skip to content

CI Workflow Refactor#96

Merged
kirillt merged 3 commits into
patch-1from
refactor-ci
Jan 4, 2025
Merged

CI Workflow Refactor#96
kirillt merged 3 commits into
patch-1from
refactor-ci

Conversation

@tareknaser

Copy link
Copy Markdown
Contributor

This PR refactors the CI workflows. The biggest change is moving Java bindings to a separate job that only runs if the "Build and Test" jobs pass.
Related discussion: #94 (comment)

What’s New:

  • Java bindings now run as a separate job after all the build and test jobs are done.
  • Weekly Testing workflow is simplified with a matrix so we don’t repeat the same steps for each platform.
  • Benchmarks now run only if Java bindings pass and it’s a pull request.

Why This Approach?

  • Benchmarks
    • Tried keeping benchmarks in a separate workflow using workflow_run, but ran into issues with getting the branchName and commenting on PRs.
  • Java Bindings

Current CI Setup:

Screenshot 2024-12-20 at 1 39 27 AM

Examples from my fork:

  • Push to Main: Benchmarks are skipped
    Run Example
  • Pull Request: Everything runs as expected, including benchmarks
    Run Example

Signed-off-by: Tarek <tareknaser360@gmail.com>
…cess

Signed-off-by: Tarek <tareknaser360@gmail.com>
Signed-off-by: Tarek <tareknaser360@gmail.com>

@pushkarm029 pushkarm029 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean✨

Comment thread .github/workflows/build.yml
@kirillt kirillt merged commit 14b2fff into patch-1 Jan 4, 2025
oluiscabral added a commit that referenced this pull request Jun 10, 2025
* Build and release `fs-storage` JNI libraries and publish Java library

* Create `cache.yml` workflow

* WIP - start transforming it into AAR

* WIP - set up library as AAR

* Finish AAR setup

* Set up NDK to GitHub Actions

* Fix `Set up NDK` step

* Set up Android SDK

* Set `ANDROID_NDK_HOME` env var

* Set specific ndk version

* Fix NDK version

* Bring back Android SDK setup

* Final touches on AAR build and release workflow

* Fix: speedup `build.yml` and add targets to `release.yml`

* Define `GITHUB_ACTOR` as well

* Wrap GitHubPackages URI in `uri(string)`

* Copy old `publications`

From: https://github.com/ARK-Builders/ark-core/blob/23567aeb6b1184cd004ab7419b8e1895be618024/java/lib/build.gradle.kts

* Update permissions and publications

* Use tag name as version and clean publication

* Remove local configuration

* add `rustfmt` formatting check

* Try using regex as released tag evaluator

* Try new release regex condition

* Fix: Properly remove first character of released tag

* Fix: Try using `GITHUB_REF_NAME` to remove first char of released tag

* Fix: export `RELEASE_VERSION` instead of setting it as `env` in yml

* Update Android NDK and `java/README.md` instructions

* CI Workflow Refactor (#96)

* refactor(CI): move Java bindings into a separate job
* chore(CI): remove old benchmark workflow and integrate into build process
* refactor(CI): consolidate OS jobs into a single build-and-test job
---
Signed-off-by: Tarek <tareknaser360@gmail.com>

---------

Signed-off-by: Tarek <tareknaser360@gmail.com>
Co-authored-by: Tarek Elsayed <60650661+tareknaser@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants