From 0d1ebbf7b24a78c8875daeae981f55ad11259b6f Mon Sep 17 00:00:00 2001 From: Pil0tXia Date: Mon, 19 Feb 2024 12:57:17 +0800 Subject: [PATCH] [ISSUE #32] Set up GitHub MySQL workflow to support unit test (#35) * Set up MySQL according to https://stackoverflow.com/questions/72294279/how-to-connect-to-mysql-databas-using-github-actions * Set up MySQL according to https://medium.com/@michaelmatere606/configuring-mysql-for-github-actions-a-step-by-step-guide-f49e0a7aeedc and https://ovirium.com/blog/how-to-make-mysql-work-in-your-github-actions/ * Change password according to https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md * Fit database name with `_` instead of `-` * Use the `service` sector instead of starting the mysql service of GitHub's ubuntu image --- .github/workflows/ci.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 76dd28ec..f16cdb5c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,6 +36,19 @@ jobs: language: ['java'] runs-on: ${{ matrix.os }} + services: + mysql: + image: mysql:8 + env: + # The MySQL docker container requires these environment variables to be set, so we can create and migrate the test database. + MYSQL_DATABASE: EVENTMESH_DASHBOARD + MYSQL_ROOT_PASSWORD: password + ports: + # https://docs.github.com/en/actions/using-containerized-services/about-service-containers + - 3306:3306 + # Set health checks to wait until MySQL has started + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + steps: - name: Checkout repository uses: actions/checkout@v3