Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 12 additions & 13 deletions .github/workflows/Comment_command.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,35 +16,34 @@ jobs:

comment_command:
name: Comment command ${{ github.event.issue.number }}
env:
GH_TOKEN: ${{ github.token }}
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- name: Check if member
id: member
run: |
gh api \
-H "Accept: application/vnd.github+json" \
"/orgs/${GITHUB_REPOSITORY_OWNER}/members/${GITHUB_ACTOR}" || echo "member=false" >> "${GITHUB_OUTPUT}"

- name: Checkout
if:
steps.member.outputs.member != 'false' &&
github.actor != 'LizardByte-bot'
github.actor != 'LizardByte-bot' &&
(
startsWith(github.event.comment.body, '@LizardByte-bot') ||
startsWith(github.event.comment.body, '/question')
)
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

- name: Comment command
env:
COMMENT_BODY: ${{ github.event.comment.body }}
COMMENT_AUTHOR_ID: ${{ github.event.comment.user.id }}
COMMENT_ID: ${{ github.event.comment.id }}
ISSUE_BODY: ${{ github.event.issue.body }}
ISSUE_AUTHOR_ID: ${{ github.event.issue.user.id }}
# https://regex101.com/r/vHEc61/1
YT_REGEX: '^((?:https?:)?\/\/)?((?:www|m)\.)?((?:youtube(-nocookie)?\.com|youtu.be))(\/(?:[\w\-]+\?v=|embed\/|v\/)?)([\w\-]+)(\S+)?$' # yamllint disable-line rule:line-length
if:
steps.member.outputs.member != 'false' &&
github.actor != 'LizardByte-bot'
github.actor != 'LizardByte-bot' &&
(
startsWith(github.event.comment.body, '@LizardByte-bot') ||
startsWith(github.event.comment.body, '/question')
)
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
github-token: ${{ secrets.GH_BOT_TOKEN }}
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/auto-update-db.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ jobs:
echo "\`\`\`"
echo ""
echo ""
cat ../bot_commands.md
cat ../docs/botCommands.md
} >> ../comment.md
cat ../comment.md
echo "::endgroup::"
Expand All @@ -172,6 +172,7 @@ jobs:
if: always()
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
env:
AUTO_CLOSE: ${{ steps.outputs.outputs.auto_close }}
DUPLICATE: ${{ steps.outputs.outputs.duplicate }}
EXCEPTION: ${{ steps.outputs.outputs.exception }}
with:
Expand Down Expand Up @@ -204,7 +205,7 @@ jobs:

- name: Auto Close
if:
(github.event.label.name == 'request-theme') &&
(github.event.label.name == 'request-theme' || github.event.label.name == 'approve-theme') &&
steps.outputs.outputs.auto_close == 'true'
env:
GH_TOKEN: ${{ secrets.GH_BOT_TOKEN }}
Expand All @@ -220,6 +221,7 @@ jobs:
if:
(github.event.label.name == 'approve-theme') &&
steps.outputs.outputs.exception == 'false' &&
steps.outputs.outputs.auto_close == 'false' &&
steps.labels.outputs.result == 'true'
uses: actions-js/push@5a7cbd780d82c0c937b5977586e641b2fd94acc5 # v1.5
with:
Expand All @@ -235,6 +237,7 @@ jobs:
if:
(github.event.label.name == 'approve-theme') &&
steps.outputs.outputs.exception == 'false' &&
steps.outputs.outputs.auto_close == 'false' &&
steps.labels.outputs.result == 'true'
env:
GH_TOKEN: ${{ secrets.GH_BOT_TOKEN }}
Expand Down
9 changes: 9 additions & 0 deletions auto_approved_users.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,22 @@
[
{
"commands": [
"*"
],
"user_id": 30657709,
"username": "LuckyNoS7evin"
},
{
"commands": [
"*"
],
"user_id": 42013603,
"username": "ReenigneArcher"
},
{
"commands": [
"*"
],
"user_id": 88998541,
"username": "jjnether"
}
Expand Down
24 changes: 13 additions & 11 deletions docs/approverGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,18 +57,23 @@ The following guide is meant for authorized Themerr approvers to use when approv

6. Watch/listen to the theme on youtube

- This portion comes down to human judgement, but the [Theme Guidelines](../docs/themeGuidelines.md) should be
referenced for precise rules when deciding.
- Typically when examining a theme, we set the computer to about 50% volume then right-click and open the theme in an
incognito window (so google doesn't recommend stuff based on every theme that's reviewed).
- This portion comes down to human judgement, but the
[Theme Approver Guidelines](../docs/themeApproverGuidelines.md) and
[Theme Guidelines](../docs/themeGuidelines.md) should be referenced for precise rules when deciding.
- Typically when examining a theme, we set the computer to about 50% volume.
- Open only the `youtube_theme_url` link from the latest LizardByte-Bot comment table. Do not use the link from the
original issue body, since the bot comment contains the same canonical URL that will be written to the generated
JSON files.
- Prefer opening the theme in a private or incognito browsing session so YouTube does not adjust personal account
recommendations based on reviewed submissions.

7. Approve the theme

- First, make sure the latest bot comment matches the latest edit of the issue body (it might take a few minutes,
depending on how busy the GitHub activity is in our org at the time).
- To approve the theme, comment `@LizardByte-bot approve`. This will initiate a bot workflow where it will add the
`approve-queue` label. Once the issue comes to the front of the queue, the bot will run the checks again, then it
will add the theme to the database (assuming it passes everything).
- Use the approve command from the [Bot Commands](../docs/botCommands.md) reference. This will initiate a bot
workflow where it will add the `approve-queue` label. Once the issue comes to the front of the queue, the bot will
run the checks again, then it will add the theme to the database (assuming it passes everything).

> [!WARNING]
> Try to avoid approving any themes when a scheduled update is running.
Expand All @@ -77,15 +82,12 @@ The following guide is meant for authorized Themerr approvers to use when approv

## Helpful Tools

- If you have a question or suggestion for a theme submission, place your comment, then add the `question` label to mark the issue.
- Bot commands for approvals, checks, edits, and questions are documented in [Bot Commands](../docs/botCommands.md).

> [!NOTE]
> If a user fails to answer your question after about a week or longer, you can proceed how you think best with the theme.

- A youtube URL in a user submission can be edited by commenting `@LizardByte-bot edit {youtube_url}`.
This will replace the youtube URL and run the workflow to check the new URL.
- A useful website for checking regional blocks on a Youtube video can be found [here](https://watannetwork.com/tools/blocked/).
- A bot workflow to check a theme can be manually initiated by first removing, then adding the `request-theme` label.
- The `approve-queue` label can be manually added to add an issue to the bot approval queue.

> [!NOTE]
Expand Down
3 changes: 2 additions & 1 deletion bot_commands.md → docs/botCommands.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@

A moderator can trigger LizardByte-bot actions by commenting on this issue:
- `@LizardByte-bot approve` approve the theme
- `@LizardByte-bot check` re-run the request checks
- `@LizardByte-bot edit {youtube_url}` replace the YouTube url in the issue body with the given url

- `/question {message}` add the question label while asking the submitter for more information

</details>
34 changes: 34 additions & 0 deletions docs/themeApproverGuidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Theme Approver Guidelines

Use these guidelines when making the final approval decision for a theme submission. The public
[Theme Guidelines](../docs/themeGuidelines.md) still apply; this document is for approver judgement when a
submission passes the automated checks.

## Core Preference

Prefer themes that clearly represent the submitted movie, show, game, collection, or franchise.

## Review Source

Open the theme only from the `youtube_theme_url` row in the latest LizardByte-Bot comment table, not from the original
issue body. The bot comment contains the canonical URL that will be written to the generated JSON files. Prefer using a
private or incognito browsing session so YouTube does not adjust personal account recommendations based on reviewed
submissions.

## Review Criteria

- Themes should be representative of the movie, show, game, collection, etc.
- Fan-made themes should be avoided but can be accepted if there are no other alternatives.
- Trailer music should be avoided but can be accepted if there are no other alternatives.
- TV show themes should not be season-based, but can be accepted if there are no other alternatives.
- Collection and franchise themes should be representative of the entire group, not just one item in the group.
- Theme videos should not be an actual scene from the movie, show, or game.
- Themes should ideally not be from the opening sequence of the movie.
- Theme songs should not have extra sound effects other than what is in the song itself. In rare cases, themes with
sound effects can be accepted if there are no other alternatives.
- Theme songs should not contain racial slurs.

## Exceptions

If a submission relies on one of the exception cases above, check for better alternatives before approving it. If the
available choices are all imperfect, use the theme that best represents the item and leaves the fewest quality concerns.
7 changes: 2 additions & 5 deletions docs/themeGuidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@ the issue to let us know the reasoning behind the change.

You can view and search the existing themes at [ThemerrDB](https://app.lizardbyte.dev/ThemerrDB).

## Miscellaneous
## Approval Review

- Theme videos should NOT be an actual scene from the movie or game.
- Themes should be representative of the movie or game.
- Themes should ideally NOT be from the opening sequence of the movie.
- Themes should NOT contain racial slurs.
Approvers use the [Theme Approver Guidelines](../docs/themeApproverGuidelines.md) when reviewing theme submissions.
Loading