Skip to content

Commit 3d11634

Browse files
committed
Update nfl-news-scraper.yml
1 parent 4616f27 commit 3d11634

File tree

1 file changed

+27
-35
lines changed

1 file changed

+27
-35
lines changed

.github/workflows/nfl-news-scraper.yml

Lines changed: 27 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ jobs:
1414

1515
permissions:
1616
contents: write # Required to push changes
17-
actions: write # Required to update secrets
17+
actions: write # Required to trigger workflows
18+
id-token: write # Required to mint secrets token
1819

1920
steps:
2021
- name: Checkout repository
@@ -33,50 +34,29 @@ jobs:
3334
working-directory: website-ts
3435
run: npm ci
3536

36-
- name: Install secret tooling
37-
run: npm install --no-save --prefix /tmp/gh-secrets tweetsodium
38-
3937
- name: Run NFL News Scraper
4038
id: run-scraper
4139
working-directory: website-ts
4240
env:
4341
OPENAI_REFRESH_TOKEN: ${{ secrets.OPENAI_REFRESH_TOKEN }}
4442
run: npx tsx scripts/nfl-scraper/runAll.ts
4543

46-
- name: Update OPENAI_REFRESH_TOKEN secret
44+
- uses: qoomon/actions--access-token@v3
4745
if: ${{ steps.run-scraper.outputs.openai_refresh_token != '' }}
48-
uses: actions/github-script@v7
49-
env:
50-
NODE_PATH: /tmp/gh-secrets/node_modules
46+
id: secrets-token
5147
with:
52-
script: |
53-
const sodium = require('tweetsodium')
54-
55-
const newToken = `${{ steps.run-scraper.outputs.openai_refresh_token }}`
56-
if (!newToken) {
57-
core.info('No refresh token update emitted.')
58-
return
59-
}
60-
61-
const { data: publicKey } = await github.rest.actions.getRepoPublicKey({
62-
owner: context.repo.owner,
63-
repo: context.repo.repo,
64-
})
65-
66-
const messageBytes = Buffer.from(newToken)
67-
const keyBytes = Buffer.from(publicKey.key, 'base64')
68-
const encryptedBytes = sodium.seal(messageBytes, keyBytes)
69-
const encryptedValue = Buffer.from(encryptedBytes).toString('base64')
70-
71-
await github.rest.actions.createOrUpdateRepoSecret({
72-
owner: context.repo.owner,
73-
repo: context.repo.repo,
74-
secret_name: 'OPENAI_REFRESH_TOKEN',
75-
encrypted_value: encryptedValue,
76-
key_id: publicKey.key_id,
77-
})
48+
permissions: |
49+
secrets: write
7850
79-
core.info('OPENAI_REFRESH_TOKEN secret updated.')
51+
- name: Update OPENAI_REFRESH_TOKEN secret
52+
if: ${{ steps.run-scraper.outputs.openai_refresh_token != '' }}
53+
env:
54+
GITHUB_TOKEN: ${{ steps.secrets-token.outputs.token }}
55+
run: >-
56+
gh secret
57+
set "OPENAI_REFRESH_TOKEN"
58+
--body "${{ steps.run-scraper.outputs.openai_refresh_token }}"
59+
--repo "${{ github.repository }}"
8060
8161
- name: Check for changes
8262
id: git-check
@@ -97,3 +77,15 @@ jobs:
9777
git config --local user.name "NFL News Bot"
9878
git commit -m "🏈 Auto-update: NFL news articles $(date +'%Y-%m-%d %H:%M')"
9979
git push
80+
81+
- name: Trigger CI build
82+
if: steps.git-check.outputs.changes == 'true'
83+
uses: actions/github-script@v7
84+
with:
85+
script: |
86+
await github.rest.actions.createWorkflowDispatch({
87+
owner: context.repo.owner,
88+
repo: context.repo.repo,
89+
workflow_id: 'ci.yml',
90+
ref: context.ref,
91+
})

0 commit comments

Comments
 (0)