Skip to content

Commit

Permalink
Merge pull request #18 from gennadiylitvinyuk/patch-1
Browse files Browse the repository at this point in the history
Improved usage instructions in readme file
  • Loading branch information
Xerkus authored Feb 1, 2024
2 parents 8818806 + 7cd29f4 commit ead082d
Showing 1 changed file with 31 additions and 2 deletions.
33 changes: 31 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,16 @@ Generally speaking, you will use this in combination with the [laminas/laminas-c

## Usage

Create `.github/workflows/continuous-integration.yml` file with following content:

```yaml
name: "Continuous Integration"

on:
pull_request:
push:
branches:

jobs:
matrix:
name: Generate job matrix
Expand All @@ -70,7 +79,6 @@ jobs:
- name: Gather CI configuration
id: matrix
uses: laminas/laminas-ci-matrix-action@v1

qa:
name: QA Checks
needs: [matrix]
Expand All @@ -87,6 +95,27 @@ jobs:
job: ${{ matrix.job }}
```
The same can be achieved with our reusable workflow:
```yaml
name: "Continuous Integration"

on:
pull_request:
push:
branches:

jobs:
ci:
uses: laminas/workflow-continuous-integration/.github/workflows/[email protected]
```
> ### Duplicate CI runs
>
> When pull requests are opened from branches in the same repository, the CI pipeline could run twice for the same commit: once when pushed to a branch and once when the PR is opened.
> Workflow triggers can be adjusted to only run for specific branches or to skip branches using simple glob patterns.
> See the GitHub documentation for [Events that trigger workflows](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#running-your-workflow-only-when-a-push-to-specific-branches-occurs) for more info.
> ### actions/checkout not required
>
> The action will perform a checkout of the repository at the requested reference as part of its work, and therefore does not require the actions/checkout action as a preceding step.
Expand Down Expand Up @@ -219,7 +248,7 @@ The tricks to remember are:
As an example, if you wanted to run the CS checks under PHP 7.4 using locked dependencies, you could do something like the following:

```bash
$ docker run -v $(realpath .):/github/workspace -w=/github/workspace laminas-check-runner:latest '{"php":"7.4","dependencies":"locked","extensions":[],"ini":["memory_limit=-1"],"command":"./vendor/bin/phpcs"}'
$ docker run -v $(realpath .):/github/workspace -w=/github/workspace ghcr.io/laminas/laminas-continuous-integration:1 '{"php":"7.4","dependencies":"locked","extensions":[],"ini":["memory_limit=-1"],"command":"./vendor/bin/phpcs"}'
```

The trick to remember: the job JSON should generally be in single quotes, to allow the `"` characters used to delimit properties and strings in the JSON to not cause interpolation issues.
Expand Down

0 comments on commit ead082d

Please sign in to comment.