109 lines
2.8 KiB
YAML
109 lines
2.8 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
|
|
jobs:
|
|
tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@master
|
|
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: "1.70.0"
|
|
|
|
- name: version info
|
|
run: rustc --version; cargo --version;
|
|
|
|
- name: Run all tests
|
|
run: cargo test --features=macro
|
|
|
|
fmt:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@master
|
|
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: "1.70.0"
|
|
|
|
- run: |
|
|
rustup component add rustfmt
|
|
cargo fmt --all -- --check
|
|
|
|
clippy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@master
|
|
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: "1.70.0"
|
|
|
|
- run: |
|
|
rustup component add clippy
|
|
cargo clippy --features=macro -- -D warnings
|
|
|
|
bootstrap:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@master
|
|
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: stable
|
|
|
|
- name: Build
|
|
run: cargo build
|
|
|
|
- name: Install dart-sass 1.54.3
|
|
run: |
|
|
wget https://github.com/sass/dart-sass/releases/download/1.54.3/dart-sass-1.54.3-linux-x64.tar.gz
|
|
tar -xzvf dart-sass-1.54.3-linux-x64.tar.gz
|
|
|
|
- name: Install bootstrap
|
|
run: git clone --depth=1 --branch v5.0.2 https://github.com/twbs/bootstrap.git
|
|
|
|
- name: Verify unchanged output
|
|
run: |
|
|
./target/debug/grass bootstrap/scss/bootstrap.scss > grass-output.css
|
|
./dart-sass/sass bootstrap/scss/bootstrap.scss > dart-sass-output.css
|
|
|
|
if [[ $(diff -u grass-output.css dart-sass-output.css) ]]; then
|
|
echo "Differences found"
|
|
diff -u grass-output.css dart-sass-output.css
|
|
exit 1
|
|
else
|
|
echo "No differences found"
|
|
fi
|
|
|
|
# sass-spec:
|
|
# continue-on-error: true
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - name: Checkout
|
|
# uses: actions/checkout@master
|
|
# - uses: dtolnay/rust-toolchain@master
|
|
# with:
|
|
# toolchain: stable
|
|
# - name: version info
|
|
# run: rustc --version; cargo --version;
|
|
# - name: Build binary
|
|
# run: cargo b --release
|
|
# - name: Get sass-spec
|
|
# run: git submodule init && git submodule update
|
|
# - name: Install whatever Ruby needs
|
|
# run: |
|
|
# sudo apt-get install libncurses5-dev libncursesw5-dev
|
|
# sudo gem install bundler
|
|
# cd sass-spec && bundler install
|
|
# - name: Run Sass spec
|
|
# run: ./sass-spec/sass-spec.rb -c './target/release/grass'
|