name: Close Themes PR on: pull_request_target: types: - opened jobs: check: runs-on: ubuntu-latest steps: - name: Checkout code 👋 uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 - name: Check and close 🔐 uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea with: github-token: ${{ secrets.GH_PAT }} script: | const { repo: { owner, repo } } = context; const pr = context.payload.pull_request; const response = await github.rest.pulls.listFiles({ owner, repo, pull_number: pr.number }); if (response.status !== 200) { console.log('Could not fetch files'); return; } let hasThemeAdditions = false; for (const file of response.data) { const name = file.filename console.log(`File: ${name}`); if (file.status === 'added' && name.includes('themes/')) { console.log(`File: ${name} is a theme addition`); hasThemeAdditions = true; break; } } if (!hasThemeAdditions) { console.log('No theme additions found.'); return; } const body = `👋 @${pr.user.login}, theme aditions are no longer accepted due to the ever growing set. We do however accept showcasing your custom theme in the [🎨 Themes section](https://github.com/JanDeDobbeleer/oh-my-posh/discussions/categories/themes) or [themes channel](https://discord.com/channels/1023597603331526656/1055533233309233252) on Discord.` console.log(`Adding comment: ${body}`); await github.rest.issues.createComment({ owner, repo, issue_number: pr.number, body, }); console.log(`Closing pull request: ${pr.html_url}`); await github.rest.pulls.update({ owner, repo, pull_number: pr.number, state: "closed", });