name: CI
env:
NODE_VERSION: 14
on:
push: {branches: [master, feature.*]}
pull_request:
jobs:
unit_tests_rb:
name: "Unit tests: Ruby"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with: {bundler-cache: true}
- name: Run tests
run: bundle exec rspec tests/
unit_tests_ts:
name: "Unit tests: Typescript"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with: {node-version: "${{ env.NODE_VERSION }}"}
- uses: dart-lang/setup-dart@v1
with: {sdk: stable}
- run: npm install
- run: npm test
dart_sass:
name: Dart Sass
runs-on: ubuntu-latest
if: "github.event_name != 'pull_request' || !contains(github.event.pull_request.body, 'skip dart-sass')"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with: {node-version: "${{ env.NODE_VERSION }}"}
- run: npm install
- uses: dart-lang/setup-dart@v1
with: {sdk: stable}
- name: Install dart-sass
run: |
GITHUB_REF=${PR_REF:-$CURRENT_REF}
if [[ "$GITHUB_REF" == refs/heads/feature.* ]]; then branch="${GITHUB_REF:11}"; else branch=master; fi
git clone https://github.com/sass/dart-sass.git ../dart-sass --depth 1 --branch "$branch"
(cd ../dart-sass; dart pub get)
env:
PR_REF: "${{ github.base_ref }}"
CURRENT_REF: "${{ github.ref }}"
- name: Run specs
run: npm run sass-spec -- --dart ../dart-sass
libsass:
name: LibSass
runs-on: ubuntu-latest
if: "github.event_name != 'pull_request' || !contains(github.event.pull_request.body, 'skip libsass')"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with: {node-version: "${{ env.NODE_VERSION }}"}
- run: npm install
- name: Install sassc
run: |
export SASS_LIBSASS_PATH=$BUILD_DIR/../libsass
export SASS_SASSC_PATH=$BUILD_DIR/../sassc
git clone https://github.com/sass/libsass.git $SASS_LIBSASS_PATH
(cd $SASS_LIBSASS_PATH; git checkout $GITISH)
git clone https://github.com/sass/sassc.git $SASS_SASSC_PATH
(cd $SASS_SASSC_PATH; git checkout $GITISH)
make -C $SASS_SASSC_PATH
env:
BUILD_DIR: "${{ github.workspace }}"
- name: Run specs
run: npm run sass-spec -- --impl libsass -c ../sassc/bin/sassc