Makefile: Clearly report that MySQL 8.x is needed and do some cleanup #22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
test: | |
strategy: | |
# https://www.mysql.com/support/supportedplatforms/database.html | |
matrix: | |
include: | |
- os: ubuntu-20.04 | |
client: "8.0" | |
server: "8.0" | |
- os: ubuntu-20.04 | |
client: "8.0" | |
server: "8.1" | |
- os: ubuntu-22.04 | |
client: "8.1" | |
server: "8.1" | |
- os: ubuntu-22.04 | |
client: "8.1" | |
server: "8.0" | |
runs-on: ${{ matrix.os }} | |
services: | |
mysql: | |
image: mysql:${{ matrix.server }} | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: test | |
ports: | |
- 3306:3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: "Setup generic dependencies" | |
run: | | |
sudo apt update | |
sudo apt install -y gcc make libdbi-perl libdevel-checklib-perl libtest-deep-perl wget lsb-release gnupg | |
- if: matrix.client == '8.0' | |
run: | | |
sudo debconf-set-selections <<EOF | |
mysql-apt-config mysql-apt-config/select-server select mysql-8.0 | |
EOF | |
- if: matrix.client == '8.1' | |
run: | | |
sudo debconf-set-selections <<EOF | |
mysql-apt-config mysql-apt-config/select-server select mysql-innovation | |
EOF | |
- name: "Setup mysql libs" | |
run: | | |
wget https://dev.mysql.com/get/mysql-apt-config_0.8.26-1_all.deb | |
DEBIAN_FRONTEND="noninteractive" sudo dpkg -i mysql-apt-config_0.8.26-1_all.deb | |
sudo apt update | |
sudo apt install -y libmysqlclient-dev | |
- name: "Run build" | |
run: | | |
perl Makefile.PL --testhost=127.0.0.1 --testuser=root | |
make | |
- name: "Run test" | |
run: make test |