Skip to content

Commit

Permalink
Add CI configuration
Browse files Browse the repository at this point in the history
Signed-off-by: Jonathan Schwender <[email protected]>
  • Loading branch information
jschwe committed Jul 15, 2024
1 parent 51c9999 commit b3c167c
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 1 deletion.
56 changes: 56 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: CI

on:
push:
branches:
- main
pull_request:

jobs:
code_quality:
name: Code Quality
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo fmt --check
- run: cargo clippy
build-toolchains:
strategy:
matrix:
toolchain: [stable, beta, nightly]
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- run: cargo build
name: Build default features
- run: cargo build --all-features
name: Build all features
api_feature_levels:
strategy:
matrix:
# Add API level 12, once APIs have been added.
api_level: ["api-10", "api-11"]
name: Build with API feature levels
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo build --features ${{ matrix.api_level }} --features all-components
name: Build with API features
api_minimal_featueres:
strategy:
matrix:
api_level: ["api-10"]
component: ["drawing", "hilog", "napi", "native_buffer", "native_window", "xcomponent"]
name: Build with minimal features
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo build --features ${{ matrix.api_level }} --features ${{ matrix.component }}
name: Build minimal features
6 changes: 5 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ keywords = ["OpenHarmony", "HarmonyOS", "ffi"]
document-features = { version = "0.2", optional = true }

[features]
default = ["api-10"]
## Enables bindings to `native_drawing`
drawing = []
## Enables bindings to `hilog`
Expand All @@ -37,8 +38,11 @@ all-components = [
#! Optionally enable one of the `api-*` features to get access to bindings for newer
#! OpenHarmony versions.

## Enables bindings for OpenHarmony API-level 10. Enabled by default.
## Note: this crate is empty if this feature is not selected.
api-10 = []
## Enables bindings for OpenHarmony API-level 11
api-11 = []
api-11 = ["api-10"]
## Enables bindings for OpenHarmony API-level 12
api-12 = ["api-11"]
## Document available features when building the documentation
Expand Down

0 comments on commit b3c167c

Please sign in to comment.