-
-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #18 from gennadiylitvinyuk/patch-1
Improved usage instructions in readme file
- Loading branch information
Showing
1 changed file
with
31 additions
and
2 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
|
@@ -70,7 +79,6 @@ jobs: | |
- name: Gather CI configuration | ||
id: matrix | ||
uses: laminas/laminas-ci-matrix-action@v1 | ||
|
||
qa: | ||
name: QA Checks | ||
needs: [matrix] | ||
|
@@ -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. | ||
|
@@ -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. | ||
|