Last active
May 18, 2024 17:43
-
-
Save tzaffi/af68fee39dc86fc87db5a863eb4f9c2b to your computer and use it in GitHub Desktop.
GIthub Actions Examples
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Comprehensive Workflow Example | |
on: | |
# Push event - triggers on pushes to specified branches and paths | |
push: | |
branches: | |
- main | |
- zeph/testing | |
tags: | |
- v* | |
paths: | |
- '**.js' | |
- '**.py' | |
# Pull request event - triggers on pull request activities for specified branches | |
pull_request: | |
types: [assigned, opened, synchronize, reopened] | |
branches: | |
- main | |
paths: | |
- '**.js' | |
# Schedule event - triggers based on a cron schedule | |
schedule: | |
- cron: '0 2 * * *' # Runs at 02:00 UTC every day | |
# Workflow dispatch - allows you to trigger the workflow manually | |
workflow_dispatch: | |
# Repository dispatch - triggers the workflow on a custom event sent with a POST request | |
repository_dispatch: | |
types: [build, deploy] | |
# Check run - triggers when a check run is created, completed, requested, or rerequested | |
check_run: | |
types: [created, completed] | |
# Check suite - triggers when a check suite is completed, requested, or rerequested | |
check_suite: | |
types: [completed, requested] | |
# Create - triggers when a branch or tag is created | |
create: | |
# Delete - triggers when a branch or tag is deleted | |
delete: | |
# Deployment - triggers when a deployment is created | |
deployment: | |
# Deployment status - triggers when a deployment status changes | |
deployment_status: | |
# Fork - triggers when a user forks the repository | |
fork: | |
# Gollum - triggers on wiki updates | |
gollum: | |
# Issue comment - triggers on comments on issues | |
issue_comment: | |
types: [created, edited] | |
# Issues - triggers on issue activities like open, close, or label | |
issues: | |
types: [opened, edited, labeled] | |
# Label - triggers when a label is created, edited, or deleted | |
label: | |
types: [created, edited, deleted] | |
# Milestone - triggers when a milestone is created, closed, opened, edited, or deleted | |
milestone: | |
types: [created, closed, opened, edited, deleted] | |
# Page build - triggers when a GitHub Pages site is built or results in a failed build | |
page_build: | |
# Project - triggers when a project is created, updated, or deleted | |
project: | |
types: [created, updated, deleted] | |
# Project card - triggers when a project card is created, updated, moved, converted, or deleted | |
project_card: | |
types: [created, updated, moved, converted, deleted] | |
# Project column - triggers when a project column is created, updated, moved, or deleted | |
project_column: | |
types: [created, updated, moved, deleted] | |
# Public - triggers when a repository is made public | |
public: | |
# Pull request review - triggers on pull request review activities | |
pull_request_review: | |
types: [submitted, edited, dismissed] | |
# Pull request review comment - triggers on comment activities on pull request reviews | |
pull_request_review_comment: | |
types: [created, edited, deleted] | |
# Pull request target - similar to pull_request but with a different `GITHUB_TOKEN` permissions | |
pull_request_target: | |
types: [assigned, opened, synchronize, reopened] | |
branches: | |
- main | |
# Registry package - triggers when a GitHub Packages registry package is published or updated | |
registry_package: | |
types: [published, updated] | |
# Release - triggers when a release is created, published, unpublished, etc. | |
release: | |
types: [created, published, unpublished, edited, deleted, prereleased] | |
# Status - triggers when the status of a Git commit changes | |
status: | |
# Watch - triggers when someone stars the repository | |
watch: | |
types: [started] | |
jobs: | |
example_job: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v2 | |
- name: Run a multi-line script | |
run: | | |
echo "This is a multi-line script example" | |
echo "Triggered by event: ${{ github.event_name }}" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test Workflow for OpsGenie Experimentation | |
on: | |
push: | |
branches: | |
- zeph/FromPagerDuty2OpsGenie | |
env: | |
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
JOB_HUMAN: AERA_OpsGenie_Experiment | |
jobs: | |
example_job: | |
runs-on: ubuntu-latest | |
steps: | |
- run: | | |
echo "Oh no!" | |
# set a non-0 status code to simulate a failure: | |
exit 1 | |
- name: "Alias: dedupe slug using timestamp" | |
if: failure() | |
run: | |
echo "dedup=${JOB_HUMAN}_$(date +'%Y-%m-%d')" >> $GITHUB_ENV | |
- name: "Dummy vault name" | |
if: failure() | |
run: | |
echo "vault_name=BestVaultEver" >> $GITHUB_ENV | |
- name: "Send OpsGenie alert on failure" | |
if: failure() | |
uses: cdqag/opsgenie-create-alert@v1 | |
with: | |
priority: P1 | |
message: "${{ github.workflow }} #${{ github.run_number }} failed" | |
alias: ${{ env.dedup }} | |
responders: '[{"id":"${{ secrets.OPSGENIE_TEAM_AERA }}","type":"team"}]' | |
apiKey: ${{ secrets.OPSGENIE_API_KEY }} | |
description: | | |
${{ env.JOB_HUMAN }} has failed! | |
<br><a href="${{ env.RUN_URL }}" target="_blank">Investigate ${{ env.JOB_HUMAN }} job failure @ github</a> | |
tags: '["team: AERA", "type: ETL"]' | |
verbose: true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment