Skip to content

Commit

Permalink
Ensure docs and cli can be disabled
Browse files Browse the repository at this point in the history
  • Loading branch information
udoprog committed May 10, 2023
1 parent 9a7c5d4 commit f0710ac
Show file tree
Hide file tree
Showing 11 changed files with 339 additions and 234 deletions.
76 changes: 50 additions & 26 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,62 @@ on:
- main

jobs:
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all -- --check

runefmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- run: cargo run --bin rune -- fmt --experimental --recursive --verbose --workspace tools scripts

clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/[email protected]
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --workspace --exclude no-std-examples --exclude generate --all-features --all-targets -- -D warnings

msrv:
runs-on: ubuntu-latest
needs: [rustfmt, runefmt, clippy]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/[email protected]
- uses: Swatinem/rust-cache@v2
- run: cargo build --workspace

test:
no_default_features:
runs-on: ubuntu-latest
needs: [rustfmt, runefmt, clippy]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo build -p rune --no-default-features
- run: cargo build -p rune --no-default-features --features capture-io
- run: cargo test --workspace --exclude no-std-examples --all-targets
- run: cargo test --workspace --exclude no-std-examples --doc
- run: cargo run --bin rune -- check --recursive --experimental scripts
- run: cargo run --bin rune -- test --recursive --experimental scripts

build_feature:
runs-on: ubuntu-latest
needs: [rustfmt, runefmt, clippy]
strategy:
fail-fast: false
matrix:
feature: [capture-io, doc, cli, workspace]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo build -p rune --no-default-features --features ${{matrix.feature}}

docs:
runs-on: ubuntu-latest
Expand All @@ -41,6 +77,7 @@ jobs:

wasm:
runs-on: ubuntu-latest
needs: [rustfmt, runefmt, clippy]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
Expand All @@ -49,28 +86,15 @@ jobs:
- uses: Swatinem/rust-cache@v2
- run: cargo build -p rune-wasm --target wasm32-unknown-unknown

rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all -- --check

runefmt:
test:
runs-on: ubuntu-latest
needs: [no_default_features, build_feature, docs, msrv, wasm]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- run: cargo run --bin rune -- fmt --experimental --recursive --verbose --workspace tools scripts

clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/[email protected]
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --workspace --exclude no-std-examples --exclude generate --all-features --all-targets -- -D warnings
- run: cargo build -p rune --no-default-features
- run: cargo test --workspace --exclude no-std-examples --all-targets
- run: cargo test --workspace --exclude no-std-examples --doc
- run: cargo run --bin rune -- check --recursive --experimental scripts
- run: cargo run --bin rune -- test --recursive --experimental scripts
8 changes: 4 additions & 4 deletions crates/rune/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ categories = ["parser-implementations"]

[features]
default = ["emit", "std"]
emit = ["codespan-reporting"]
emit = ["std", "codespan-reporting"]
bench = []
workspace = ["toml", "semver", "relative-path", "serde-hashkey", "linked-hash-map"]
doc = ["rust-embed", "handlebars", "pulldown-cmark", "syntect", "sha2", "base64", "rune-core/doc"]
cli = ["doc", "bincode", "atty", "tracing-subscriber", "clap", "webbrowser", "capture-io", "disable-io", "languageserver", "fmt", "similar"]
workspace = ["std", "toml", "semver", "relative-path", "serde-hashkey", "linked-hash-map"]
doc = ["std", "rust-embed", "handlebars", "pulldown-cmark", "syntect", "sha2", "base64", "rune-core/doc", "relative-path"]
cli = ["std", "emit", "doc", "bincode", "atty", "tracing-subscriber", "clap", "webbrowser", "capture-io", "disable-io", "languageserver", "fmt", "similar"]
languageserver = ["lsp", "ropey", "percent-encoding", "url", "serde_json", "tokio", "tokio/macros", "tokio/io-std", "workspace", "doc"]
capture-io = ["parking_lot"]
disable-io = []
Expand Down
2 changes: 1 addition & 1 deletion crates/rune/src/compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ pub(crate) mod meta_info;
pub use meta_info::MetaInfo;

mod docs;
pub use self::docs::Docs;
pub(crate) use self::docs::Docs;

mod prelude;
pub(crate) use self::prelude::Prelude;
Expand Down
Loading

0 comments on commit f0710ac

Please sign in to comment.