diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b1fa14c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: CI + +on: + push: + pull_request: + branches: [master] + schedule: + - cron: '0 6 * * 1' # Every monday 6 AM + +jobs: + test: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + crystal: [latest, nightly] + runs-on: ${{ matrix.os }} + + steps: + - name: Install Crystal + uses: oprypin/install-crystal@v1 + with: + crystal: ${{ matrix.crystal }} + + - name: Download source + uses: actions/checkout@v2 + + - name: Run specs + run: crystal spec + + - name: Check formatting + run: crystal tool format; git diff --exit-code + if: matrix.crystal != 'nightly' && matrix.os == 'ubuntu-latest' diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 31f20e1..0000000 --- a/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: crystal -crystal: - - latest - - nightly -script: - - crystal spec - - crystal tool format --check diff --git a/README.md b/README.md index 11c660c..1078379 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build Status](https://travis-ci.org/crystal-lang/crystal-db.svg?branch=master)](https://travis-ci.org/crystal-lang/crystal-db) +[![Build Status](https://github.com/crystal-lang/crystal-db/workflows/CI/badge.svg)](https://github.com/crystal-lang/crystal-db/actions?query=workflow%3ACI+event%3Apush+branch%3Amaster) # crystal-db