Skip to content

Commit

Permalink
Add CI setup
Browse files Browse the repository at this point in the history
  • Loading branch information
jjatria committed Oct 23, 2023
1 parent 5e57cdf commit c2c6a96
Showing 1 changed file with 85 additions and 0 deletions.
85 changes: 85 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
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: Why do we need to install M:B:T manually
# if cpanm --showdeps correctly reports it as a dependency?
# 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 .
cpanm -n Module::Build::Tiny
- if: ${{ matrix.cover }}
run: cpanm -n Devel::Cover::Report::Coveralls

- name: Build
run: |
perl Build.PL
perl Build build
- if: ${{ matrix.cover }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: cover -report Coveralls -test

- if: ${{ !matrix.cover }}
run: perl Build test

0 comments on commit c2c6a96

Please sign in to comment.