GitHub/Actions

From Freephile Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

https://github.com/features/actions

Microsoft's GitHub Actions is a powerful automation platform that is built-in to, and integrated with GitHub. With a Yaml-based syntax, it is similar to IBM's (RedHat) Ansible automation platform or others like Microsoft's Azure DevOps Pipelines, Amazon AWS CodePipeline, Jenkins, CircleCI, GitLabCI etc... It allow you to automate build, test, and deployment processes within your code repository; defining workflows using YAML files and utilizing different runner environments to execute tasks.

While GitHub's hosted runners only include 'windows-latest', 'macos-latest' and Ubuntu Linux[1], you can use a Docker Image inside Ubuntu to evaluate your action on a different flavor of Linux like Debian[2].

From Zero to Hero in 90 Minutes

Davide "CoderDave" Benvegnu can take you from zero to hero in 90 minutes as he covers most of the fundamentals of GitHub Actions.


Examples

The Semantic MediaWiki project has a good example of using GitHub Actions. See the main workflow at https://github.com/SemanticMediaWiki/SemanticMediaWiki/blob/master/.github/workflows/main.yml

Advanced Debugging

A cool advanced tool for debugging your GitHub Actions automation is https://github.com/nektos/act which allows you to run GitHub actions locally.

Docs

https://docs.github.com/en/actions

Overview

Reusing workflows

Terraform deployments

Build Docker image

Run Composer

Code scanning (examples for lots of tools from psalm to sonarcube)

Private networking with Github-hosted runners

References