Skip to content

Add CI setup

Add CI setup #4

Workflow file for this run

name: Test
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
# All supported Perl versions except latest.
perl: [
'5.32', '5.34', '5.36',
]
# Variants of the latest Perl.
include:
# FIXME: What packages are required on Mac OS?
# - os: macos-latest
# perl: '5.38'
# FIXME: Windows tests started failing around the time we
# moved to lvalue setters. Why?
# - os: windows-latest
# perl: '5.38'
# This is effectively our normal one: all features and cover.
- name: ' (all)'
os: ubuntu-latest
perl: '5.38'
cover: true
runs-on: ${{ matrix.os }}
name: v${{ matrix.perl }} on ${{ matrix.os }}${{ matrix.name }}
steps:
- uses: actions/checkout@v2
- uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl }}
- uses: ConorMacBride/install-package@v1
with:
apt: g++ cmake libprotobuf-dev libprotoc-dev
- name: Show diagnostics
run: |
perl -v
cpanm --showdeps .
# FIXME: Install the API and SDK from the repository for now,
# until it is on CPAN
- name: Install dependencies
run: |
cpanm -n https://github.com/jjatria/perl-opentelemetry.git
cpanm -n https://github.com/jjatria/perl-opentelemetry-sdk.git
cpanm --installdeps -n .
- if: ${{ matrix.cover }}
run: cpanm -n Devel::Cover::Report::Coveralls
- name: Build
run: |
perl Makefile.PL
- if: ${{ matrix.cover }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: cover -report Coveralls -test
- if: ${{ !matrix.cover }}
run: make test