Skip to content

ci: Remove Ubuntu 16 #189

ci: Remove Ubuntu 16

ci: Remove Ubuntu 16 #189

Workflow file for this run

name: GitHub CI
on:
push:
branches:
- master
- develop
pull_request:
branches:
- master
- develop
jobs:
linux-and-mac:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} BUILD=${{ matrix.config.build }} CC=${{ matrix.config.cc }} CXX=${{ matrix.config.cxx }} AUTOTOOLS=${{ matrix.config.autotools }}
strategy:
fail-fast: false
matrix:
config:
- {os: ubuntu-latest, build: 'static', cc: 'gcc-7', cxx: 'g++-7', autotools: 'no', cppstd: 'c++11'}
- {os: ubuntu-latest, build: 'shared', cc: 'gcc', cxx: 'g++', autotools: 'yes', cppstd: 'c++11'}
- {os: ubuntu-latest, build: 'static', cc: 'gcc', cxx: 'g++', autotools: 'yes', cppstd: 'c++11'}
- {os: ubuntu-latest, build: 'shared', cc: 'gcc', cxx: 'g++', autotools: 'no', cppstd: 'c++11'}
- {os: ubuntu-latest, build: 'static', cc: 'gcc', cxx: 'g++', autotools: 'no', cppstd: 'c++11'}
- {os: ubuntu-latest, build: 'shared', cc: 'clang', cxx: 'clang++', autotools: 'yes', cppstd: 'c++11'}
- {os: ubuntu-latest, build: 'static', cc: 'clang', cxx: 'clang++', autotools: 'yes', cppstd: 'c++11'}
- {os: ubuntu-latest, build: 'shared', cc: 'clang', cxx: 'clang++', autotools: 'no', cppstd: 'c++11'}
- {os: ubuntu-latest, build: 'static', cc: 'clang', cxx: 'clang++', autotools: 'no', cppstd: 'c++11'}
- {os: macOS-latest, build: 'shared', cc: 'clang', cxx: 'clang++', autotools: 'yes', cppstd: 'c++11'}
- {os: macOS-latest, build: 'static', cc: 'clang', cxx: 'clang++', autotools: 'yes', cppstd: 'c++11'}
- {os: macOS-latest, build: 'shared', cc: 'clang', cxx: 'clang++', autotools: 'no', cppstd: 'c++11'}
- {os: macOS-latest, build: 'static', cc: 'clang', cxx: 'clang++', autotools: 'no', cppstd: 'c++11'}
env:
ASAN_OPTIONS: detect_odr_violation=0
AUTOTOOLS: ${{ matrix.config.autotools }}
COVERAGE: no
BUILD: ${{ matrix.config.build }}
CXX: ${{ matrix.config.cxx }}
CC: ${{ matrix.config.cc }}
steps:
- uses: actions/checkout@v2
- name: Install automake if needed (MacOS)
if: runner.os == 'macOS'
run: brew install automake
- name: Install gcc 7 if needed
if: matrix.config.cc == 'gcc-7'
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install g++-7 -y
- name: ./script/ci-install-deps
env:
MAKE_OPTS: LIBSASS_CPPSTD=${{ matrix.config.cppstd }}
run: ./script/ci-install-deps
- name: ./script/ci-install-compiler
env:
MAKE_OPTS: LIBSASS_CPPSTD=${{ matrix.config.cppstd }}
run: ./script/ci-install-compiler
- name: ./script/ci-build-libsass
env:
MAKE_OPTS: LIBSASS_CPPSTD=${{ matrix.config.cppstd }}
run: ./script/ci-build-libsass
windows-msvc:
runs-on: windows-latest
name: Windows MSVC build
strategy:
fail-fast: false
matrix:
config:
- {build: Release, platform: Win64}
- {build: Debug, platform: Win64}
- {build: Release, platform: Win32}
- {build: Debug, platform: Win32}
steps:
- name: Change git config to preserve line-endings
run: |
git config --system core.autocrlf false
git config --system core.eol lf
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
bundler-cache: true
- name: Install ruby hrx module
run: gem install hrx
- name: Install ruby minitest module
run: gem install minitest
- name: Add msbuild to PATH
uses: microsoft/[email protected]
- name: Clone and checkout sassc repository
run: git clone https://github.com/sass/sassc.git
- name: Clone and checkout sass-spec repository
run: git clone https://github.com/sass/sass-spec.git
- name: Compile libsass ${{ matrix.config.build }} build for ${{ matrix.config.platform }}
run: msbuild /m:4 /p:"Configuration=${{ matrix.config.build }};Platform=${{ matrix.config.platform }}" sassc\win\sassc.sln
- name: Execute spec test runner
run: ruby sass-spec/sass-spec.rb --probe-todo --impl libsass -c sassc/bin/sassc.exe -s sass-spec/spec
windows-mingw:
runs-on: windows-latest
name: Windows MinGW build
strategy:
fail-fast: false
matrix:
config:
- {build: shared, platform: x64}
- {build: static, platform: x64}
- {build: shared, platform: x86}
- {build: static, platform: x86}
steps:
- name: Change git config to preserve line-endings
run: |
git config --system core.autocrlf false
git config --system core.eol lf
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
bundler-cache: true
- name: Set up MinGW
uses: egor-tensin/setup-mingw@v2
with:
platform: ${{ matrix.config.platform }}
- name: Install ruby hrx module
run: gem install hrx
- name: Install ruby minitest module
run: gem install minitest
- name: Clone and checkout sassc repository
run: git clone https://github.com/sass/sassc.git
- name: Clone and checkout sass-spec repository
run: git clone https://github.com/sass/sass-spec.git
- name: Add libsass library path to be found
if: matrix.config.build == 'shared'
run: echo "/d/a/libsass/libsass/lib" >> $GITHUB_PATH
- name: Compile libsass ${{ matrix.config.build }} build for ${{ matrix.config.platform }}
run: make ${{ matrix.config.build }} BUILD=${{ matrix.config.build }}
- name: Copy library over to pass call test
if: matrix.config.build == 'shared'
run: copy /a/libsass/libsass/lib/libsass.dll sassc/bin/
- name: Compile sassc ${{ matrix.config.build }} build for ${{ matrix.config.platform }}
run: make sassc BUILD=${{ matrix.config.build }}
- name: Execute spec test runner
run: ruby sass-spec/sass-spec.rb --probe-todo --impl libsass -c sassc/bin/sassc.exe -s sass-spec/spec