You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+54-46Lines changed: 54 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,11 @@
2
2
3
3
A collection of small GitHub Actions workflows demonstrating various capabilities and features to get you started.
4
4
5
-
## basic.yml
5
+
## 1st Party
6
+
7
+
These examples use only tools and actions from GitHub.
8
+
9
+
### basic.yml
6
10
7
11
<details>
8
12
@@ -22,7 +26,7 @@ See the [workflow](.github/workflows/basic.yml) and [dependabot](.github/dependa
22
26
23
27
</details>
24
28
25
-
## branch_name.yml
29
+
###branch_name.yml
26
30
27
31
<details>
28
32
@@ -45,7 +49,7 @@ See the [workflow](.github/workflows/branch_name.yml).
45
49
46
50
</details>
47
51
48
-
## cache.yml
52
+
###cache.yml
49
53
50
54
<details>
51
55
@@ -59,7 +63,7 @@ See the [workflow](.github/workflows/cache.yml).
59
63
60
64
</details>
61
65
62
-
## context.yml
66
+
###context.yml
63
67
64
68
<details>
65
69
@@ -71,7 +75,7 @@ See the [workflow](.github/workflows/context.yml).
71
75
72
76
</details>
73
77
74
-
## env_var_*.yml
78
+
###env_var_*.yml
75
79
76
80
<details>
77
81
@@ -91,7 +95,7 @@ See the workflows:
91
95
92
96
</details>
93
97
94
-
## github_script.yml
98
+
###github_script.yml
95
99
96
100
<details>
97
101
@@ -105,21 +109,7 @@ See the [workflow](.github/workflows/github_script.yml).
105
109
106
110
</details>
107
111
108
-
## homebrew.yml
109
-
110
-
<details>
111
-
112
-
<summary>Using homebrew in your workflow.</summary>
113
-
114
-
<br/>Leverage the convenience of homebrew to install applications on GitHub Actions runners.
115
-
116
-
- Uses `Homebrew/actions/setup-homebrew`
117
-
118
-
See the [workflow](.github/workflows/homebrew.yml).
119
-
120
-
</details>
121
-
122
-
## job_summary.yml
112
+
### job_summary.yml
123
113
124
114
<details>
125
115
@@ -135,7 +125,7 @@ See the [workflow](.github/workflows/job_summary.yml).
135
125
136
126
</details>
137
127
138
-
## log_annotation.yml
128
+
###log_annotation.yml
139
129
140
130
<details>
141
131
@@ -147,7 +137,7 @@ See the [workflow](.github/workflows/log_annotation.yml).
147
137
148
138
</details>
149
139
150
-
## matrix.yml
140
+
###matrix.yml
151
141
152
142
<details>
153
143
@@ -161,63 +151,81 @@ See the [workflow](.github/workflows/matrix.yml).
161
151
162
152
</details>
163
153
164
-
##mise.yml
154
+
### parallel_*.yml
165
155
166
156
<details>
167
157
168
-
<summary>Using mise in your workflow.</summary>
158
+
<summary>Parallel testing without any code changes or extra dependencies.</summary>
169
159
170
-
<br/>The polyglot tool version manager.
160
+
<br/>The matrix strategy can be used in a particular way to enable parallel testing for free. "Free" meaning no code changes and no extra dependencies. This example uses Python, but can be adapted to any language. The idea is to identify where your tests are and distrubute them across multiple GitHub Actions runners. If your testing framework supports parallel testing, you can use it together with this strategy to really go fast!
171
161
172
-
- Uses `jdx/mise-action`
162
+
Note: This will increase the number of runners used, so keep an eye on your usage to avoid billing surprises.
<summary>Parallel testing without any code changes or extra dependencies.</summary>
174
+
<summary>Adjust how a workflow will run with custom input.</summary>
183
175
184
-
<br/>The matrix strategy can be used in a particular way to enable parallel testing for free. "Free" meaning no code changes and no extra dependencies. This example uses Python, but can be adapted to any language. The idea is to identify where your tests are and distrubute them across multiple GitHub Actions runners. If your testing framework supports parallel testing, you can use it together with this strategy to really go fast!
176
+
<br/>When using the `workflow_dispatch` event, you can optionally specify inputs that are passed to the workflow.
185
177
186
-
Note: This will increase the number of runners used, so keep an eye on your usage to avoid billing surprises.
178
+
This trigger only receives events when the workflow file is on the default branch. This means you have to merge your changes to `main` or `master` before you can test your inputs. It would be wise to try input changes in a totally separate workflow before merging them into critical workflows.
Also, if the event that triggers the workflow isn't `workflow_dispatch` the input values are empty/null. This is true even if you have default values defined.
181
+
182
+
See the [workflow](.github/workflows/workflow_input.yml).
191
183
192
184
</details>
193
185
194
-
## uv.yml
186
+
## 3rd Party
187
+
188
+
These examples include tools and actions from 3rd parties.
189
+
190
+
### homebrew.yml
195
191
196
192
<details>
197
193
198
-
<summary>Using uv in your workflow.</summary>
194
+
<summary>Using homebrew in your workflow.</summary>
199
195
200
-
<br/>Same as basic.yml but uses the uv project manager.
196
+
<br/>Leverage the convenience of homebrew to install applications on GitHub Actions runners.
201
197
202
-
- Uses `astral-sh/setup-uv`
198
+
- Uses `Homebrew/actions/setup-homebrew`
203
199
204
-
See the [workflow](.github/workflows/uv.yml).
200
+
See the [workflow](.github/workflows/homebrew.yml).
205
201
206
202
</details>
207
203
208
-
##workflow_input.yml
204
+
### mise.yml
209
205
210
206
<details>
211
207
212
-
<summary>Adjust how a workflow will run with custom input.</summary>
208
+
<summary>Using mise in your workflow.</summary>
213
209
214
-
<br/>When using the `workflow_dispatch` event, you can optionally specify inputs that are passed to the workflow.
210
+
<br/>The polyglot tool and project manager.
215
211
216
-
This trigger only receives events when the workflow file is on the default branch. This means you have to merge your changes to `main` or `master` before you can test your inputs. It would be wise to try input changes in a totally separate workflow before merging them into critical workflows.
212
+
- Uses `jdx/mise-action`
217
213
218
-
Also, if the event that triggers the workflow isn't `workflow_dispatch` the input values are empty/null. This is true even if you have default values defined.
214
+
See the [workflow](.github/workflows/mise.yml).
219
215
220
-
See the [workflow](.github/workflows/workflow_input.yml).
216
+
</details>
217
+
218
+
### uv.yml
219
+
220
+
<details>
221
+
222
+
<summary>Using uv in your workflow.</summary>
223
+
224
+
<br/>Same as basic.yml but uses the uv Python project manager.
0 commit comments