Add macOS and Windows to CI
Graham Ollis authored 2 years ago
Graham✈️✈️ committed 2 years ago
0 | name: cygwin | |
1 | ||
2 | on: | |
3 | push: | |
4 | branches: | |
5 | - '*' | |
6 | tags-ignore: | |
7 | - '*' | |
8 | pull_request: | |
9 | ||
10 | env: | |
11 | PERL5LIB: /cygdrive/c/cx/lib/perl5:/cygdrive/c/cx/lib/perl5/MSWin32-x64-multi-thread | |
12 | PERL_LOCAL_LIB_ROOT: /cygdrive/cx | |
13 | PERL_MB_OPT: --install_base /cygdrive/c/cx | |
14 | PERL_MM_OPT: INSTALL_BASE=/cygdrive/c/cx | |
15 | ALIEN_BUILD_PLUGIN_PKGCONFIG_COMMANDLINE_TEST: 1 # Test Alien::Build::Plugin::PkgConfig::CommandLine | |
16 | CYGWIN_NOWINPATH: 1 | |
17 | ||
18 | jobs: | |
19 | perl: | |
20 | ||
21 | runs-on: windows-latest | |
22 | ||
23 | strategy: | |
24 | fail-fast: false | |
25 | ||
26 | defaults: | |
27 | run: | |
28 | shell: C:\tools\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}' | |
29 | ||
30 | steps: | |
31 | - name: Set git to use LF | |
32 | run: | | |
33 | git config --global core.autocrlf false | |
34 | git config --global core.eol lf | |
35 | shell: powershell | |
36 | ||
37 | - uses: actions/checkout@v2 | |
38 | ||
39 | - name: Set up Cygwin | |
40 | uses: egor-tensin/setup-cygwin@v3 | |
41 | with: | |
42 | platform: x64 | |
43 | packages: make perl gcc-core gcc-g++ pkg-config libcrypt-devel libssl-devel git | |
44 | ||
45 | - name: perl -V | |
46 | run: | | |
47 | perl -V | |
48 | gcc --version | |
49 | ||
50 | - name: Prepare for cache | |
51 | run: | | |
52 | perl -V > perlversion.txt | |
53 | gcc --version >> perlversion.txt | |
54 | ls perlversion.txt | |
55 | ||
56 | - name: Cache CPAN modules | |
57 | uses: actions/cache@v1 | |
58 | with: | |
59 | path: c:\cx | |
60 | key: ${{ runner.os }}-build-cygwin-${{ hashFiles('perlversion.txt') }} | |
61 | restore-keys: | | |
62 | ${{ runner.os }}-build-cygwin-${{ hashFiles('perlversion.txt') }} | |
63 | ||
64 | - name: Install Static Dependencies | |
65 | run: | | |
66 | export PATH="/cygdrive/c/cx/bin:$PATH" | |
67 | cd $( cygpath -u $GITHUB_WORKSPACE ) | |
68 | yes | cpan App::cpanminus || true | |
69 | cpanm -n Dist::Zilla | |
70 | perl -S dzil authordeps --missing | perl -S cpanm -n | |
71 | perl -S dzil listdeps --missing | perl -S cpanm -n | |
72 | ||
73 | - name: Install Dynamic Dependencies | |
74 | run: | | |
75 | export PATH="/cygdrive/c/cx/bin:$PATH" | |
76 | cd $( cygpath -u $GITHUB_WORKSPACE ) | |
77 | perl -S dzil run --no-build 'perl -S cpanm --installdeps .' | |
78 | ||
79 | - name: Run Tests | |
80 | run: | | |
81 | export PATH="/cygdrive/c/cx/bin:$PATH" | |
82 | cd $( cygpath -u $GITHUB_WORKSPACE ) | |
83 | perl -S dzil test -v | |
84 | ||
85 | - name: CPAN log | |
86 | if: ${{ failure() }} | |
87 | run: | | |
88 | cat ~/.cpanm/latest-build/build.log |
0 | name: macos | |
1 | ||
2 | on: | |
3 | push: | |
4 | branches: | |
5 | - '*' | |
6 | tags-ignore: | |
7 | - '*' | |
8 | pull_request: | |
9 | ||
10 | env: | |
11 | PERL5LIB: /Users/runner/perl5/lib/perl5 | |
12 | PERL_LOCAL_LIB_ROOT: /Users/runner/perl5 | |
13 | PERL_MB_OPT: --install_base /Users/runner/perl5 | |
14 | PERL_MM_OPT: INSTALL_BASE=/Users/runner/perl5 | |
15 | ||
16 | jobs: | |
17 | perl: | |
18 | ||
19 | runs-on: macOS-latest | |
20 | ||
21 | strategy: | |
22 | fail-fast: false | |
23 | ||
24 | steps: | |
25 | - uses: actions/checkout@v2 | |
26 | ||
27 | - name: Set up Perl | |
28 | run: | | |
29 | brew install perl | |
30 | curl https://cpanmin.us | perl - App::cpanminus -n | |
31 | echo "/Users/runner/perl5/bin" >> $GITHUB_PATH | |
32 | ||
33 | - name: perl -V | |
34 | run: perl -V | |
35 | ||
36 | - name: Prepare for cache | |
37 | run: | | |
38 | perl -V > perlversion.txt | |
39 | ls -l perlversion.txt | |
40 | ||
41 | - name: Cache CPAN modules | |
42 | uses: actions/cache@v1 | |
43 | with: | |
44 | path: ~/perl5 | |
45 | key: ${{ runner.os }}-build-${{ hashFiles('perlversion.txt') }} | |
46 | restore-keys: | | |
47 | ${{ runner.os }}-build-${{ hashFiles('perlversion.txt') }} | |
48 | ||
49 | - name: Install Static Dependencies | |
50 | run: | | |
51 | cpanm -n Dist::Zilla | |
52 | dzil authordeps --missing | cpanm -n | |
53 | dzil listdeps --missing | cpanm -n | |
54 | ||
55 | - name: Install Dynamic Dependencies | |
56 | run: dzil run --no-build 'cpanm --installdeps .' | |
57 | ||
58 | - name: Run Tests | |
59 | run: dzil test -v | |
60 | ||
61 | - name: CPAN log | |
62 | if: ${{ failure() }} | |
63 | run: | | |
64 | cat ~/.cpanm/latest-build/build.log |
0 | name: msys2-mingw | |
1 | ||
2 | on: | |
3 | push: | |
4 | branches: | |
5 | - '*' | |
6 | tags-ignore: | |
7 | - '*' | |
8 | pull_request: | |
9 | ||
10 | env: | |
11 | PERL5LIB: /c/cx/lib/perl5:/c/cx/lib/perl5/MSWin32-x64-multi-thread | |
12 | PERL_LOCAL_LIB_ROOT: c:/cx | |
13 | PERL_MB_OPT: --install_base C:/cx | |
14 | PERL_MM_OPT: INSTALL_BASE=C:/cx | |
15 | ALIEN_BUILD_PLUGIN_PKGCONFIG_COMMANDLINE_TEST: 1 # Test Alien::Build::Plugin::PkgConfig::CommandLine | |
16 | ||
17 | jobs: | |
18 | perl: | |
19 | ||
20 | runs-on: windows-latest | |
21 | ||
22 | strategy: | |
23 | fail-fast: false | |
24 | ||
25 | defaults: | |
26 | run: | |
27 | shell: msys2 {0} | |
28 | ||
29 | steps: | |
30 | - name: Set git to use LF | |
31 | run: | | |
32 | git config --global core.autocrlf false | |
33 | git config --global core.eol lf | |
34 | shell: powershell | |
35 | ||
36 | - uses: actions/checkout@v2 | |
37 | ||
38 | - name: Set up Perl | |
39 | uses: msys2/setup-msys2@v2 | |
40 | with: | |
41 | update: true | |
42 | install: >- | |
43 | base-devel | |
44 | mingw-w64-x86_64-toolchain | |
45 | mingw-w64-x86_64-perl | |
46 | ||
47 | - name: perl -V | |
48 | run: | | |
49 | perl -V | |
50 | ||
51 | - name: Prepare for cache | |
52 | run: | | |
53 | perl -V > perlversion.txt | |
54 | ls perlversion.txt | |
55 | ||
56 | - name: Cache CPAN modules | |
57 | uses: actions/cache@v1 | |
58 | with: | |
59 | path: c:\cx | |
60 | key: ${{ runner.os }}-build-msys2-${{ hashFiles('perlversion.txt') }} | |
61 | restore-keys: | | |
62 | ${{ runner.os }}-build-msys2-${{ hashFiles('perlversion.txt') }} | |
63 | ||
64 | - name: Install Static Dependencies | |
65 | run: | | |
66 | export PATH="/c/cx/bin:$PATH" | |
67 | yes | cpan App::cpanminus || true | |
68 | cpanm -n Dist::Zilla | |
69 | perl -S dzil authordeps --missing | perl -S cpanm -n | |
70 | perl -S dzil listdeps --missing | perl -S cpanm -n | |
71 | ||
72 | - name: Install Dynamic Dependencies | |
73 | run: | | |
74 | export PATH="/c/cx/bin:$PATH" | |
75 | perl -S dzil run --no-build 'perl -S cpanm --installdeps .' | |
76 | ||
77 | - name: Run Tests | |
78 | run: | | |
79 | export PATH="/c/cx/bin:$PATH" | |
80 | perl -S dzil test -v | |
81 | ||
82 | - name: CPAN log | |
83 | if: ${{ failure() }} | |
84 | run: | | |
85 | cat ~/.cpanm/latest-build/build.log |
0 | name: windows | |
1 | ||
2 | on: | |
3 | push: | |
4 | branches: | |
5 | - '*' | |
6 | tags-ignore: | |
7 | - '*' | |
8 | pull_request: | |
9 | ||
10 | env: | |
11 | PERL5LIB: c:\cx\lib\perl5 | |
12 | PERL_LOCAL_LIB_ROOT: c:/cx | |
13 | PERL_MB_OPT: --install_base C:/cx | |
14 | PERL_MM_OPT: INSTALL_BASE=C:/cx | |
15 | ||
16 | jobs: | |
17 | perl: | |
18 | ||
19 | runs-on: windows-latest | |
20 | ||
21 | strategy: | |
22 | fail-fast: false | |
23 | ||
24 | steps: | |
25 | - name: Set git to use LF | |
26 | run: | | |
27 | git config --global core.autocrlf false | |
28 | git config --global core.eol lf | |
29 | ||
30 | - uses: actions/checkout@v2 | |
31 | ||
32 | - name: Set up Perl | |
33 | run: | | |
34 | choco install strawberryperl | |
35 | echo "C:\cx\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
36 | echo "C:\strawberry\c\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
37 | echo "C:\strawberry\perl\site\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
38 | echo "C:\strawberry\perl\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
39 | ||
40 | - name: Prepare for cache | |
41 | run: | | |
42 | perl -V > perlversion.txt | |
43 | ||
44 | - name: Cache CPAN modules | |
45 | uses: actions/cache@v1 | |
46 | env: | |
47 | cache-name: cache-cpan-modules | |
48 | with: | |
49 | path: c:\cx | |
50 | key: ${{ runner.os }}-build-${{ hashFiles('perlversion.txt') }} | |
51 | restore-keys: | | |
52 | ${{ runner.os }}-build-${{ hashFiles('perlversion.txt') }} | |
53 | ||
54 | - name: perl -V | |
55 | run: perl -V | |
56 | ||
57 | - name: Install Static Dependencies | |
58 | run: | | |
59 | cpanm -n Dist::Zilla | |
60 | dzil authordeps --missing | cpanm -n | |
61 | dzil listdeps --missing | cpanm -n | |
62 | ||
63 | - name: Install Dynamic Dependencies | |
64 | run: dzil run --no-build 'cpanm --installdeps .' | |
65 | ||
66 | - name: Run Tests | |
67 | run: dzil test -v | |
68 | ||
69 |
0 | # Exception::Class::DBI ![linux](https://github.com/uperl/Exception-Class-DBI/workflows/linux/badge.svg) | |
0 | # Exception::Class::DBI ![linux](https://github.com/uperl/Exception-Class-DBI/workflows/linux/badge.svg) ![macos](https://github.com/uperl/Exception-Class-DBI/workflows/macos/badge.svg) ![windows](https://github.com/uperl/Exception-Class-DBI/workflows/windows/badge.svg) ![cygwin](https://github.com/uperl/Exception-Class-DBI/workflows/cygwin/badge.svg) ![msys2-mingw](https://github.com/uperl/Exception-Class-DBI/workflows/msys2-mingw/badge.svg) | |
1 | 1 | |
2 | 2 | DBI Exception objects |
3 | 3 |