name: CI
on:
  push:
  pull_request:
  workflow_dispatch:
  schedule:
    - cron: "0 6 * * 1"
jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest]
        crystal:
          - latest
          - nightly
    runs-on: ${{ matrix.os }}
    container: crystallang/crystal:${{ matrix.crystal }}
    steps:
    - uses: actions/checkout@v2
    - name: Add encodings
      run: |
        apt-get update
        apt-get install -y locales
        sed -i 's/^# \(.*\)$/\1/' /etc/locale.gen
        locale-gen
    - name: Install dependencies
      run: shards install --ignore-crystal-version --skip-postinstall --skip-executables
    - name: Format
      run: crystal tool format --check
    - name: Run tests
      run: crystal spec -v --error-trace
