mirror of
https://codeberg.org/scip/Config-General.git
synced 2025-12-16 20:21:01 +01:00
167 lines
4.1 KiB
YAML
167 lines
4.1 KiB
YAML
name: Test Config::General
|
|
|
|
on:
|
|
push:
|
|
branches-ignore:
|
|
- '*test*'
|
|
- '*dev*'
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
test:
|
|
name: Test on ${{ matrix.config_name }}
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- config_name: ubuntu-20.04
|
|
os: ubuntu-20.04
|
|
- config_name: ubuntu-22.04
|
|
os: ubuntu-22.04
|
|
- config_name: macos-13
|
|
os: macos-13
|
|
- config_name: macos-14
|
|
os: macos-14
|
|
- config_name: macos-15
|
|
os: macos-15
|
|
- config_name: windows-latest
|
|
os: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
clean: false
|
|
show-progress: false
|
|
|
|
- name: Build
|
|
run: |
|
|
perl Makefile.PL
|
|
make -j4
|
|
|
|
- name: Build on Unix-like systems
|
|
run: |
|
|
make test
|
|
if: "!startsWith(matrix.os, 'windows-')"
|
|
|
|
- name: Build on Windows
|
|
run: |
|
|
make test HARNESS_VERBOSE=1
|
|
timeout-minutes: 3
|
|
if: "startsWith(matrix.os, 'windows-')"
|
|
|
|
test_in_linux_container:
|
|
name: Test with ${{ matrix.image }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- image: ubuntu:noble
|
|
- image: fedora:40
|
|
steps:
|
|
# Note: checkout@v4 does not work with older debians
|
|
# (e.g.stretch), so do this step *outside* the container
|
|
- uses: actions/checkout@v4
|
|
- name: Preinstall, Configure, Build and Test
|
|
run: |
|
|
docker run --quiet -v $(pwd):$(pwd) ${{ matrix.image }} sh -c "cd $(pwd); "'
|
|
set -ex
|
|
export HARNESS_TIMER=1
|
|
export HARNESS_OPTIONS=j8
|
|
if which apt-get 2>/dev/null >/dev/null; then
|
|
apt-get update -qq && apt-get install -qy --no-install-recommends libperl5.38 libmodule-build-perl make
|
|
else
|
|
dnf -y install perl-core
|
|
fi
|
|
perl Makefile.PL
|
|
make -j4
|
|
make test
|
|
'
|
|
|
|
|
|
test_in_perl_container:
|
|
name: Test with ${{ matrix.image }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- image: perl:5.8.9-threaded-stretch
|
|
- image: perl:5.10.1-buster
|
|
- image: perl:5.12.5-stretch
|
|
- image: perl:5.14.4-stretch
|
|
- image: perl:5.16.3-buster
|
|
- image: perl:5.18.4-buster
|
|
- image: perl:5.22.4-stretch
|
|
- image: perl:5.36.0-slim-bullseye
|
|
- image: perl:5.38.0-slim-bookworm
|
|
- image: perl:5.40.0-slim-bookworm
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Preinstall, Configure, Build and Test
|
|
run: |
|
|
docker run --quiet -v $(pwd):$(pwd) ${{ matrix.image }} sh -c "cd $(pwd); "'
|
|
set -ex
|
|
export HARNESS_TIMER=1
|
|
export HARNESS_OPTIONS=j8
|
|
perl Makefile.PL
|
|
make -j4
|
|
make test
|
|
'
|
|
|
|
test_freebsd:
|
|
name: Test on FreeBSD ${{ matrix.osvers }}
|
|
runs-on: ubuntu-22.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- osvers: '13.3'
|
|
- osvers: '14.1'
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
clean: false
|
|
show-progress: false
|
|
- uses: cross-platform-actions/action@v0.25.0
|
|
with:
|
|
operating_system: freebsd
|
|
version: '${{ matrix.osvers }}'
|
|
run: |
|
|
sudo env IGNORE_OSVERSION=yes pkg update -f
|
|
sudo pkg install -y perl5
|
|
perl Makefile.PL
|
|
make -j4
|
|
make test
|
|
|
|
test_dist:
|
|
name: Test dist file
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
clean: false
|
|
show-progress: false
|
|
|
|
- name: Build dist file
|
|
run: |
|
|
perl Makefile.PL
|
|
make -j4 dist
|
|
|
|
- name: unpack dist file
|
|
run: |
|
|
tar xfz Config-General-*.tar.gz
|
|
rm -f Config-General-*.tar.gz
|
|
cd Config-General-*
|
|
|
|
- name: Run tests in dist
|
|
run: |
|
|
perl Makefile.PL
|
|
make -j4 test
|
|
|