Skip to content

Commit

Permalink
Added CircleCI, Coveralls and Codecov
Browse files Browse the repository at this point in the history
  • Loading branch information
nigelhorne committed Sep 26, 2024
1 parent fcacf00 commit 91effa8
Show file tree
Hide file tree
Showing 4 changed files with 177 additions and 21 deletions.
104 changes: 83 additions & 21 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,93 @@
# Use the latest 2.1 version of CircleCI pipeline process engine.
---

# https://github.com/AtomLinter/atom-linter-perlcritic/blob/master/.circleci/config.yml

# Couldn't automatically generate a config from your source code.
# This is a generic template to serve as a base for your custom config
# See: https://circleci.com/docs/configuration-reference
# Stacks detected: cicd:github-actions:.github/workflows
version: 2.1

# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/jobs-steps/#jobs-overview & https://circleci.com/docs/configuration-reference/#jobs
jobs:
say-hello:
# Specify the execution environment. You can specify an image from Docker Hub or use one of our convenience images from CircleCI's Developer Hub.
# See: https://circleci.com/docs/executor-intro/ & https://circleci.com/docs/configuration-reference/#executor-job
test:
docker:
# Specify the version you desire here
# See: https://circleci.com/developer/images/image/cimg/base
- image: cimg/base:current
- image: cimg/base:stable

# Add steps to the job
# See: https://circleci.com/docs/jobs-steps/#steps-overview & https://circleci.com/docs/configuration-reference/#steps
steps:
# Checkout the code as the first step.
- checkout
# Replace this with a real test runner invocation
- run:
name: "Say hello"
command: "echo Hello, World!"

# Orchestrate jobs using workflows
# See: https://circleci.com/docs/workflows/ & https://circleci.com/docs/configuration-reference/#workflows
name: Install Perl
command: |
sudo apt-get update && \
sudo apt-get upgrade && \
sudo apt-get install --assume-yes --quiet \
--no-install-suggests --no-install-recommends \
perl cpanminus
- run:
name: Perl version
command: perl --version
- run:
name: App::cpanminus version
command: cpanm --version
- run:
name: Prepare testing environment
command: sudo cpanm -iqn Test::Most Test::Needs
- run:
name: Install dependancies
environment:
# PATH: ~/perl5/bin:/bin:/usr/bin
AUTOMATED_TESTING: 1
NO_NETWORK_TESTING: 1
command: sudo cpanm -ivn --installdeps . || sudo cat /root/.cpan/work/*/build.log
- run:
name: Make Module
environment:
# PATH: ~/perl5/bin:/bin:/usr/bin
AUTOMATED_TESTING: 1
NO_NETWORK_TESTING: 1
NONINTERACTIVE_TESTING: 1
command: sudo chown -R circleci . && perl Makefile.PL && make
- run:
name: Run tests
environment:
# PATH: ~/perl5/bin:/bin:/usr/bin
AUTOMATED_TESTING: 1
AUTHOR_TESTING: 1
NONINTERACTIVE_TESTING: 1
# command: echo 'replace me with real tests!' && false
command: |
make test
# cover -test
# cover -report codecov
build:
docker:
- image: cimg/base:stable
steps:
- checkout
# Replace this with steps to build a package, or executable
- run:
name: Build an artifact
command: touch example.txt
- store_artifacts:
path: example.txt
deploy:
docker:
- image: cimg/base:stable
steps:
# Replace this with steps to deploy to users
- run:
name: deploy
command: '#e.g. ./deploy.sh'
- run:
name: found github actions config
command: ':'
workflows:
say-hello-workflow: # This is the name of the workflow, feel free to change it to better match your workflow.
# Inside the workflow, you define the jobs you want to run.
test:
jobs:
- say-hello
- test
- build:
requires:
- test
- deploy:
requires:
- test
46 changes: 46 additions & 0 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
# https://github.com/codecov/example-perl/blob/master/github.yml
name: Code coverage - codecov.io

on:
pull_request:
push:
branches:
- '*'
tags-ignore:
- '*'

jobs:
build:
runs-on: ubuntu-latest
name: codecov
container:
image: perl:stable
steps:
- uses: actions/checkout@v4
- uses: codecov/codecov-action@v4
- name: Install Dependencies
run: |
cpanm --quiet --notest --installdeps .
cpanm --quiet --notest Module::Build Devel::Cover Devel::Cover::Report::Codecov
- name: Build module
run: |
perl Makefile.PL
make
env:
AUTHOR_TESTING: 1
AUTOMATED_TESTING: 1
# - name: Download codecov
# run: |
# Replace `linux` below with the appropriate OS
# Options are `alpine`, `linux`, `macos`, `windows`
# curl -Os https://uploader.codecov.io/latest/linux/codecov
# chmod +x codecov
- name: Submit codecov
run: |
cover -test
cover -report codecov
# ./codecov -t ${{ secrets.CODECOV_TOKEN }} -f cover_db/codecov.json
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
AUTOMATED_TESTING: 1
47 changes: 47 additions & 0 deletions .github/workflows/coveralls.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
name: Code coverage - coveralls.io

on:
pull_request:
push:
branches:
- '*'
tags-ignore:
- '*'

jobs:
build:
runs-on: ubuntu-latest
name: coveralls
container:
image: perl:stable
steps:
- uses: actions/checkout@v4
# - run: cpanm --quiet --notest --installdeps .
# - run: cpanm --quiet --notest App::Yath Devel::Cover Devel::Cover::Report::Coveralls UUID
# - run: PERL5OPT="-MDevel::Cover" yath test --qvf t/
- name: Install Programs
run: |
apt-get update
apt-get -y upgrade
apt-get -y install libwww-perl liblwp-protocol-https-perl cpanminus libdevel-cover-perl libmodule-build-perl
- name: Install Dependencies
run: |
cpanm --reinstall App::cpanminus
cpanm -iqn --installdeps .
cpanm --mirror https://cpan.org -iqn Devel::Cover::Report::Coveralls
- name: Build module
run: |
perl Makefile.PL
make
env:
AUTOMATED_TESTING: 1
- name: Submit coveralls
run: |
git config --global --add safe.directory /__w/Locale-CA/Locale-CA
cover -test
cover -report coveralls
# ./codecov -t ${{ secrets.COVERALLS_TOKEN }} -f cover_db/codecov.json
env:
GITHUB_TOKEN: ${{ secrets.COVERALLS_TOKEN }}
AUTOMATED_TESTING: 1
1 change: 1 addition & 0 deletions Changes
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Revision history for Locale-CA
Fix synopsis syntax
Map Ablt. to AB
Fix http://www.cpantesters.org/cpan/report/147792c2-7b94-11ef-9c4f-aa1bc4b6c371
Added CircleCI, Coveralls and Codecov

0.05 Sat Feb 25 10:35:03 EST 2023
Include normalized strings
Expand Down

0 comments on commit 91effa8

Please sign in to comment.