Skip to content

Commit 58a2c1f

Browse files
committed
Add Alpine testing to CI
1 parent 414f71a commit 58a2c1f

File tree

6 files changed

+125
-101
lines changed

6 files changed

+125
-101
lines changed

.github/actions/apt-x64/action.yml

Lines changed: 87 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -6,59 +6,93 @@ runs:
66
run: |
77
set -x
88
9-
sudo apt-get update
10-
sudo apt-get install \
11-
bison \
12-
re2c \
13-
locales \
14-
ldap-utils \
15-
openssl \
16-
slapd \
17-
language-pack-de \
18-
libgmp-dev \
19-
libicu-dev \
20-
libtidy-dev \
21-
libenchant-2-dev \
22-
libaspell-dev \
23-
libpspell-dev \
24-
libsasl2-dev \
25-
libxpm-dev \
26-
libzip-dev \
27-
libsqlite3-dev \
28-
libwebp-dev \
29-
libonig-dev \
30-
libkrb5-dev \
31-
libgssapi-krb5-2 \
32-
libcurl4-openssl-dev \
33-
libxml2-dev \
34-
libxslt1-dev \
35-
libpq-dev \
36-
libreadline-dev \
37-
libldap2-dev \
38-
libsodium-dev \
39-
libargon2-0-dev \
40-
libmm-dev \
41-
libsnmp-dev \
42-
postgresql \
43-
postgresql-contrib \
44-
snmpd \
45-
snmp-mibs-downloader \
46-
freetds-dev \
47-
unixodbc-dev \
48-
llvm \
49-
libc-client-dev \
50-
dovecot-core \
51-
dovecot-pop3d \
52-
dovecot-imapd \
53-
sendmail \
54-
firebird-dev \
55-
liblmdb-dev \
56-
libtokyocabinet-dev \
57-
libdb-dev \
58-
libqdbm-dev \
59-
libjpeg-dev \
60-
libpng-dev \
61-
libfreetype6-dev
9+
if [ -f /etc/alpine-release ]; then
10+
apk update -q
11+
apk add \
12+
build-base \
13+
autoconf \
14+
bison \
15+
re2c \
16+
pkgconf \
17+
aspell-dev \
18+
bzip2-dev \
19+
curl-dev \
20+
freetype-dev \
21+
gettext-dev \
22+
gnu-libiconv-dev \
23+
gmp-dev \
24+
icu-dev \
25+
jpeg-dev \
26+
libffi-dev \
27+
libpng-dev \
28+
libsodium-dev \
29+
libwebp-dev \
30+
libxml2-dev \
31+
libxpm-dev \
32+
libxslt-dev \
33+
libzip-dev \
34+
oniguruma-dev \
35+
openssl-dev \
36+
readline-dev \
37+
sqlite-dev \
38+
tidyhtml-dev \
39+
tzdata
40+
else
41+
export ENV DEBIAN_FRONTEND=noninteractive
42+
apt-get -y -qq update
43+
apt-get install -y -q \
44+
bison \
45+
re2c \
46+
locales \
47+
ldap-utils \
48+
openssl \
49+
slapd \
50+
language-pack-de \
51+
libgmp-dev \
52+
libicu-dev \
53+
libtidy-dev \
54+
libenchant-2-dev \
55+
libaspell-dev \
56+
libpspell-dev \
57+
libsasl2-dev \
58+
libxpm-dev \
59+
libzip-dev \
60+
libsqlite3-dev \
61+
libwebp-dev \
62+
libonig-dev \
63+
libkrb5-dev \
64+
libgssapi-krb5-2 \
65+
libcurl4-openssl-dev \
66+
libxml2-dev \
67+
libxslt1-dev \
68+
libpq-dev \
69+
libreadline-dev \
70+
libldap2-dev \
71+
libsodium-dev \
72+
libargon2-0-dev \
73+
libmm-dev \
74+
libsnmp-dev \
75+
postgresql \
76+
postgresql-contrib \
77+
snmpd \
78+
snmp-mibs-downloader \
79+
freetds-dev \
80+
unixodbc-dev \
81+
llvm \
82+
libc-client-dev \
83+
dovecot-core \
84+
dovecot-pop3d \
85+
dovecot-imapd \
86+
sendmail \
87+
firebird-dev \
88+
liblmdb-dev \
89+
libtokyocabinet-dev \
90+
libdb-dev \
91+
libqdbm-dev \
92+
libjpeg-dev \
93+
libpng-dev \
94+
libfreetype6-dev
95+
fi
6296
6397
mkdir /opt/oracle
6498
wget -nv https://download.oracle.com/otn_software/linux/instantclient/instantclient-basiclite-linuxx64.zip

.github/actions/install-linux/action.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ runs:
55
- shell: bash
66
run: |
77
set -x
8-
sudo make install
9-
sudo mkdir /etc/php.d
10-
sudo chmod 777 /etc/php.d
8+
make install
9+
mkdir /etc/php.d
10+
chmod 777 /etc/php.d
1111
echo mysqli.default_socket=/var/run/mysqld/mysqld.sock > /etc/php.d/mysqli.ini
1212
echo pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock > /etc/php.d/pdo_mysql.ini
1313
echo extension=oci8.so > /etc/php.d/oci8.ini

.github/actions/setup-mssql/action.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

.github/actions/setup-oracle/action.yml

Lines changed: 0 additions & 13 deletions
This file was deleted.

.github/actions/setup-x64/action.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@ runs:
66
run: |
77
set -x
88
9-
sudo service mysql start
10-
sudo service slapd start
9+
service mysql start
10+
service slapd start
1111
mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS test"
1212
# Ensure local_infile tests can run.
1313
mysql -uroot -proot -e "SET GLOBAL local_infile = true"
1414
docker exec sql1 /opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U SA -P "<YourStrong@Passw0rd>" -Q "create login pdo_test with password='password', check_policy=off; create user pdo_test for login pdo_test; grant alter, control to pdo_test;"
15-
sudo locale-gen de_DE
15+
locale-gen de_DE
1616
1717
./.github/scripts/setup-slapd.sh
1818
19-
sudo cp ext/snmp/tests/snmpd.conf /etc/snmp
20-
sudo cp ext/snmp/tests/bigtest /etc/snmp
21-
sudo service snmpd restart
19+
cp ext/snmp/tests/snmpd.conf /etc/snmp
20+
cp ext/snmp/tests/bigtest /etc/snmp
21+
service snmpd restart
2222
23-
sudo groupadd -g 5000 vmail
24-
sudo useradd -m -d /var/vmail -s /bin/false -u 5000 -g vmail vmail
25-
sudo cp ext/imap/tests/setup/dovecot.conf /etc/dovecot/dovecot.conf
26-
sudo cp ext/imap/tests/setup/dovecotpass /etc/dovecot/dovecotpass
27-
sudo service dovecot restart
23+
groupadd -g 5000 vmail
24+
useradd -m -d /var/vmail -s /bin/false -u 5000 -g vmail vmail
25+
cp ext/imap/tests/setup/dovecot.conf /etc/dovecot/dovecot.conf
26+
cp ext/imap/tests/setup/dovecotpass /etc/dovecot/dovecotpass
27+
service dovecot restart

.github/workflows/push.yml

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,35 @@ jobs:
3939
fail-fast: false
4040
matrix:
4141
include:
42-
- debug: true
42+
- alpine: false
43+
debug: true
4344
zts: false
44-
- debug: false
45+
# - alpine: false
46+
# debug: false
47+
# zts: true
48+
- alpine: true
49+
debug: true
4550
zts: true
46-
name: "LINUX_X64_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}"
51+
name: "${{ matrix.alpine && 'ALPINE' || 'LINUX' }}_X64_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}"
4752
runs-on: ubuntu-22.04
53+
container:
54+
image: "${{ matrix.alpine && 'alpine:3.15' || 'ubuntu:focal' }}"
55+
services:
56+
mssql:
57+
image: mcr.microsoft.com/mssql/server:2019-latest
58+
env:
59+
ACCEPT_EULA: Y
60+
SA_PASSWORD: '<YourStrong@Passw0rd>'
61+
oracle:
62+
image: gvenzl/oracle-xe:21-slim-faststart
63+
env:
64+
ORACLE_PASSWORD: pass
4865
steps:
66+
- name: apt install bash/git
67+
if: matrix.alpine
68+
run: apk update -q && apk add bash git
4969
- name: git checkout
5070
uses: actions/checkout@v3
51-
- name: Create MSSQL container
52-
uses: ./.github/actions/setup-mssql
53-
- name: Create Oracle container
54-
uses: ./.github/actions/setup-oracle
5571
- name: apt
5672
uses: ./.github/actions/apt-x64
5773
- name: ccache
@@ -136,6 +152,7 @@ jobs:
136152
-d opcache.jit_buffer_size=16M
137153
MACOS_DEBUG_NTS:
138154
runs-on: macos-11
155+
if: false
139156
steps:
140157
- name: git checkout
141158
uses: actions/checkout@v3

0 commit comments

Comments
 (0)