# GitHub Action
<img src="https://github.githubassets.com/images/modules/site/features/actions-icon-actions.svg" width=200 style="border:0; background:0">
---
## Why GitHub Action?
---
## Pros
1. Best GitHub integration
2. Multi-Architecture runners
3. Community pre-made workflows
https://github.com/features/actions
---
## Cons
1. Unreliable contributed workflows
2. Unstable gitHub server
3. No great way to unit-test actions
Note:
https://github.com/nektos/act
---
## Syntax
[link](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions)
use [docker/build-push-action](https://github.com/docker/build-push-action/blob/master/.github/workflows/main.yml) as example
---
## Events
[link](https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#triggering-a-workflow-with-events)
Note:
---
## Creating actions
[link](https://docs.github.com/en/actions/creating-actions)
use [docker/build-push-action](https://github.com/docker/build-push-action) as example
Note:
Use docker/push-and-build as example
---
### Thank you
{"metaMigratedAt":"2023-06-15T10:42:34.648Z","metaMigratedFrom":"YAML","title":"Github Action","breaks":true,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"59ab9413-a782-44fd-bd0d-2aa8517c6051\",\"add\":3654,\"del\":2449}]"}