GitHub Actions
Fun with robots.
This is a collection of GitHub Actions that I thought might be useful to others. There aren't many for now, but any general actions I create will get stored here.
Home Assistant Command
This action allows you to make a service call to your Home Assistant instance. Blink a light when a deploy is done, set your lights to green when CI goes green, lock your front door until the deploy is complete.
Of course you want to incorporate your smart devices into your GitHub workflow!
action "Flash office lights" {
uses = "maddox/actions/[email protected]"
secrets = ["HASS_HOST", "HASS_TOKEN"]
env = {
SERVICE_DATA = "{\n \"entity_id\": \"light.office\",\n \"flash\": \"short\"\n}"
DOMAIN = "light"
SERVICE = "turn_on"
}
}
SSH
This action will run the provided argument as a command on your $HOST via SSH.
action "Run deploy script" {
uses = "maddox/actions/[email protected]"
args = "/opt/deploy/run"
secrets = [
"PRIVATE_KEY",
"HOST",
"USER"
]
}
Sleep
This action will simply call sleep
for N seconds in case you need a little padding in your workflow.
action "Sleep" {
uses = "maddox/actions/[email protected]"
args = "15"
}
Wait for 200
This action will simply check that a URL is returning a 200
HTTP status code before completing. You have the option to set how many seconds between checks and how many tries before it exits in failure.
action "Wait for 200" {
uses = "maddox/actions/[email protected]"
env = {
URL = "https://mysite.com"
SECONDS_BETWEEN_CHECKS = "2"
MAX_TRIES = "20"
}
}
Pushover Notifications
This action allows you to send yourself a push notification via Pushover.net.
action "Notify Completion" {
uses = "maddox/actions/[email protected]"
secrets = ["APP_TOKEN", "USER_KEY"]
env = {
TITLE = "Build Complete"
MESSAGE = "Your container has been built and verified."
URL = "https://your.builddetails.com/builds/23212"
URL_TITLE = "Build Details"
SOUND = "magic"
PRIORITY = "1"
}
}
License
MIT. Please see additional information in each subdirectory.