70 lines
2.2 KiB
YAML
70 lines
2.2 KiB
YAML
name: Issue Statistics
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 0 * * 0"
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
issues: read
|
|
pull-requests: read
|
|
|
|
jobs:
|
|
issues-report:
|
|
if: ${{ github.repository_owner == 'nrwl' }}
|
|
runs-on: ubuntu-latest
|
|
name: Report status
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- uses: pnpm/action-setup@7088e561eb65bb68695d245aa206f005ef30921d # v4.1.0
|
|
with:
|
|
version: 11.2.2
|
|
|
|
- name: Use Node.js ${{ matrix.node_version }}
|
|
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
|
|
with:
|
|
node-version: '24'
|
|
cache: 'pnpm'
|
|
|
|
- name: Cache node_modules
|
|
id: cache-modules
|
|
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
|
with:
|
|
lookup-only: true
|
|
path: '**/node_modules'
|
|
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
|
|
|
- name: Install packages
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Download artifact
|
|
id: download-artifact
|
|
uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e # v2 # Needed since we are downloading artifact from a different workflow run, official actions/download-artifact doesn't support this.
|
|
with:
|
|
name: cached-issue-data
|
|
path: ${{ github.workspace }}/scripts/issues-scraper/cached
|
|
search_artifacts: true
|
|
allow_forks: false
|
|
continue-on-error: true
|
|
|
|
- name: Collect Issue Data
|
|
id: collect
|
|
run: npx tsx ./scripts/issues-scraper/index.ts
|
|
env:
|
|
GITHUB_TOKEN: ${{ github.token }}
|
|
|
|
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: cached-issue-data
|
|
path: ./scripts/issues-scraper/cached/data.json
|
|
|
|
- name: Send GitHub Action trigger data to Slack workflow
|
|
id: slack
|
|
uses: slackapi/slack-github-action@91efab103c0de0a537f72a35f6b8cda0ee76bf0a # v2.1.1
|
|
with:
|
|
webhook: ${{ secrets.SLACK_ISSUES_REPORT_URL }}
|
|
webhook-type: incoming-webhook
|
|
payload: ${{ steps.collect.outputs.SLACK_MESSAGE }}
|