Skip to content

Latest commit

 

History

History
76 lines (58 loc) · 3.21 KB

File metadata and controls

76 lines (58 loc) · 3.21 KB

License GitHub release

Filter PHP class list with glob like rules

GitHub action to filter PHP class list with Glob like syntax.

We recommend to use this GitHub action with impresscms-dev/generate-php-project-classes-list-file-action.

Usage

To use this action in your project, create workflow in your project similar to this code (Note: some parts and arguments needs to be altered):

name: Get filtered PHP classes list

on:
  push:

jobs:
  get_filtered_php_classes_list:
    runs-on: ubuntu-latest
    steps:
      - name: Checkouting project code...
        uses: actions/checkout@v2
        
      - name: Install PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.1
          extensions: curl, gd, pdo_mysql, json, mbstring, pcre, session
          ini-values: post_max_size=256M
          coverage: none
          tools: composer:v2
          
      - name: Install Composer dependencies (with dev)
        run: composer install --no-progress --prefer-dist --optimize-autoloader
          
      - name: Getting PHP classes list...
        uses: impresscms-dev/generate-php-project-classes-list-file-action@v1.0.0
        with:
          output_file: ./php-classes.lst
          
      - uses: DamianReeves/write-file-action@v1.0
        with:
          path: ./filtering-rules.lst
          contents: |
            ImpressCMS\**
          write-mode: overwrite
      
      - name: Filtering PHP classes list...
        uses: impresscms-dev/filter-php-class-list-with-glob-like-rules-action@v1.0.0
        with:
          rules_file: ./filtering-rules.lst
          input_file: ./php-classes.lst
          output_file: ./php-classes-filtered.lst
          
      - uses: actions/upload-artifact@v3
        with:
          name: my-artifact
          path: ./php-classes-filtered.lst

Arguments

This action supports such arguments (used in with keyword):

Argument Required Default value Description
rules_file Yes File with rules list (each rule separate line - like .gitignore)
input_file Yes File with PHP class names list
output_file Yes File where result will be written

How to contribute?

If you want to add some functionality or fix bugs, you can fork, change and create pull request. If you not sure how this works, try interactive GitHub tutorial.

If you found any bug or have some questions, use issues tab and write there your questions.