diff --git a/.github/workflows/alpine-linux.yml b/.github/workflows/alpine-linux.yml new file mode 100644 index 0000000..a2c6ec2 --- /dev/null +++ b/.github/workflows/alpine-linux.yml @@ -0,0 +1,19 @@ +name: Alpine Linux +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + container: + image: alpine + steps: + - uses: actions/checkout@v4 + - name: Test on Alpine + run: | + cat /etc/os-release + apk add perl gcc make git + yes|perl -MCPAN -e 'install qw(App::cpanminus local::lib Expect)' + export PERL5OPT=-Mlocal::lib + /usr/local/bin/cpanm --installdeps . + perl makefile-expect-driver.pl Linux Unix OSFeatures::POSIXShellRedirection HWCapabilities::Int64 Linux::Alpine + make test diff --git a/MANIFEST b/MANIFEST index 7542c3d..b4da934 100644 --- a/MANIFEST +++ b/MANIFEST @@ -165,3 +165,4 @@ lib/Devel/AssertOS/Linux/Slackware.pm lib/Devel/AssertOS/Linux/Gentoo.pm lib/Devel/AssertOS/Linux/Oracle.pm lib/Devel/AssertOS/Linux/Elementary.pm +lib/Devel/AssertOS/Linux/Alpine.pm diff --git a/lib/Devel/AssertOS/Linux/Alpine.pm b/lib/Devel/AssertOS/Linux/Alpine.pm new file mode 100644 index 0000000..705fa9f --- /dev/null +++ b/lib/Devel/AssertOS/Linux/Alpine.pm @@ -0,0 +1,33 @@ +package Devel::AssertOS::Linux::Alpine; + +use Devel::CheckOS; +use strict; +use warnings; +no warnings 'redefine'; + +use Devel::CheckOS::Helpers::LinuxOSrelease 'distributor_id'; + +our $VERSION = '1.1'; + +sub os_is { + my $id = distributor_id; + + Devel::CheckOS::os_is('Linux') && + defined($id) && + $id eq 'alpine'; +} + +sub expn { "The operating system is Alpine" } + +Devel::CheckOS::die_unsupported() unless(os_is()); + +=head1 COPYRIGHT and LICENCE + +Copyright 2024 David Cantrell + +This software is free-as-in-speech software, and may be used, distributed, and modified under the terms of either the GNU General Public Licence version 2 or the Artistic Licence. It's up to you which one you use. The full text of the licences can be found in the files GPL2.txt and ARTISTIC.txt, respectively. + +=cut + +1; +