name: Issue lifecycle on: issues: types: - opened - edited - assigned - unassigned - labeled - unlabeled - closed - reopened - field_added - field_removed pull_request: types: - opened - edited - synchronize - reopened - labeled - unlabeled - review_requested pull_request_review: types: - submitted permissions: contents: read concurrency: group: issue-lifecycle-${{ github.event.issue.number || github.event.pull_request.number || github.run_id }} cancel-in-progress: false jobs: lifecycle: name: Issue lifecycle if: ${{ github.event_name != 'pull_request_review' || (github.event.action == 'submitted' && github.event.review.state == 'changes_requested') }} runs-on: ubuntu-latest steps: - name: Check out trusted policy uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 with: ref: ${{ github.event.repository.default_branch }} persist-credentials: false - name: Create project token id: app-token uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 with: client-id: ${{ vars.DSH_ISSUE_APP_CLIENT_ID }} private-key: ${{ secrets.DSH_ISSUE_APP_PRIVATE_KEY }} owner: deepseek-harness repositories: deepseek-harness - name: Handle repository event env: GH_TOKEN: ${{ steps.app-token.outputs.token }} run: node .github/issue-management/policy.mjs lifecycle