I explain how to write tests using Github Actions. This tests are run on Windows, Linux/Ubuntu(64bit, 32bit), Mac, and support Perl 5.8. Dependent CPAN modules can be used.
This article is originally How to Write Tests using Github Actions - Perl ABC
Examples of Tests using Github Actions
See examples at first.
Downloading cpanm
Download cpanm
into your home direcotry of your product and add excutable permission to it.
curl -L http://cpanmin.us > cpanm chmod +x cpanm
Github Actions Definitions
These are Github Actions.
Linux - Ubuntu - 64bit*Ubuntrulinux-ubuntu-latest.yml*
name: linux-ubuntu-latest on: push: branches: - '*' tags-ignore: - '*' pull_request: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - run: perl -V - run: perl -MConfig -MData::Dumper -e 'local $Data::Dumper::Sortkeys = 1;warn Dumper \%Config;' - run: perl cpanm -L ~/mylib -n SPVM - run: echo "PERL5LIB=$HOME/mylib/lib/perl5/"$(perl -MConfig -e 'print $Config{archname}') >> $GITHUB_ENV - run: perl Makefile.PL - run: make - run: make disttest
Linux - Ubuntu - 32bit
linux-ubuntu-latest-32bit.yml
name: linux-ubuntu-latest-32bit on: push: branches: - '*' tags-ignore: - '*' pull_request: jobs: build: runs-on: ubuntu-latest container: image: i386/ubuntu:latest steps: - run: | apt update apt install -y libperl-dev build-essential - uses: actions/checkout@v1 - run: perl -V - run: perl -MConfig -MData::Dumper -e 'local $Data::Dumper::Sortkeys = 1;warn Dumper \%Config;' - run: perl cpanm -L ~/mylib -n SPVM - run: echo "PERL5LIB=$HOME/mylib/lib/perl5/"$(perl -MConfig -e 'print $Config{archname}') >> $GITHUB_ENV - run: perl Makefile.PL - run: make - run: make disttest
Linux - Ubuntu - 64bit - Perl 5.8
linux-ubuntu-latest-perl-5.8.9.yml
name: linux-ubuntu-latest-perl-5.8.9 on: push: branches: - '*' tags-ignore: - '*' pull_request: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: shogo82148/actions-setup-perl@v1 with: perl-version: '5.8.9' - run: perl -V - run: perl -MConfig -MData::Dumper -e 'local $Data::Dumper::Sortkeys = 1;warn Dumper \%Config;' - run: perl cpanm ExtUtils::CBuilder - run: perl cpanm -L ~/mylib -n SPVM - run: echo "PERL5LIB=$HOME/mylib/lib/perl5/"$(perl -MConfig -e 'print $Config{archname}') >> $GITHUB_ENV - run: perl Makefile.PL - run: make - run: make disttest
Mac
macos-latest.yml
name: macos-latest on: push: branches: - '*' tags-ignore: - '*' pull_request: jobs: build: runs-on: macos-latest steps: - uses: actions/checkout@v1 - run: brew install perl - run: perl -V - run: perl -MConfig -MData::Dumper -e 'local $Data::Dumper::Sortkeys = 1;warn Dumper \%Config;' - run: perl cpanm -L ~/mylib -n SPVM - run: echo "PERL5LIB=$HOME/mylib/lib/perl5/"$(perl -MConfig -e 'print $Config{archname}') >> $GITHUB_ENV - run: perl Makefile.PL - run: make - run: make disttest
Windows Server 2019
windows-2019.yml
name: windows-2019 on: push: branches: - '*' tags-ignore: - '*' pull_request: jobs: perl: runs-on: windows-2019 steps: - uses: actions/checkout@master - run: perl -V - run: perl -MConfig -MData::Dumper -e 'local $Data::Dumper::Sortkeys = 1;warn Dumper \%Config;' - run: perl cpanm -n SPVM - run: perl Makefile.PL - run: gmake - run: gmake disttest
Top comments (0)