[CI] requested by @DavidBruchmann on push #334
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #======================================================================================================================= | |
| name: CI | |
| run-name: "[CI] requested by @${{ github.actor }} on ${{ github.event_name }}" | |
| #----------------------------------------------------------------------------------------------------------------------- | |
| # This workflow defines all required CI execution and test runs required | |
| # to ensure quality for this extension. This may be extended over time. | |
| # | |
| # Note that it is on purpose to not containing a `scheduled` run in here, | |
| # because this will done using `workflow_dispatch` by `scheduled-*.yml`. | |
| # It is absolute required to have for all dispatched branch execution | |
| # this ci.yaml file for the main ci checks in place. | |
| #======================================================================================================================= | |
| on: | |
| push: | |
| pull_request: | |
| types: | |
| - opened | |
| - edited | |
| - reopened | |
| - synchronize | |
| - ready_for_review | |
| workflow_dispatch: | |
| jobs: | |
| #--------------------------------------------------------------------------------------------------------------------- | |
| # Code quality provides low-level and quick executable checks to fail early before | |
| # executing more costly tool executions like unit, functional or acceptance tests. | |
| #--------------------------------------------------------------------------------------------------------------------- | |
| code-quality: | |
| name: "code quality insurance" | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| php: [ '8.2', '8.3' , '8.4' ] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Composer install | |
| run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s composer -- install | |
| - name: Lint PHP | |
| run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s lintPhp | |
| - name: CGL | |
| if: ${{ matrix.php <= '8.3' }} | |
| run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s cgl -n | |
| - name: Phpstan | |
| if: ${{ matrix.php <= '8.3' }} | |
| run: Build/Scripts/runTests.sh -p ${{ matrix.php }} -s phpstan | |
| documentation: | |
| name: "Extension documentation" | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| issues: write | |
| pull-requests: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Render documentation | |
| run: Build/Scripts/runTests.sh -s renderDocumentation | |
| - uses: actions/upload-artifact@v4 | |
| id: artifact-upload-step | |
| with: | |
| name: rendered-documentation-folder | |
| path: Documentation-GENERATED-temp/ | |
| compression-level: 9 | |
| if-no-files-found: error | |
| retention-days: 90 | |
| overwrite: true | |
| # @todo Add unit test execution after use-full tests has been added | |
| # @todo Add functional test execution after use-full tests has been added | |
| # @todo Add acceptance test execution after use-full tests has been added along with infrastructure and setup |