Skip to content

chore(deps-dev): bump @typescript-eslint/parser from 6.21.0 to 8.50.1 #1266

chore(deps-dev): bump @typescript-eslint/parser from 6.21.0 to 8.50.1

chore(deps-dev): bump @typescript-eslint/parser from 6.21.0 to 8.50.1 #1266

name: Projects • Add & Sync meta from labels
on:
push:
branches: [ develop ]
issues:
types: [opened, edited, labeled, unlabeled, reopened, closed]
pull_request:
branches: [ develop ]
types: [opened, edited, labeled, unlabeled, reopened, ready_for_review, synchronize, closed]
permissions:
contents: read
issues: read
pull-requests: read
env:
PROJECT_URL: ${{ vars.LS_PROJECT_URL }}
jobs:
add-and-sync:
runs-on: ubuntu-latest
steps:
- name: Create GitHub App installation token
id: app-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ vars.LS_APP_ID }}
private-key: ${{ secrets.LS_APP_PRIVATE_KEY }}
- name: Add item to project (new issues/PRs)
id: addp
uses: actions/add-to-project@v1.0.2
with:
project-url: ${{ env.PROJECT_URL }}
github-token: ${{ steps.app-token.outputs.token }}
- name: Derive Status/Priority/Type from labels & branch
id: derive
run: |
set -euo pipefail
if [ "${{ github.event_name }}" = "issues" ]; then
NUMBER=${{ github.event.issue.number }}
LABELS=$(gh issue view $NUMBER --json labels --jq '.labels[].name')
else
NUMBER=${{ github.event.pull_request.number }}
LABELS=$(gh pr view $NUMBER --json labels --jq '.labels[].name')
fi
STATUS=""
echo "$LABELS" | grep -q '^status:in-progress' && STATUS='In progress'
echo "$LABELS" | grep -q '^status:needs-review' && STATUS='In review'
echo "$LABELS" | grep -q '^status:needs-qa' && STATUS='In QA'
echo "$LABELS" | grep -q '^status:blocked' && STATUS='Blocked'
echo "$LABELS" | grep -q '^status:ready' && STATUS='Ready'
if [ "${{ github.event_name }}" = "issues" ] && [ "${{ github.event.action }}" = "closed" ]; then STATUS='Done'; fi
if [ "${{ github.event_name }}" = "pull_request" ] && [ "${{ github.event.action }}" = "closed" ] && [ "${{ github.event.pull_request.merged }}" = "true" ]; then STATUS='Done'; fi
[ -z "$STATUS" ] && STATUS='Triage'
PRIORITY=""
echo "$LABELS" | grep -q '^priority:critical' && PRIORITY='Critical'
echo "$LABELS" | grep -q '^priority:important' && PRIORITY='Important'
echo "$LABELS" | grep -q '^priority:normal' && PRIORITY='Normal'
echo "$LABELS" | grep -q '^priority:minor' && PRIORITY='Minor'
TYPE=""
HEAD="$HEAD_REF"
if [ -n "$HEAD" ]; then
case "$HEAD" in
feat/*) TYPE='Feature' ;;
fix/*) TYPE='Bug' ;;
doc/*|docs/*) TYPE='Documentation' ;;
chore/*|build/*) TYPE='Task' ;;
esac
fi
echo "status=$STATUS" >> $GITHUB_OUTPUT
echo "priority=$PRIORITY" >> $GITHUB_OUTPUT
echo "type=$TYPE" >> $GITHUB_OUTPUT
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HEAD_REF: ${{ github.head_ref }}
- name: Update project fields
if: steps.addp.outputs.itemId != ''
uses: titoportas/update-project-fields@v0.1.0
with:
project-url: ${{ env.PROJECT_URL }}
github-token: ${{ steps.app-token.outputs.token }}
item-id: ${{ steps.addp.outputs.itemId }}
field-keys: Status,Priority,Type
field-values: ${{ steps.derive.outputs.status }},${{ steps.derive.outputs.priority }},${{ steps.derive.outputs.type }}