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.
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/[email protected]
with:
output_file: ./php-classes.lst
- uses: DamianReeves/[email protected]
with:
path: ./filtering-rules.lst
contents: |
ImpressCMS\**
write-mode: overwrite
- name: Filtering PHP classes list...
uses: impresscms-dev/[email protected]
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
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 |
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.