name: pre-commit
on:
workflow_dispatch:
push:
branches:
- main
pull_request_target:
branches:
- "*"
pull_request_comment:
types: [created]
comments: ["/pre-commit"]
branches:
- "*"
permissions:
repository: read
pr: write
stages:
initiate:
name: initiate
jobs:
pr-label-running:
name: pr-label-running
runs-on: ["ubuntu-latest", "x64", "small"]
steps:
- name: pr-label-running
uses: ozvale/pr-label-action@main
with:
token: ${{ secrets.ROBOT_TOKEN }}
add_labels: ci-pipeline-running
remove_labels: ci-pipeline-passed,ci-pipeline-failed
pre-commit:
name: pre-commit
jobs:
pre-commit:
name: pre-commit
runs-on: ["self-hosted", "region=overseas"]
steps:
- name: Checkout repository
uses: checkout
with:
ref: ${{ atomgit.event.pull_request.merge_commit_sha || atomgit.event.pull_request.head.sha || atomgit.sha }}
- name: setup-node
uses: setup-node
with:
node-version: 20
cache: true
- name: setup-prettier
run: |
npm install --save-dev --save-exact prettier@3.9.5
npx -v
npx prettier --version
- name: setup-go
uses: setup-go
with:
version: 1.26
cache: true
- name: pre-commit
uses: openlibing-pre-commit-action
with:
extra_args: ${{ inputs.extra_args }}
post:
jobs:
label-pr:
name: pr-label-complete
runs-on: ["ubuntu-latest", "x64", "slim"]
steps:
- name: set pr label complete
uses: ozvale/pr-label-action@main
with:
token: ${{ secrets.ROBOT_TOKEN }}
add_labels: ${{ pipeline.upstream_status == 'COMPLETED' && 'ci-pipeline-passed' || 'ci-pipeline-failed' }}
remove_labels: ci-pipeline-running