Slide 1

Slide 1 text

あなたの知らない GitHub Actions 小技 集

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

GitHub Actions Is a CI/CD platform. It lets us automate workflows at every step in software development process.

Slide 4

Slide 4 text

Agenda 1. Workflow 2. Environment 3. Deployment view 4. Insight 5. Immutable Actions

Slide 5

Slide 5 text

Workflow

Slide 6

Slide 6 text

Matrix jobs Workflow ● Test multiple versions of dependencies or multiple OS versions ● Speed up testing processes

Slide 7

Slide 7 text

continue-on-error ● Continuously run Actions if a step fails ● Available for job/step levels Workflow

Slide 8

Slide 8 text

continue-on-error ● Handling a failure job like roll backing the deployment ● Negative test Expected use cases

Slide 9

Slide 9 text

Deployment view

Slide 10

Slide 10 text

Deployment history ● Deployment view ● Pinging environments (max: 10) ● More filters on the view ○ Creators, statues, environments, commits.

Slide 11

Slide 11 text

Environment

Slide 12

Slide 12 text

● Required reviewers ● Wait timer ● Custom rules with GitHub Apps Deployment protection rules Environment

Slide 13

Slide 13 text

● Protected branches only ● Selected branches and tags Deployment branches and tags Environment

Slide 14

Slide 14 text

Insight

Slide 15

Slide 15 text

Usage metrics Insight ● Usage metrics for your organizations

Slide 16

Slide 16 text

Performance metrics Insight ● How long did workflows/jobs take to complete? ● How long did workflows/jobs wait to run? ● Which workflows/jobs are consistently failing? ● Where is the longest running workflows/jobs?

Slide 17

Slide 17 text

Immutable Actions

Slide 18

Slide 18 text

Immutable Actions Mutable References Actions can be referenced in workflow by Git tag, release name, branch name or SHA. Tag in particular are mutable by design. Risk Mutable references can become subject to history overwrite attacks or changes to the target of the Git tags Looks like a released version, but is a Git tag

Slide 19

Slide 19 text

Immutable Actions ● Actions is published as OCI packages to GitHub Container Registry ● Immutable version tags with SemVer SemVer that points at immutable artifact

Slide 20

Slide 20 text

https://support.github.com