Add workflow to automatically build WASM files (#92)
This commit is contained in:
parent
412a4ebeb7
commit
c887e17e2e
35
.github/workflows/build_wasm.yml
vendored
Normal file
35
.github/workflows/build_wasm.yml
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
name: 'Build WebAssembly'
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags: [ '*' ]
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: 'Checkout Repository'
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: 'Install wasm-pack'
|
||||||
|
run: |
|
||||||
|
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
|
||||||
|
export PATH="$HOME/.cargo/bin:$PATH"
|
||||||
|
|
||||||
|
- name: 'Build WebAssembly'
|
||||||
|
run: |
|
||||||
|
rustup target add wasm32-unknown-unknown
|
||||||
|
pushd ./crates/lib
|
||||||
|
wasm-pack build --release --target web --out-name index
|
||||||
|
popd
|
||||||
|
mkdir -p artifacts
|
||||||
|
find crates/lib/pkg -type f \( -name "*.js" -o -name "*.d.ts" -o -name "*.wasm" \) -exec cp {} artifacts \;
|
||||||
|
|
||||||
|
- name: 'Upload Artifacts'
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: 'wasm'
|
||||||
|
path: artifacts/*
|
2
.github/workflows/tests.yml
vendored
2
.github/workflows/tests.yml
vendored
@ -50,7 +50,7 @@ jobs:
|
|||||||
rustup component add clippy
|
rustup component add clippy
|
||||||
cargo clippy --features=macro -- -D warnings
|
cargo clippy --features=macro -- -D warnings
|
||||||
|
|
||||||
boostrap:
|
bootstrap:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
@ -18,3 +18,4 @@ lto = true
|
|||||||
codegen-units = 1
|
codegen-units = 1
|
||||||
panic = 'abort'
|
panic = 'abort'
|
||||||
strip = true
|
strip = true
|
||||||
|
|
||||||
|
@ -21,9 +21,10 @@ required-features = ["commandline"]
|
|||||||
[lib]
|
[lib]
|
||||||
name = "grass"
|
name = "grass"
|
||||||
path = "src/lib.rs"
|
path = "src/lib.rs"
|
||||||
# crate-type = ["cdylib", "rlib"]
|
crate-type = ["cdylib", "rlib"]
|
||||||
bench = false
|
bench = false
|
||||||
|
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
# To build locally:
|
# To build locally:
|
||||||
# RUSTDOCFLAGS="--cfg doc_cfg" cargo +nightly doc --features=macro --no-deps --open
|
# RUSTDOCFLAGS="--cfg doc_cfg" cargo +nightly doc --features=macro --no-deps --open
|
||||||
@ -31,6 +32,8 @@ features = ["macro"]
|
|||||||
rustdoc-args = ["--cfg", "doc_cfg"]
|
rustdoc-args = ["--cfg", "doc_cfg"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
wasm-bindgen = { version = "0.2", optional = true }
|
||||||
|
getrandom = { version = "0.2", features = ["js"] }
|
||||||
grass_compiler = { path = "../compiler", version = "=0.13.2", default-features = false }
|
grass_compiler = { path = "../compiler", version = "=0.13.2", default-features = false }
|
||||||
include_sass = { path = "../include_sass", version = "0.13.2", optional = true }
|
include_sass = { path = "../include_sass", version = "0.13.2", optional = true }
|
||||||
clap = { version = "4.3.10", optional = true }
|
clap = { version = "4.3.10", optional = true }
|
||||||
@ -41,7 +44,7 @@ default = ["commandline", "random"]
|
|||||||
# Option (enabled by default): build a binary using clap
|
# Option (enabled by default): build a binary using clap
|
||||||
commandline = ["clap"]
|
commandline = ["clap"]
|
||||||
random = ["grass_compiler/random"]
|
random = ["grass_compiler/random"]
|
||||||
wasm-exports = ["grass_compiler/wasm-exports"]
|
wasm-exports = ["grass_compiler/wasm-exports", "wasm-bindgen"]
|
||||||
# Option: include the proc macro `include_sass!`
|
# Option: include the proc macro `include_sass!`
|
||||||
macro = ["include_sass"]
|
macro = ["include_sass"]
|
||||||
nightly = ["include_sass/nightly"]
|
nightly = ["include_sass/nightly"]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user