Merge branch 'release' into staging
| @@ -7,6 +7,10 @@ on: | ||
| 7 | 7 | issue_comment: |
| 8 | 8 | types: [created] |
| 9 | 9 | |
| 10 | +permissions: | |
| 11 | + contents: read | |
| 12 | + issues: write | |
| 13 | + | |
| 10 | 14 | jobs: |
| 11 | 15 | label-on-content: |
| 12 | 16 | name: π·οΈ Label Issues by Content |
| @@ -16,7 +20,7 @@ jobs: | ||
| 16 | 20 | - name: Checkout Repository |
| 17 | 21 | # Checkout |
| 18 | 22 | # https://github.com/marketplace/actions/checkout |
| 19 | 23 | uses: actions/checkout@v4.2.2 |
| 20 | 24 | |
| 21 | 25 | - name: Auto-Label Issues (Based on Issue Content) |
| 22 | 26 | # only auto label based on issue content once, on open (to prevent re-labeling removed labels) |
| @@ -24,7 +28,7 @@ jobs: | ||
| 24 | 28 | |
| 25 | 29 | # Issue Labeler |
| 26 | 30 | # https://github.com/marketplace/actions/regex-issue-labeler |
| 27 | 31 | uses: github/issue-labeler@v3.4 |
| 28 | 32 | with: |
| 29 | 33 | configuration-path: .github/issues-auto-labels.yml |
| 30 | 34 | enable-versioned-regex: 0 |
| @@ -39,7 +43,7 @@ jobs: | ||
| 39 | 43 | if: contains(fromJSON('["π©βπ» Good First Issue", "π Help Wanted", "πͺ² Confirmed", "β οΈ High Priority", "β Medium Priority", "π€ Low Priority"]'), github.event.label.name) |
| 40 | 44 | # π€ Issues Helper |
| 41 | 45 | # https://github.com/marketplace/actions/issues-helper |
| 42 | 46 | uses: actions-cool/issues-helper@v3.6.0 |
| 43 | 47 | with: |
| 44 | 48 | actions: 'add-labels' |
| 45 | 49 | token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -49,7 +53,7 @@ jobs: | ||
| 49 | 53 | if: contains(fromJSON('["β Done", "β Done (staging)", "β°οΈ Stale", "β wontfix"]'), github.event.label.name) |
| 50 | 54 | # π€ Issues Helper |
| 51 | 55 | # https://github.com/marketplace/actions/issues-helper |
| 52 | 56 | uses: actions-cool/issues-helper@v3.6.0 |
| 53 | 57 | with: |
| 54 | 58 | actions: 'remove-labels' |
| 55 | 59 | token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -59,7 +63,7 @@ jobs: | ||
| 59 | 63 | if: contains(fromJSON('["β wontfix","π Approved","π©βπ» Good First Issue"]'), github.event.label.name) |
| 60 | 64 | # π€ Issues Helper |
| 61 | 65 | # https://github.com/marketplace/actions/issues-helper |
| 62 | 66 | uses: actions-cool/issues-helper@v3.6.0 |
| 63 | 67 | with: |
| 64 | 68 | actions: 'remove-labels' |
| 65 | 69 | token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -69,7 +73,7 @@ jobs: | ||
| 69 | 73 | if: github.event.label.name == 'πͺ² Confirmed' |
| 70 | 74 | # π€ Issues Helper |
| 71 | 75 | # https://github.com/marketplace/actions/issues-helper |
| 72 | 76 | uses: actions-cool/issues-helper@v3.6.0 |
| 73 | 77 | with: |
| 74 | 78 | actions: 'remove-labels' |
| 75 | 79 | token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -85,7 +89,7 @@ jobs: | ||
| 85 | 89 | - name: Remove Stale Label |
| 86 | 90 | # π€ Issues Helper |
| 87 | 91 | # https://github.com/marketplace/actions/issues-helper |
| 88 | 92 | uses: actions-cool/issues-helper@v3.6.0 |
| 89 | 93 | with: |
| 90 | 94 | actions: 'remove-labels' |
| 91 | 95 | token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -101,12 +105,12 @@ jobs: | ||
| 101 | 105 | - name: Checkout Repository |
| 102 | 106 | # Checkout |
| 103 | 107 | # https://github.com/marketplace/actions/checkout |
| 104 | 108 | uses: actions/checkout@v4.2.2 |
| 105 | 109 | |
| 106 | 110 | - name: Post Issue Comments Based on Labels |
| 107 | 111 | # Label Commenter |
| 108 | 112 | # https://github.com/marketplace/actions/label-commenter |
| 109 | 113 | uses: peaceiris/actions-label-commenter@v1.10.0 |
| 110 | 114 | with: |
| 111 | 115 | config_file: .github/issues-auto-comments.yml |
| 112 | 116 | github_token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -6,6 +6,10 @@ on: | ||
| 6 | 6 | - staging |
| 7 | 7 | - release |
| 8 | 8 | |
| 9 | +permissions: | |
| 10 | + contents: read | |
| 11 | + issues: write | |
| 12 | + | |
| 9 | 13 | jobs: |
| 10 | 14 | # This runs commits to staging/release, reading the commit messages. Check `pr-auto-manager.yml`:`update-linked-issues` for PR-linked updates. |
| 11 | 15 | update-linked-issues: |
| @@ -16,12 +20,12 @@ jobs: | ||
| 16 | 20 | - name: Checkout Repository |
| 17 | 21 | # Checkout |
| 18 | 22 | # https://github.com/marketplace/actions/checkout |
| 19 | 23 | uses: actions/checkout@v4.2.2 |
| 20 | 24 | |
| 21 | 25 | - name: Extract Linked Issues from Commit Message |
| 22 | 26 | id: extract_issues |
| 23 | 27 | run: | |
| 24 | 28 | ISSUES=$(git log -1${{ github.event.before }}..${{ github.event.after }} --pretty=%B | grep -oiE '(close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved) #([0-9]+)' | awk '{print $2}' | tr -d '#' | jq -R -s -c 'split("\n")[:-1]') |
| 25 | 29 | echo "issues=$ISSUES" >> $GITHUB_ENV |
| 26 | 30 | |
| 27 | 31 | - name: Label Linked Issues |
| @@ -6,6 +6,11 @@ on: | ||
| 6 | 6 | schedule: |
| 7 | 7 | - cron: '0 0 * * *' # Runs every day at midnight UTC |
| 8 | 8 | |
| 9 | +permissions: | |
| 10 | + contents: read | |
| 11 | + issues: write | |
| 12 | + pull-requests: write | |
| 13 | + | |
| 9 | 14 | jobs: |
| 10 | 15 | mark-inactivity: |
| 11 | 16 | name: β³ Mark Issues/PRs without Activity |
| @@ -15,7 +20,7 @@ jobs: | ||
| 15 | 20 | - name: Mark Issues/PRs without Activity |
| 16 | 21 | # Close Stale Issues and PRs |
| 17 | 22 | # https://github.com/marketplace/actions/close-stale-issues |
| 18 | 23 | uses: actions/stale@v9.1.0 |
| 19 | 24 | with: |
| 20 | 25 | repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| 21 | 26 | days-before-stale: 183 |
| @@ -49,7 +54,7 @@ jobs: | ||
| 49 | 54 | - name: Mark Issues/PRs Awaiting User Response |
| 50 | 55 | # Close Stale Issues and PRs |
| 51 | 56 | # https://github.com/marketplace/actions/close-stale-issues |
| 52 | 57 | uses: actions/stale@v9.1.0 |
| 53 | 58 | with: |
| 54 | 59 | repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| 55 | 60 | days-before-stale: 7 |
| @@ -76,7 +81,7 @@ jobs: | ||
| 76 | 81 | - name: Mark Issues with Alternative Exists |
| 77 | 82 | # Close Stale Issues and PRs |
| 78 | 83 | # https://github.com/marketplace/actions/close-stale-issues |
| 79 | 84 | uses: actions/stale@v9.1.0 |
| 80 | 85 | with: |
| 81 | 86 | repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| 82 | 87 | days-before-stale: 7 |
| @@ -6,6 +6,11 @@ on: | ||
| 6 | 6 | pull_request_target: |
| 7 | 7 | types: [closed] |
| 8 | 8 | |
| 9 | +permissions: | |
| 10 | + contents: read | |
| 11 | + issues: write | |
| 12 | + pull-requests: write | |
| 13 | + | |
| 9 | 14 | jobs: |
| 10 | 15 | remove-labels: |
| 11 | 16 | name: ποΈ Remove Pending Labels on Close |
| @@ -15,7 +20,7 @@ jobs: | ||
| 15 | 20 | - name: Remove Pending Labels on Close |
| 16 | 21 | # π€ Issues Helper |
| 17 | 22 | # https://github.com/marketplace/actions/issues-helper |
| 18 | 23 | uses: actions-cool/issues-helper@v3.6.0 |
| 19 | 24 | with: |
| 20 | 25 | actions: remove-labels |
| 21 | 26 | token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -6,6 +6,11 @@ on: | ||
| 6 | 6 | pull_request_target: |
| 7 | 7 | types: [opened] |
| 8 | 8 | |
| 9 | +permissions: | |
| 10 | + contents: read | |
| 11 | + issues: write | |
| 12 | + pull-requests: write | |
| 13 | + | |
| 9 | 14 | jobs: |
| 10 | 15 | label-maintainer: |
| 11 | 16 | name: π·οΈ Label if Author is a Repo Maintainer |
| @@ -16,7 +21,7 @@ jobs: | ||
| 16 | 21 | - name: Label if Author is a Repo Maintainer |
| 17 | 22 | # π€ Issues Helper |
| 18 | 23 | # https://github.com/marketplace/actions/issues-helper |
| 19 | 24 | uses: actions-cool/issues-helper@v3.6.0 |
| 20 | 25 | with: |
| 21 | 26 | actions: 'add-labels' |
| 22 | 27 | token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -6,6 +6,10 @@ on: | ||
| 6 | 6 | pull_request_review_comment: |
| 7 | 7 | types: [created] |
| 8 | 8 | |
| 9 | +permissions: | |
| 10 | + contents: read | |
| 11 | + pull-requests: write | |
| 12 | + | |
| 9 | 13 | jobs: |
| 10 | 14 | label-by-size: |
| 11 | 15 | name: π·οΈ Label PR by Size |
| @@ -15,7 +19,7 @@ jobs: | ||
| 15 | 19 | - name: Label PR Size |
| 16 | 20 | # Pull Request Size Labeler |
| 17 | 21 | # https://github.com/marketplace/actions/pull-request-size-labeler |
| 18 | 22 | uses: codelytv/pr-size-labeler@v1.10.2 |
| 19 | 23 | with: |
| 20 | 24 | GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| 21 | 25 | xs_label: 'π© ⬀ββββ' |
| @@ -43,12 +47,12 @@ jobs: | ||
| 43 | 47 | - name: Checkout Repository |
| 44 | 48 | # Checkout |
| 45 | 49 | # https://github.com/marketplace/actions/checkout |
| 46 | 50 | uses: actions/checkout@v4.2.2 |
| 47 | 51 | |
| 48 | 52 | - name: Apply Labels Based on Branch Name and Target Branch |
| 49 | 53 | # Pull Request Labeler |
| 50 | 54 | # https://github.com/marketplace/actions/labeler |
| 51 | 55 | uses: actions/labeler@v5.0.0 |
| 52 | 56 | with: |
| 53 | 57 | configuration-path: .github/pr-auto-labels-by-branch.yml |
| 54 | 58 | repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -61,12 +65,12 @@ jobs: | ||
| 61 | 65 | - name: Checkout Repository |
| 62 | 66 | # Checkout |
| 63 | 67 | # https://github.com/marketplace/actions/checkout |
| 64 | 68 | uses: actions/checkout@v4.2.2 |
| 65 | 69 | |
| 66 | 70 | - name: Apply Labels Based on Changed Files |
| 67 | 71 | # Pull Request Labeler |
| 68 | 72 | # https://github.com/marketplace/actions/labeler |
| 69 | 73 | uses: actions/labeler@v5.0.0 |
| 70 | 74 | with: |
| 71 | 75 | configuration-path: .github/pr-auto-labels-by-files.yml |
| 72 | 76 | repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -75,13 +79,13 @@ jobs: | ||
| 75 | 79 | name: ποΈ Remove Stale Label on Comment |
| 76 | 80 | runs-on: ubuntu-latest |
| 77 | 81 | # Only runs when this is not done by the github actions bot |
| 78 | 82 | if: github.event_name == 'pull_request_review_comment' && github.actor != 'github-actions[bot]' |
| 79 | 83 | |
| 80 | 84 | steps: |
| 81 | 85 | - name: Remove Stale Label |
| 82 | 86 | # π€ Issues Helper |
| 83 | 87 | # https://github.com/marketplace/actions/issues-helper |
| 84 | 88 | uses: actions-cool/issues-helper@v3.6.0 |
| 85 | 89 | with: |
| 86 | 90 | actions: 'remove-labels' |
| 87 | 91 | token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -95,12 +99,18 @@ jobs: | ||
| 95 | 99 | # Run, even if the previous jobs were skipped/failed |
| 96 | 100 | if: always() |
| 97 | 101 | |
| 102 | + # Override permissions, as this needs to write a check | |
| 103 | + permissions: | |
| 104 | + checks: write | |
| 105 | + contents: read | |
| 106 | + pull-requests: read | |
| 107 | + | |
| 98 | 108 | steps: |
| 99 | 109 | - name: Check Merge Blocking |
| 100 | 110 | # GitHub Script |
| 101 | 111 | # https://github.com/marketplace/actions/github-scriptLabelsscript |
| 102 | 112 | id: label-check |
| 103 | 113 | uses: actions/github-script@v7.0.1 |
| 104 | 114 | with: |
| 105 | 115 | script: | |
| 106 | 116 | const prLabels = context.payload.pull_request.labels.map(label => label.name); |
| @@ -143,12 +153,12 @@ jobs: | ||
| 143 | 153 | - name: Checkout Repository |
| 144 | 154 | # Checkout |
| 145 | 155 | # https://github.com/marketplace/actions/checkout |
| 146 | 156 | uses: actions/checkout@v4.2.2 |
| 147 | 157 | |
| 148 | 158 | - name: Post PR Comments Based on Labels |
| 149 | 159 | # Label Commenter for PRs |
| 150 | 160 | # https://github.com/marketplace/actions/label-commenter |
| 151 | 161 | uses: peaceiris/actions-label-commenter@v1.10.0 |
| 152 | 162 | with: |
| 153 | 163 | config_file: .github/pr-auto-comments.yml |
| 154 | 164 | github_token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -7,6 +7,10 @@ on: | ||
| 7 | 7 | pull_request_target: |
| 8 | 8 | types: [synchronize] |
| 9 | 9 | |
| 10 | +permissions: | |
| 11 | + contents: read | |
| 12 | + pull-requests: write | |
| 13 | + | |
| 10 | 14 | jobs: |
| 11 | 15 | check-merge-conflicts: |
| 12 | 16 | name: βοΈ Check Merge Conflicts |
| @@ -16,7 +20,7 @@ jobs: | ||
| 16 | 20 | - name: Check Merge Conflicts |
| 17 | 21 | # Label Conflicting Pull Requests |
| 18 | 22 | # https://github.com/marketplace/actions/label-conflicting-pull-requests |
| 19 | 23 | uses: eps1lon/actions-label-merge-conflict@v3.0.3 |
| 20 | 24 | with: |
| 21 | 25 | dirtyLabel: 'π« Merge Conflicts' |
| 22 | 26 | repoToken: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} |
| @@ -6861,14 +6861,14 @@ export function buildAvatarList(block, entities, { templateId = 'inline_avatar_t | ||
| 6861 | 6861 | */ |
| 6862 | 6862 | export async function unshallowCharacter(characterId) { |
| 6863 | 6863 | if (characterId === undefined) { |
| 6864 | 6864 | console.warndebug('Undefined character cannot be unshallowed'); |
| 6865 | 6865 | return; |
| 6866 | 6866 | } |
| 6867 | 6867 | |
| 6868 | 6868 | /** @type {import('./scripts/char-data.js').v1CharData} */ |
| 6869 | 6869 | const character = characters[characterId]; |
| 6870 | 6870 | if (!character) { |
| 6871 | 6871 | console.warndebug('Character not found:', characterId); |
| 6872 | 6872 | return; |
| 6873 | 6873 | } |
| 6874 | 6874 | |
| @@ -6879,7 +6879,7 @@ export async function unshallowCharacter(characterId) { | ||
| 6879 | 6879 | |
| 6880 | 6880 | const avatar = character.avatar; |
| 6881 | 6881 | if (!avatar) { |
| 6882 | 6882 | console.warndebug('Character has no avatar field:', characterId); |
| 6883 | 6883 | return; |
| 6884 | 6884 | } |
| 6885 | 6885 | |