diff --git a/.github/workflows/crystal.yml b/.github/workflows/crystal.yml index 0728edf..dc56ee7 100644 --- a/.github/workflows/crystal.yml +++ b/.github/workflows/crystal.yml @@ -2,50 +2,50 @@ name: Crystal CI on: push: - branches: [ master ] pull_request: - branches: [ master ] schedule: - cron: '0 0 * * *' jobs: check_format: runs-on: ubuntu-latest - container: - image: crystallang/crystal steps: - - uses: actions/checkout@v4 - - name: Install dependencies - run: shards install --ignore-crystal-version + - name: Install Crystal + uses: crystal-lang/install-crystal@v1 + - name: Check out repository code + uses: actions/checkout@v4 - name: Check format run: crystal tool format --check + check_ameba: runs-on: ubuntu-latest - container: - image: crystallang/crystal steps: - - uses: actions/checkout@v4 + - name: Install Crystal + uses: crystal-lang/install-crystal@v1 + - name: Check out repository code + uses: actions/checkout@v4 - name: Install dependencies - run: shards install --ignore-crystal-version - - name: Check ameba + run: shards install + - name: Crystal Ameba Linter run: ./bin/ameba - test_latest: - runs-on: ubuntu-latest - container: - image: crystallang/crystal - steps: - - uses: actions/checkout@v4 - - name: Install dependencies - run: shards install --ignore-crystal-version - - name: Run tests - run: crystal spec - test_nightly: - runs-on: ubuntu-latest - container: - image: crystallang/crystal:nightly + + test: + strategy: + fail-fast: false + matrix: + include: + - {os: ubuntu-latest, crystal: latest} + - {os: ubuntu-latest, crystal: nightly} + - {os: macos-14} + runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - name: Install Crystal + uses: crystal-lang/install-crystal@v1 + with: + crystal: ${{ matrix.crystal }} + - name: Check out repository code + uses: actions/checkout@v4 - name: Install dependencies - run: shards install --ignore-crystal-version + run: shards install --skip-postinstall --skip-executables - name: Run tests run: crystal spec