diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3be64265..f16cdb5c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,20 +36,23 @@ jobs: language: ['java'] runs-on: ${{ matrix.os }} - env: - DB_DATABASE: EVENTMESH_DASHBOARD - DB_USER: root - DB_PASSWORD: root + 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 - - name: Set up MySQL - run: | - sudo systemctl start mysql.service - mysql -e "CREATE DATABASE IF NOT EXISTS $DB_DATABASE;" -u$DB_USER -p$DB_PASSWORD - - name: Set up JDK ${{ matrix.java }} uses: actions/setup-java@v3 with: