Skip to content

Check playlist

Check playlist #33

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