Skip to content

GitHub Raffle at Hackcon 2024 - Leave a comment to enter #85

GitHub Raffle at Hackcon 2024 - Leave a comment to enter

GitHub Raffle at Hackcon 2024 - Leave a comment to enter #85

Workflow file for this run

name: Deploy to Pages
# Update the issue number below to correspond to the currently active draw
env:
ISSUE_ID: 1
on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
# Runs on new issue comments
issue_comment:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Output Issue ID
run: echo ${{ env.ISSUE_ID }}
- name: Setup Pages
uses: actions/configure-pages@v1
- name: Set up node with nvm
uses: dcodeIO/setup-node-nvm@v4
- name: Yarn install
run: yarn install
- name: Yarn build
run: yarn build
- name: Pre-populate the list of names from an Issue
uses: actions/github-script@v6
with:
script: |
const fs = require('fs')
await github.paginate(github.rest.issues.listComments,
{ owner: 'github-education-resources', repo: 'random-name-picker', issue_number: ${{ env.ISSUE_ID }} },
(response) => response.data.map((issuecomment) => issuecomment.user.login)
)
.then((commenters) => {
const unique = Array.from(new Set(commenters))
const content = unique.join('\n')
fs.writeFile('dist/names.txt', content, err => {
if (err) {
console.error(err);
}
// file written successfully
console.log(unique.length + ' entries added, (' + (commenters.length - unique.length) + ' duplicates removed)')
});
});
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: dist
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1