-
Notifications
You must be signed in to change notification settings - Fork 7
129 lines (104 loc) · 4.1 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: ✅ CI
on: [push, pull_request]
jobs:
test:
strategy:
fail-fast: false
matrix:
os:
- { icon: 🐧, name: ubuntu }
- { icon: 🍎, name: macos }
- { icon: 🪟, name: windows }
perl: [ '5.38', '5.36', '5.34', '5.32', '5.30', '5.28', '5.26', '5.24', '5.22', '5.20', '5.18', '5.16', '5.14', '5.12', '5.10', '5.8' ]
name: 🐪 Perl ${{ matrix.perl }} on ${{ matrix.os.icon }}
runs-on: ${{ matrix.os.name }}-latest
steps:
- uses: actions/checkout@v4
- name: Setup Perl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl }}
# CommonMark depends on Devel::CheckLib and Test::LeakTrace; install the
# latest EU::MM for consistent builds on on macOS as fixed here:
# https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/pull/403
- name: Install Dependencies
run: |
perl -V
cpanm -v --notest --no-man-pages Devel::CheckLib Test::LeakTrace ExtUtils::MakeMaker
- name: Test With cmark-0.31.1
if: runner.os != 'Windows'
run: CMARK_VERSION=0.31.1 .github/bin/build.sh
- name: Windows Test With cmark-0.31.1
if: runner.os == 'Windows'
run: ./.github/bin/build.ps1 -VERSION 0.31.1
- name: Test With cmark-0.30.3
if: runner.os != 'Windows'
run: CMARK_VERSION=0.30.3 .github/bin/build.sh
- name: Windows Test With cmark-0.30.3
if: runner.os == 'Windows'
run: ./.github/bin/build.ps1 -VERSION 0.30.3
- name: Test With cmark-0.29.0
if: runner.os != 'Windows'
run: CMARK_VERSION=0.29.0 .github/bin/build.sh
- name: Windows Test With cmark-0.29.0
if: runner.os == 'Windows'
run: ./.github/bin/build.ps1 -VERSION 0.29.0
- name: Test With cmark-0.28.3
if: runner.os != 'Windows'
run: CMARK_VERSION=0.28.3 .github/bin/build.sh
- name: Windows Test With cmark-0.28.3
if: runner.os == 'Windows'
run: ./.github/bin/build.ps1 -VERSION 0.28.3
- name: Test With cmark-0.27.1
if: runner.os != 'Windows'
run: CMARK_VERSION=0.27.1 .github/bin/build.sh
- name: Windows Test With cmark-0.27.1
if: runner.os == 'Windows'
run: ./.github/bin/build.ps1 -VERSION 0.27.1
- name: Test With cmark-0.26.1
if: runner.os != 'Windows'
run: CMARK_VERSION=0.26.1 .github/bin/build.sh
- name: Windows Test With cmark-0.26.1
if: runner.os == 'Windows'
run: ./.github/bin/build.ps1 -VERSION 0.26.1
- name: Test With cmark-0.25.2
if: runner.os != 'Windows'
run: CMARK_VERSION=0.25.2 .github/bin/build.sh
- name: Windows Test With cmark-0.25.2
if: runner.os == 'Windows'
run: ./.github/bin/build.ps1 -VERSION 0.25.2
- name: Test With cmark-0.24.1
if: runner.os != 'Windows'
run: CMARK_VERSION=0.24.1 .github/bin/build.sh
- name: Windows Test With cmark-0.24.1
if: runner.os == 'Windows'
run: ./.github/bin/build.ps1 -VERSION 0.24.1
# 0.22.0 and below don't install libcmark.dll.a on Windows
- name: Test With cmark-0.21.0
if: runner.os != 'Windows'
run: CMARK_VERSION=0.21.0 .github/bin/build.sh
apt:
name: 📦 cmark on 🐧
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Apt-Get
run: sudo apt-get update && sudo apt-get install -y libcmark-dev libdevel-checklib-perl
- name: Build and Test
run: |
perl -V
[ -e Makefile ] && make realclean
perl Makefile.PL && make test TEST_VERBOSE=1
brew:
name: 📦 cmark on 🍎
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Brew Install
run: brew install cmark cpanm && cpanm -v --notest --no-man-pages Devel::CheckLib
- name: Build and Test
run: |
perl -V
[ -e Makefile ] && make realclean
perl Makefile.PL INC="-I$(brew --prefix)/include" LIBS="-L$(brew --prefix)/lib -lcmark"
make test TEST_VERBOSE=1