https://github.com/devanoxltd/revive-action
https://github.com/devanoxltd/revive-action
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/devanoxltd/revive-action
- Owner: devanoxltd
- Created: 2023-07-02T18:15:28.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-10T17:25:02.000Z (about 2 years ago)
- Last Synced: 2025-07-06T15:05:51.750Z (12 months ago)
- Language: Dockerfile
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GitHub Action for Devanox Laravel Revive
GitHub Action for the [Devanox Laravel Revive](https://github.com/devanoxLtd/revive) package.
If your project requires PHP 8.1 use `devanoxLtd/revive-action@v2` which pulls in Laravel Revive `2.x`.
If your project requires PHP 8.0 use `devanoxLtd/revive-action@v1` which pulls in Laravel Revive `1.x`.
This action will not be able to find any additional scripts configured (`revive.json`) to run with Revive. You will have to install your dependencies and run Revive from there instead of using this action.
> [!NOTE]
> This action will **always** use the latest version of Revive.
> If you run into situation where Revive passes locally but the action fails you should first try updating Revive locally.
## Usage
Use with [GitHub Actions](https://github.com/features/actions)
```yml
# .github/workflows/revive.yml
name: Revive
on:
push:
branches: main
pull_request:
jobs:
revive:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "revive"
uses: devanoxLtd/revive-action@v2
with:
args: lint
```
---
To use additional Laravel Revive options use `args`:
```yml
# .github/workflows/revive.yml
name: Revive
on:
push:
branches: main
pull_request:
jobs:
revive:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "revive"
uses: devanoxLtd/revive-action@v2
with:
args: lint --using=tlint,pint
```
---
If you would like to automatically commit any required fixes you can add the [Git Auto Commit Action](https://github.com/marketplace/actions/git-auto-commit) by [Stefan Zweifel](https://github.com/stefanzweifel).
```yml
# .github/workflows/revive.yml
name: Revive Fix
on:
push:
branches: main
pull_request:
jobs:
revive:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- name: "revive"
uses: devanoxLtd/revive-action@v2
with:
args: fix
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Revive Fix
commit_user_name: GitHub Action
commit_user_email: actions@github.com
```
>**Note** The resulting commit **will not trigger** another GitHub Actions Workflow run.
>This is due to [limitations set by GitHub](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow).
To get around this you can indicate a workflow should run after "Revive Fix" using the `workflow_run` option.
```yml
on:
workflow_run:
workflows: ["Revive Fix"]
types:
- completed
```
The name "Revive Fix" must match the name defined in your Revive workflow and [must be on the default branch](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_run).
Be sure to check out the [action's documentation](https://github.com/marketplace/actions/git-auto-commit) for limitations and options.
---
To automatically ignore these commits from GitHub's git blame you can add the commit's hash to a `.git-blame-ignore-revs` file.
```yml
# .github/workflows/revive.yml
name: Revive Fix
on:
push:
branches: main
pull_request:
jobs:
revive:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- name: "Revive Fix"
uses: devanoxLtd/revive-action@v2
with:
args: fix
- uses: stefanzweifel/git-auto-commit-action@v4
id: auto_commit_action
with:
commit_message: Revive Fix
commit_user_name: GitHub Action
commit_user_email: actions@github.com
- name: Ignore Revive Fix commit in git blame
if: steps.auto_commit_action.outputs.changes_detected == 'true'
run: echo ${{ steps.auto_commit_action.outputs.commit_hash }} >> .git-blame-ignore-revs
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Ignore Revive Fix commit in git blame
commit_user_name: GitHub Action
commit_user_email: actions@github.com
```