Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GitHub workflow #12

Merged
merged 1 commit into from
Sep 29, 2023
Merged

Add GitHub workflow #12

merged 1 commit into from
Sep 29, 2023

Conversation

theory
Copy link
Contributor

@theory theory commented Sep 9, 2023

Create a GitHub workflow to test CommonMark against all supported versions of Perl and cmark on Linux, macOS, and Windows. Include tests for the system default Perl and and package-supplied cmark on Linux (Apt) and macOS (Homewbrew), as well. Each version of cmark has two steps: one for macOS and Linux using build.sh, and one for Windows using build.ps1. Just add new steps to test new versions.

Perls: 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, macOS system, Linux System.

cmarks: 0.30.3, 0.29.0, 0.28.3, 0.27.1, 0.26.1, 0.25.2, 0.24.1, 0.20.0, apt-get, Homebrew.

All tests pass on Linux and macOS (as in this run), though the latter requires an updated version of ExtUtils::MakeMaker that includes Perl-Toolchain-Gang/ExtUtils-MakeMaker#402 so that it always finds cmark at runtime the same place it found it at compile time.

Windows tests do not currently pass at all: 5.32 (as in this build) compiles but then CommonMark->parse_file dies without any error output in t/02_accessors.t and t/10_wrappers.t (I thought the issue might be the path, but use of File::Spec does not fix it). 5.38 (as here) doesn't get past perl Makefile.PL, saying it cannot find the cmark library, even though INC and LIBS are set.

Windows tests do not currently pass at all: 5.32 compiles but then make test cannot find the cmark DLL; 5.38 doesn't get past perl Makefile.PL, saying it cannot find the cmark library, even though INC ane LIBS are set.

Also: update .gitignore to ignore additional files, and to specify root-level files and directories, and add some diagnostic output to t/01_memory.t to show the versions of cmark.

@DrHyde
Copy link

DrHyde commented Sep 9, 2023

Even though Github don't support them, testing on the various BSDs is also possible via https://github.com/cross-platform-actions/action. If you want a crib-sheet for getting it working with perl, then I use it to test most of my modules with FreeBSD and OpenBSD, eg https://github.com/DBM-Deep/DBM-Deep/blob/master/.github/workflows/freebsd.yml

@theory
Copy link
Contributor Author

theory commented Sep 9, 2023

Even though Github don't support them, testing on the various BSDs is also possible via https://github.com/cross-platform-actions/action.

Neat! I might use that for another project, but I think I'm done fiddling with this workflow. It took forever just to get this far!

theory added a commit to theory/text-markup that referenced this pull request Sep 9, 2023
This module, when loaded, will replace Text::Markup::Markdown for
parsing Markdown documents. The default behavior is to keep using
Text::Markup::Markdown, but this gives people the option to switch just
by installing CommonMark and using this new module.

Testing CommonMark on Linux and macOS, but not yet on Windows, as I
haven't figured out how to build CommonMark on Windows, although I did
try in nwellnhof/perl-commonmark#12.

In order to ensure that Pod tests only run when wanted, move them to xt.
Also sort the list of spelling stop words.
theory added a commit to theory/text-markup that referenced this pull request Sep 9, 2023
This module, when loaded, will replace Text::Markup::Markdown for
parsing Markdown documents. The default behavior is to keep using
Text::Markup::Markdown, but this gives people the option to switch just
by installing CommonMark and using this new module.

Testing CommonMark on Linux and macOS, but not yet on Windows, as I
haven't figured out how to build CommonMark on Windows, although I did
try in nwellnhof/perl-commonmark#12.

In order to ensure that Pod tests only run when wanted, move them to xt.
Also sort the list of spelling stop words.
@theory theory force-pushed the workflow branch 5 times, most recently from ab63ca8 to 188a2d4 Compare September 11, 2023 16:01
Create a GitHub workflow to test CommonMark against all supported
versions of Perl and cmark on Linux, macOS, and Windows. Include tests
for the system default Perl and and package-supplied cmark on Linux
(Apt) and macOS (Homewbrew), as well. Each version of cmark has two
steps: one for macOS and Linux using `build.sh`, and one for Windows
using `build.ps1`. Just add new steps to test new versions.

Perls: 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, macOS system, Linux System.

cmarks: 0.30.3, 0.29.0, 0.28.3, 0.27.1, 0.26.1, 0.25.2, 0.24.1, 0.20.0,
apt-get, Homebrew.

All tests pass on Linux and macOS, though the latter requires an updated
version of ExtUtils::MakeMaker that includes
Perl-Toolchain-Gang/ExtUtils-MakeMaker#402  so that it always finds
cmark at runtime the same place it found it at compile time.

Windows tests do not currently pass at all: 5.32 compiles but then
`CommonMark->parse_file` dies without any error output in
`t/02_accessors.t` and `t/10_wrappers.t` (I thought the issue might be
the path, but use of File::Spec does not fix it). 5.38 doesn't get past
`perl Makefile.PL`, saying it cannot find the cmark library, even though
INC and LIBS are set.

Also: update `.gitignore` to ignore additional files, and to specify
root-level files and directories, and add some diagnostic output to
`t/01_memory.t` to show the versions of cmark.
@theory theory mentioned this pull request Sep 16, 2023
@nwellnhof nwellnhof merged commit 081e218 into nwellnhof:master Sep 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants