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
      env:
        http_proxy: http://51.38.71.101:8080
