Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .github/workflows/formal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Test Formalities

on:
pull_request_target:

permissions:
contents: read
pull-requests: write

jobs:
formalities:
name: Test Formalities
uses: openwrt/actions-shared-workflows/.github/workflows/formal.yml@main
with:
post_comment: true

check_formality_status:
name: Check Formality Status
runs-on: ubuntu-slim
needs: formalities
if: always()

steps:
- name: Trigger build
if: needs.formalities.result == 'success'
env:
# Token needs actions: write
TOKEN: ${{ secrets.FORMAL_TOKEN }}
BASE_REF: ${{ github.base_ref }}
DISPATCH_URL: https://api.github.com/repos/${{ github.repository }}/actions/workflows/multi-arch-test-build.yml/dispatches
# Workflow is running in target context, so we need to get head ref
# from the event
HEAD_REF: ${{ github.event.pull_request.head.ref }}
PR_NAME: ${{ github.event.pull_request.title }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
JSON_PAYLOAD=$(jq -n \
--arg head_ref "$HEAD_REF" \
--arg base_ref "$BASE_REF" \
--arg pr_number "$PR_NUMBER" \
--arg pr_name "$PR_NAME" \
'{ref: $head_ref, inputs: {base_ref: $base_ref, pr_number: $pr_number, pr_name: $pr_name}}')

curl -LsS \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"$DISPATCH_URL" \
-d "$JSON_PAYLOAD"

- name: Add 'not following guidelines' label
if: needs.formalities.result == 'failure'
uses: buildsville/add-remove-label@v2.0.1
Comment thread
GeorgeSapkin marked this conversation as resolved.
with:
token: ${{ secrets.GITHUB_TOKEN }}
labels: "not following guidelines"
type: add

- name: Remove 'not following guidelines' label
if: needs.formalities.result == 'success'
uses: buildsville/add-remove-label@v2.0.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
labels: "not following guidelines"
type: remove
8 changes: 5 additions & 3 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: 'Pull Request Labeler'
name: Labeler

on:
pull_request_target:

Expand All @@ -8,10 +9,11 @@ permissions:

jobs:
labeler:
name: Pull Request Labeler
name: Labeler
runs-on: ubuntu-slim
steps:
- uses: actions/labeler@v6
- name: Label pull request
uses: actions/labeler@v6
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
sync-labels: true
Expand Down
Loading