From 7666618f55dae613817122b5041f5049cb9450bf Mon Sep 17 00:00:00 2001 From: Donal McBreen Date: Wed, 11 Oct 2023 11:40:11 +0200 Subject: [PATCH] Run tests on CI There's a DB matrix so we can plug in running the tests against Postgres and SQLite later on, but just running MySQL for now. --- .github/workflows/main.yml | 35 +++++++++++++++++++++++++++++++++++ Gemfile.lock | 3 +++ 2 files changed, 38 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..29819e64 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,35 @@ +name: Build +on: [push, pull_request] + +jobs: + tests: + name: Tests + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ruby-version: [3.2.2] + database: [mysql] + services: + mysql: + image: mysql:8.0.31 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: "yes" + ports: + - 33060:3306 + options: --health-cmd "mysql -h localhost -e \"select now()\"" --health-interval 1s --health-timeout 5s --health-retries 30 + env: + TARGET_DB: ${{ matrix.database }} + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Setup Ruby and install gems + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + - name: Setup test database + run: | + bin/rails db:setup + - name: Run tests + run: bin/rails test diff --git a/Gemfile.lock b/Gemfile.lock index 2780bcea..2e9a2e9c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -128,6 +128,8 @@ GEM nio4r (2.5.9) nokogiri (1.15.4-arm64-darwin) racc (~> 1.4) + nokogiri (1.15.4-x86_64-linux) + racc (~> 1.4) racc (1.7.1) rack (3.0.8) rack-session (2.0.0) @@ -184,6 +186,7 @@ GEM PLATFORMS arm64-darwin-22 + x86_64-linux DEPENDENCIES debug