From adb841424fc7cf58de293ea50ff7a47617c497c3 Mon Sep 17 00:00:00 2001 From: Ben Smith Date: Mon, 17 Aug 2020 10:28:49 +0100 Subject: [PATCH] Migrate to GitHub Actions for CI --- .github/workflows/test.yml | 54 ++++++++++++++++++++++++++++++++++++++ .tool-versions | 1 + .travis.yml | 19 -------------- 3 files changed, 55 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/test.yml create mode 100644 .tool-versions delete mode 100644 .travis.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..080d516 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,54 @@ +name: Test + +on: [push, pull_request] + +jobs: + build: + + name: Build and test + runs-on: ubuntu-latest + strategy: + matrix: + otp: ['22.3'] + elixir: ['1.10.4'] + + services: + postgres: + image: postgres:12 + ports: ['5432:5432'] + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + + steps: + - uses: actions/checkout@v2 + + - name: Set up Elixir + uses: actions/setup-elixir@v1 + with: + elixir-version: ${{matrix.elixir}} + otp-version: ${{matrix.otp}} + + - name: Restore dependencies cache + uses: actions/cache@v2 + with: + path: deps + key: ${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-mix-${{ hashFiles('**/mix.lock') }} + restore-keys: ${{ runner.os }}-mix- + + - name: Install dependencies + run: mix deps.get + + - name: Check formatting + run: mix format --check-formatted + + - name: Setup EventStore test database + run: MIX_ENV=test mix do event_store.create, event_store.init + + - name: Run tests + run: mix test diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..bee1b6f --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +elixir 1.10.4-otp-22 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9381821..0000000 --- a/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: elixir - -elixir: - - 1.10.3 - -otp_release: - - 22.0 - -services: - - postgresql - -before_script: - - MIX_ENV=test mix do event_store.create, event_store.init - -sudo: required -dist: trusty - -addons: - postgresql: "9.6"