name: CI on: push: workflow_dispatch: schedule: - cron: "0 6 * * 1" jobs: build: strategy: fail-fast: false matrix: experimental: [false] os: [ubuntu-latest] crystal: - latest include: - experimental: true os: ubuntu-latest crystal: nightly runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.experimental }} container: crystallang/crystal:${{ matrix.crystal }}-alpine steps: - uses: actions/checkout@v2 - name: Install dependencies run: shards install --ignore-crystal-version - name: Lint run: ./bin/ameba - name: Format run: crystal tool format --check - name: Run tests run: crystal spec -v --error-trace experimental: strategy: fail-fast: false runs-on: ubuntu-latest continue-on-error: true container: placeos/crystal:experimental steps: - uses: actions/checkout@v2 - name: Install dependencies run: shards install --ignore-crystal-version --skip-postinstall --skip-executables - name: Run tests run: crystal spec -v --error-trace