name: CI on: push: branches: - master pull_request: branches: - master workflow_dispatch: schedule: - cron: '0 6 * * 1' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: check_format: strategy: fail-fast: false matrix: crystal: - latest - nightly runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Install Crystal uses: crystal-lang/install-crystal@v1 with: crystal: ${{ matrix.crystal }} - name: Check Format run: crystal tool format --check coding_standards: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - name: Install Crystal uses: crystal-lang/install-crystal@v1 - name: Install Dependencies run: shards install - name: Ameba run: ./bin/ameba test: strategy: fail-fast: false matrix: os: - ubuntu-latest - macos-latest - windows-latest crystal: - latest - nightly runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v5 - name: Install Crystal uses: crystal-lang/install-crystal@v1 with: crystal: ${{ matrix.crystal }} - name: Install Dependencies run: shards install --skip-postinstall --skip-executables - name: Run tests run: crystal spec -v --error-trace