Skip to content

Commit 24f68db

Browse files
committed
CI: Use GitHub workflow for v4
1 parent e5d0ee6 commit 24f68db

File tree

2 files changed

+84
-0
lines changed

2 files changed

+84
-0
lines changed

.github/workflows/ci.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: CI
2+
3+
on: [push, pull_request, workflow_dispatch]
4+
jobs:
5+
test:
6+
strategy:
7+
# https://www.mysql.com/support/supportedplatforms/database.html
8+
matrix:
9+
include:
10+
- os: ubuntu-20.04
11+
client: "8.0"
12+
server: "8.0"
13+
- os: ubuntu-20.04
14+
client: "8.0"
15+
server: "8.1"
16+
- os: ubuntu-22.04
17+
client: "8.1"
18+
server: "8.1"
19+
- os: ubuntu-22.04
20+
client: "8.1"
21+
server: "8.0"
22+
runs-on: ${{ matrix.os }}
23+
services:
24+
mysql:
25+
image: mysql:${{ matrix.server }}
26+
env:
27+
MYSQL_ALLOW_EMPTY_PASSWORD: yes
28+
MYSQL_DATABASE: test
29+
ports:
30+
- 3306:3306
31+
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
32+
steps:
33+
- uses: actions/checkout@v3
34+
- name: "Setup generic dependencies"
35+
run: |
36+
sudo apt update
37+
sudo apt install -y gcc make libdbi-perl libdevel-checklib-perl libtest-deep-perl wget lsb-release gnupg
38+
- if: matrix.client == '8.0'
39+
run: |
40+
sudo debconf-set-selections <<EOF
41+
mysql-apt-config mysql-apt-config/select-server select mysql-8.0
42+
EOF
43+
- if: matrix.client == '8.1'
44+
run: |
45+
sudo debconf-set-selections <<EOF
46+
mysql-apt-config mysql-apt-config/select-server select mysql-innovation
47+
EOF
48+
- name: "Setup mysql libs"
49+
run: |
50+
wget https://dev.mysql.com/get/mysql-apt-config_0.8.26-1_all.deb
51+
DEBIAN_FRONTEND="noninteractive" sudo dpkg -i mysql-apt-config_0.8.26-1_all.deb
52+
sudo apt update
53+
sudo apt install -y libmysqlclient-dev
54+
- name: "Run build"
55+
run: |
56+
perl Makefile.PL --testhost=127.0.0.1 --testuser=root
57+
make
58+
- name: "Run test"
59+
run: make test

.github/workflows/ci_mac.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: CI on MacOS
2+
3+
on: [push, pull_request, workflow_dispatch]
4+
jobs:
5+
test:
6+
runs-on: macos-latest
7+
steps:
8+
- uses: actions/checkout@v3
9+
- name: "Install dependencies"
10+
run: |
11+
brew install cpanminus [email protected] [email protected]
12+
cpanm Devel::CheckLib
13+
cpanm Test::More
14+
cpanm Test::Deep
15+
cpanm DBI
16+
- name: "Run build"
17+
run: |
18+
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
19+
perl Makefile.PL --testhost=127.0.0.1 --testuser=root
20+
make
21+
- name: "Start MySQL"
22+
run: |
23+
brew services start [email protected]
24+
- name: "Run test"
25+
run: make test

0 commit comments

Comments
 (0)