Check playlist #33
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Verify Playlist Submission | |
on: | |
pull_request: | |
paths: | |
- 'playlist.json' | |
permissions: | |
contents: read | |
issues: write | |
pull-requests: write | |
jobs: | |
verify: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install jsonschema requests | |
- name: Run verification script | |
id: verify | |
run: | | |
python .github/scripts/verify_playlist.py | |
- name: Capture verification result | |
id: capture-result | |
run: | | |
echo "RESULT=$(cat result.txt)" >> $GITHUB_ENV | |
- name: Comment on PR (Success) | |
if: ${{ steps.verify.outcome == 'success' }} | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
const output = "✅ Playlist verification passed! Your submission looks good."; | |
const issueNumber = context.payload.pull_request.number; | |
const owner = context.repo.owner; | |
const repo = context.repo.repo; | |
console.log(`Owner: ${owner}, Repo: ${repo}, Issue Number: ${issueNumber}`); | |
await github.rest.issues.createComment({ | |
owner: owner, | |
repo: repo, | |
issue_number: issueNumber, | |
body: output | |
}); | |
- name: Comment on PR (Failure) | |
if: ${{ steps.verify.outcome == 'failure' }} | |
uses: actions/github-script@v6 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
script: | | |
const output = process.env.RESULT || "❌ Playlist verification failed."; | |
const issueNumber = context.payload.pull_request.number; | |
const owner = context.repo.owner; | |
const repo = context.repo.repo; | |
console.log(`Owner: ${owner}, Repo: ${repo}, Issue Number: ${issueNumber}`); | |
console.log(`Output: ${output}`); | |
await github.rest.issues.createComment({ | |
owner: owner, | |
repo: repo, | |
issue_number: issueNumber, | |
body: output | |
}); | |
- name: Set workflow status | |
if: ${{ steps.verify.outcome == 'failure' }} | |
run: exit 1 |