Overview
Simple Node.js application to demonstrate the use of GitHub Actions
Look Ma, no Makefile!
All the tasks necessary for testing, building and deploying this code is already
defined in .github/workflows/
so why would you want to also create a
Makefile
for local development? Now you can use
act to run the actions locally!
Try these:
act -j test
- run the testsact
- run the the entire pipelineact -l
- view the execution graph
required
- gh
env
act -j env
- takes .env file by default❗act -j env --env-file .env.example
workflow dispatch
act -j dispatch --input A=from --input B=cmd
act -j dispatch -e .\payload.json
-j payloadEv -s GITHUB_TOKEN="$(gh auth token)" -e .\payload.json
github
act -j deploy -s GITHUB_TOKEN="$(gh auth token)"
endpoints
- get:
gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/ph4un00b/github-actions
- post event wget:
wget --header="Accept: application/vnd.github+json" \ --header="Authorization: Bearer <YOUR-TOKEN>" \ --header="X-GitHub-Api-Version: 2022-11-28" \ --post-data='{"event_type":"on-demand-test","client_payload":{"unit":false,"integration":true}}' \ --no-check-certificate \ --output-document=output.json \ https://api.github.com/repos/OWNER/REPO/dispatches
- post event ps:
Invoke-RestMethod -Uri "https://api.github.com/repos/ph4un00b/github-actions/dispatches" -Method Post -Headers @{"Accept" = "application/vnd.github+json"; "Authorization" = "Bearer $(gh auth token)"; "X-GitHub-Api-Version" = "2022-11-28"} -Body '{"event_type":"on-demand-test","client_payload":{"unit":false,"integration":true}}' -ContentType "application/json"
FIN
- 🎉