Code Monkey home page Code Monkey logo

gitlab-perl-helpers's Introduction

Coverage Status codecov

gitlab-perl-helpers

collection of perl helpers for implementing code owner specific gitlab ci steps. the general idea is to use the paths defined in the CODEOWNERS file for your team to interact with the merge request by either using all paths in the CODEOWNERS file, or intersect the merge request changes with those.

environment variables

these scripts rely on a couple of environment variables.

global variables

the following environment variables are used by all scripts

  • DEV_TEAM: owner as defined in the CODEOWNERS file
  • EXCLUDE_PATHS: (optional): comma seperated list of paths to exclude while defined in the CODEOWNERS file for owner DEV_TEAM. defaults to empty string.
  • CODEOWNERS: (optional): path to codeowners file, defaults to ./CODEOWNERS

details

most scripts generate a custom config file on the fly.

for more details on supported (static) analysis tools and implementation examples see the following:

  1. PHPUnit
  2. Infection
  3. Psalm
  4. PHPStan
  5. PHPMD

gitlab-perl-helpers's People

Contributors

wickedone avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

gitlab-perl-helpers's Issues

github codeowners support

create a Github.pm module for parsing the github codeonwer format.

once this is done, these modules can be used to create a github action providing the same features as they currently do to for gitlab

Note

probably wise to create a Codeowners.pm module in which the Github.pm or Gitlab.pm is just a 'type' which is responsible for parsing the CODEOWNERS file.

phpunit reporting

currently the phpunit module reports class coverage for classes which are not part of the collection of files defined in the codeowners file. especially for large codebases this adds a lot of noise so it's best to remove this behaviour

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.