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
Use this template to bootstrap the creation of a JavaScript action.:rocket:
8
+
9
+
This template includes compilication support, tests, a validation workflow, publishing, and versioning guidance.
10
+
11
+
If you are new, there's also a simpler introduction. See the [Hello World JavaScript Action](https://github.com/actions/hello-world-javascript-action)
12
+
13
+
## Create an action from this template
14
+
15
+
Click the `Use this Template` and provide the new repo details for your action
16
+
17
+
## Code in Master
18
+
19
+
Install the dependencies
20
+
```bash
21
+
$ npm install
22
+
```
23
+
24
+
Build the typescript and package it for distribution
25
+
```bash
26
+
$ npm run build && npm run pack
27
+
```
28
+
29
+
Run the tests :heavy_check_mark:
30
+
```bash
31
+
$ npm test
32
+
33
+
PASS ./index.test.js
34
+
✓ throws invalid number (3ms)
35
+
✓ wait 500 ms (504ms)
36
+
✓ test runs (95ms)
37
+
38
+
...
39
+
```
40
+
41
+
## Change action.yml
42
+
43
+
The action.yml contains defines the inputs and output for your action.
44
+
45
+
Update the action.yml with your name, description, inputs and outputs for your action.
46
+
47
+
See the [documentation](https://help.github.com/en/articles/metadata-syntax-for-github-actions)
48
+
49
+
## Change the Code
50
+
51
+
Most toolkit and CI/CD operations involve async operations so the action is run in an async function.
52
+
53
+
```javascript
54
+
import*ascorefrom'@actions/core';
55
+
...
56
+
57
+
asyncfunctionrun() {
58
+
try {
59
+
...
60
+
}
61
+
catch (error) {
62
+
core.setFailed(error.message);
63
+
}
64
+
}
65
+
66
+
run()
67
+
```
68
+
69
+
See the [toolkit documentation](https://github.com/actions/toolkit/blob/master/README.md#packages) for the various packages.
70
+
71
+
## Publish to a distribution branch
72
+
73
+
Actions are run from GitHub repos so we will checkin the packed dist folder.
74
+
75
+
Then run [ncc](https://github.com/zeit/ncc) and push the results:
76
+
```bash
77
+
$ npm run pack
78
+
$ git add dist
79
+
$ git commit -a -m "prod dependencies"
80
+
$ git push origin releases/v1
81
+
```
82
+
83
+
Your action is now published! :rocket:
84
+
85
+
See the [versioning documentation](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md)
86
+
87
+
## Validate
88
+
89
+
You can now validate the action by referencing `./` in a workflow in your repo (see [test.yml](.github/workflows/test.yml)])
90
+
91
+
```yaml
92
+
uses: ./
93
+
with:
94
+
milliseconds: 1000
95
+
```
96
+
97
+
See the [actions tab](https://github.com/actions/javascript-action/actions) for runs of this action! :rocket:
98
+
99
+
## Usage:
100
+
101
+
After testing you can [create a v1 tag](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md) to reference the stable and latest V1 action
description: 'Diffs all ArgoCD apps in the repo, and provides the diff as a PR comment'
3
+
author: 'Quizlet'
4
+
inputs:
5
+
argocd-server-url:
6
+
description: ArgoCD server url (without the protocol)
7
+
required: true
8
+
argocd-token:
9
+
description: ArgoCD token for a local or project-scoped user https://argoproj.github.io/argo-cd/operator-manual/user-management/#local-usersaccounts-v15
0 commit comments