Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,50 @@ jobs:
for file in ./examples/*.js; do
javy build -C plugin=bless_plugins.wasm "$file" -o "${file%.js}.wasm"
done

get-features:
runs-on: ubuntu-latest
outputs:
features: ${{ steps.get-features.outputs.features }}
steps:
- name: Check out
uses: actions/checkout@v4
- name: Install toml-cli
run: cargo install toml-cli
- name: Extract features from Cargo.toml
id: get-features
run: |
# Extract all feature names from Cargo.toml
all_features=$(toml get Cargo.toml features | jq -r 'keys[]')

# Filter out default
features=$(echo "$all_features" | grep -v -E '^(default)$' | jq -R -s -c 'split("\n") | map(select(length > 0))')

# Add "default" and "all" to test with default features and all features
features=$(echo $features | jq -c '. + ["default", "all"]')

echo "features=$features" >> $GITHUB_OUTPUT
echo "Detected features: $features"

feature-matrix:
needs: get-features
runs-on: ubuntu-latest
strategy:
matrix:
feature: ${{ fromJson(needs.get-features.outputs.features) }}
steps:
- name: Check out
uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@1.85.0
with:
toolchain: stable
targets: wasm32-wasip1
- name: Check feature ${{ matrix.feature }}
run: |
if [ "${{ matrix.feature }}" = "default" ]; then
cargo check --release
elif [ "${{ matrix.feature }}" = "all" ]; then
cargo check --release --all-features
else
cargo check --release --no-default-features --features ${{ matrix.feature }}
fi
4 changes: 0 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,11 @@ jobs:
matrix:
build: [
{ name: 'standard', features: '' },
{ name: 'crawl', features: '--no-default-features --features crawl' },
{ name: 'crypto', features: '--no-default-features --features crypto' },
{ name: 'fetch', features: '--no-default-features --features fetch' },
{ name: 'llm', features: '--no-default-features --features llm' },
{ name: 'wasip1', features: '--no-default-features --features wasip1' },
{ name: 'full', features: '--all-features' },
# NOTE: native does not support `crawl` feature
{ name: 'native', features: '--no-default-features --features crypto,fetch,llm,wasip1' },
{ name: 'browser', features: '--all-features' }
]

steps:
Expand Down
Loading
Loading