-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgithub_workflow_local_using_act
More file actions
186 lines (179 loc) · 15.9 KB
/
github_workflow_local_using_act
File metadata and controls
186 lines (179 loc) · 15.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
https://www.freecodecamp.org/news/how-to-run-github-actions-locally/
Rules:
https://ansible.readthedocs.io/projects/lint/rules/
:~/test_github_workflow/ansible-junos-stdlib# bash
:~/test_github_workflow/ansible-junos-stdlib# curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 10964 100 10964 0 0 39869 0 --:--:-- --:--:-- --:--:-- 39869
nektos/act info checking GitHub for latest tag
nektos/act info found version: 0.2.76 for v0.2.76/Linux/x86_64
nektos/act info installed ./bin/act
:~/test_github_workflow/ansible-junos-stdlib# ./bin/act
INFO[0000] Using docker host 'unix:///var/run/docker.sock', and daemon socket 'unix:///var/run/docker.sock'
? Please choose the default image you want to use with act:
- Large size image: ca. 17GB download + 53.1GB storage, you will need 75GB of free disk space, snapshots of GitHub Hosted Runners without snap and pulled docker images
- Medium size image: ~500MB, includes only necessary tools to bootstrap actions and aims to be compatible with most actions
- Micro size image: <200MB, contains only NodeJS required to bootstrap actions, doesn't work with all actions
Default image and other options can be changed manually in /root/.config/act/actrc (please refer to https://nektosact.com/usage/index.html?highlight=configur#configuration-file for additional information about file structure) Medium
[Ansible lint/Ansible Lint] ⭐ Run Set up job
[Ansible lint/Ansible Lint] 🚀 Start image=catthehacker/ubuntu:act-latest
[Ansible lint/Ansible Lint] 🐳 docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=true
[Ansible lint/Ansible Lint] using DockerAuthConfig authentication for docker pull
~/test_github_workflow/ansible-junos-stdlib# ./bin/act --job "build"
INFO[0000] Using docker host 'unix:///var/run/docker.sock', and daemon socket 'unix:///var/run/docker.sock'
[Ansible lint/Ansible Lint] ⭐ Run Set up job
[Ansible lint/Ansible Lint] 🚀 Start image=catthehacker/ubuntu:act-latest
[Ansible lint/Ansible Lint] 🐳 docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=true
[Ansible lint/Ansible Lint] using DockerAuthConfig authentication for docker pull
[Ansible lint/Ansible Lint] 🐳 docker create image=catthehacker/ubuntu:act-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[Ansible lint/Ansible Lint] 🐳 docker run image=catthehacker/ubuntu:act-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[Ansible lint/Ansible Lint] 🐳 docker exec cmd=[node --no-warnings -e console.log(process.execPath)] user= workdir=
[Ansible lint/Ansible Lint] ✅ Success - Set up job
[Ansible lint/Ansible Lint] ☁ git clone 'https://github.com/actions/setup-python' # ref=v5
[Ansible lint/Ansible Lint] ⭐ Run Main actions/checkout@v4
root@nms5-salt-master-b:~/test_github_workflow/ansible-junos-stdlib# ./bin/act pull_request
INFO[0000] Using docker host 'unix:///var/run/docker.sock', and daemon socket 'unix:///var/run/docker.sock'
[ansible-lint/Ansible lint/Ansible Lint] ⭐ Run Set up job
[ansible-lint/Ansible lint/Ansible Lint] 🚀 Start image=catthehacker/ubuntu:act-latest
[ansible-lint/Ansible lint/Ansible Lint] 🐳 docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=true
[ansible-lint/Ansible lint/Ansible Lint] using DockerAuthConfig authentication for docker pull
[ansible-lint/Ansible lint/Ansible Lint] 🐳 docker create image=catthehacker/ubuntu:act-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[ansible-lint/Ansible lint/Ansible Lint] 🐳 docker run image=catthehacker/ubuntu:act-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[ansible-lint/Ansible lint/Ansible Lint] 🐳 docker exec cmd=[node --no-warnings -e console.log(process.execPath)] user= workdir=
[ansible-lint/Ansible lint/Ansible Lint] ✅ Success - Set up job
[ansible-lint/Ansible lint/Ansible Lint] ☁ git clone 'https://github.com/actions/setup-python' # ref=v5
[ansible-lint/Ansible lint/Ansible Lint] Non-terminating error while running 'git clone': some refs were not updated
[ansible-lint/Ansible lint/Ansible Lint] ⭐ Run Main actions/checkout@v4
[ansible-lint/Ansible lint/Ansible Lint] 🐳 docker cp src=/root/test_github_workflow/ansible-junos-stdlib/. dst=/root/test_github_workflow/ansible-junos-stdlib
[ansible-lint/Ansible lint/Ansible Lint] ✅ Success - Main actions/checkout@v4 [312.682384ms]
[ansible-lint/Ansible lint/Ansible Lint] ⭐ Run Main Process inputs
[ansible-lint/Ansible lint/Ansible Lint] 🐳 docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/inputs.sh] user= workdir=
[ansible-lint/Ansible lint/Ansible Lint] ✅ Success - Main Process inputs [323.594776ms]
[ansible-lint/Ansible lint/Ansible Lint] ⚙ ::set-output:: working_directory=/root/test_github_workflow/ansible-junos-stdlib
[ansible-lint/Ansible lint/Ansible Lint] ⭐ Run Main Install ansible-lint from pip
[ansible-lint/Ansible lint/Ansible Lint] 🐳 docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/3.sh] user= workdir=
| Collecting ansible-compat==24.10.0
| Downloading ansible_compat-24.10.0-py3-none-any.whl (24 kB)
| Collecting ansible-lint
| Downloading ansible_lint-25.4.0-py3-none-any.whl (314 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 314.5/314.5 KB 6.9 MB/s eta 0:00:00
| Requirement already satisfied: packaging in /usr/lib/python3/dist-packages (from ansible-compat==24.10.0) (21.3)
| Collecting PyYAML
| Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 751.2/751.2 KB 32.2 MB/s eta 0:00:00
| Collecting subprocess-tee>=0.4.1
| Downloading subprocess_tee-0.4.2-py3-none-any.whl (5.2 kB)
| Collecting ansible-core>=2.14
| Downloading ansible_core-2.17.11-py3-none-any.whl (2.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 31.0 MB/s eta 0:00:00
| Collecting jsonschema>=4.6.0
| Downloading jsonschema-4.23.0-py3-none-any.whl (88 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 88.5/88.5 KB 16.2 MB/s eta 0:00:00
| Collecting ruamel.yaml!=0.18.7,!=0.18.8,>=0.18.5
| Downloading ruamel.yaml-0.18.10-py3-none-any.whl (117 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.7/117.7 KB 17.9 MB/s eta 0:00:00
| Collecting yamllint>=1.34.0
| Downloading yamllint-1.37.0-py3-none-any.whl (68 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 68.7/68.7 KB 13.5 MB/s eta 0:00:00
| Collecting wcmatch>=8.1.2
| Downloading wcmatch-10.0-py3-none-any.whl (39 kB)
| Collecting filelock>=3.8.2
| Downloading filelock-3.18.0-py3-none-any.whl (16 kB)
| Collecting black>=24.3.0
| Downloading black-25.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 28.3 MB/s eta 0:00:00
| Collecting ansible-lint
| Downloading ansible_lint-25.2.1-py3-none-any.whl (314 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 314.5/314.5 KB 30.4 MB/s eta 0:00:00
| Downloading ansible_lint-25.2.0-py3-none-any.whl (314 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 314.4/314.4 KB 31.4 MB/s eta 0:00:00
| Downloading ansible_lint-25.1.3-py3-none-any.whl (311 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 311.2/311.2 KB 27.7 MB/s eta 0:00:00
| Downloading ansible_lint-25.1.2-py3-none-any.whl (311 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 311.2/311.2 KB 31.3 MB/s eta 0:00:00
| Requirement already satisfied: importlib-metadata in /usr/lib/python3/dist-packages (from ansible-lint) (4.6.4)
| Collecting pathspec>=0.10.3
| Downloading pathspec-0.12.1-py3-none-any.whl (31 kB)
| Collecting packaging
| Downloading packaging-25.0-py3-none-any.whl (66 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.5/66.5 KB 12.5 MB/s eta 0:00:00
| Collecting ansible-lint
| Downloading ansible_lint-25.1.1-py3-none-any.whl (311 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 311.0/311.0 KB 33.8 MB/s eta 0:00:00
| Downloading ansible_lint-25.1.0-py3-none-any.whl (311 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 311.0/311.0 KB 31.3 MB/s eta 0:00:00
| Collecting jinja2>=3.0.0
| Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 134.9/134.9 KB 22.0 MB/s eta 0:00:00
| Requirement already satisfied: cryptography in /usr/lib/python3/dist-packages (from ansible-core>=2.14->ansible-compat==24.10.0) (3.4.8)
| Collecting resolvelib<1.1.0,>=0.5.3
| Downloading resolvelib-1.0.1-py2.py3-none-any.whl (17 kB)
| Collecting mypy-extensions>=0.4.3
| Downloading mypy_extensions-1.1.0-py3-none-any.whl (5.0 kB)
| Collecting tomli>=1.1.0
| Downloading tomli-2.2.1-py3-none-any.whl (14 kB)
| Collecting typing-extensions>=4.0.1
| Downloading typing_extensions-4.13.2-py3-none-any.whl (45 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.8/45.8 KB 8.8 MB/s eta 0:00:00
| Collecting platformdirs>=2
| Downloading platformdirs-4.3.7-py3-none-any.whl (18 kB)
| Requirement already satisfied: click>=8.0.0 in /usr/lib/python3/dist-packages (from black>=24.3.0->ansible-lint) (8.0.3)
| Collecting rpds-py>=0.7.1
| Downloading rpds_py-0.24.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (389 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 389.5/389.5 KB 13.7 MB/s eta 0:00:00
| Collecting referencing>=0.28.4
| Downloading referencing-0.36.2-py3-none-any.whl (26 kB)
| Collecting attrs>=22.2.0
| Downloading attrs-25.3.0-py3-none-any.whl (63 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.8/63.8 KB 12.1 MB/s eta 0:00:00
| Collecting jsonschema-specifications>=2023.03.6
| Downloading jsonschema_specifications-2025.4.1-py3-none-any.whl (18 kB)
| Collecting ruamel.yaml.clib>=0.2.7
| Downloading ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (722 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 722.2/722.2 KB 36.2 MB/s eta 0:00:00
| Collecting bracex>=2.1.1
| Downloading bracex-2.5.post1-py3-none-any.whl (11 kB)
| Collecting MarkupSafe>=2.0
| Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB)
| Installing collected packages: resolvelib, typing-extensions, tomli, subprocess-tee, ruamel.yaml.clib, rpds-py, PyYAML, platformdirs, pathspec, packaging, mypy-extensions, MarkupSafe, filelock, bracex, attrs, yamllint, wcmatch, ruamel.yaml, referencing, jinja2, black, jsonschema-specifications, ansible-core, jsonschema, ansible-compat, ansible-lint
| Attempting uninstall: packaging
| Found existing installation: packaging 21.3
| Not uninstalling packaging at /usr/lib/python3/dist-packages, outside environment /usr
| Can't uninstall 'packaging'. No files were found to uninstall.
| ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
| pipx 1.0.0 requires argcomplete>=1.9.4, but you have argcomplete 1.8.1 which is incompatible.
| Successfully installed MarkupSafe-3.0.2 PyYAML-6.0.2 ansible-compat-24.10.0 ansible-core-2.17.11 ansible-lint-25.1.0 attrs-25.3.0 black-25.1.0 bracex-2.5.post1 filelock-3.18.0 jinja2-3.1.6 jsonschema-4.23.0 jsonschema-specifications-2025.4.1 mypy-extensions-1.1.0 packaging-25.0 pathspec-0.12.1 platformdirs-4.3.7 referencing-0.36.2 resolvelib-1.0.1 rpds-py-0.24.0 ruamel.yaml-0.18.10 ruamel.yaml.clib-0.2.12 subprocess-tee-0.4.2 tomli-2.2.1 typing-extensions-4.13.2 wcmatch-10.0 yamllint-1.37.0
| WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
| ansible-lint 25.1.0 using ansible-core:2.17.11 ansible-compat:24.10.0 ruamel-yaml:0.18.10 ruamel-yaml-clib:0.2.12
[ansible-lint/Ansible lint/Ansible Lint] ✅ Success - Main Install ansible-lint from pip [28.583725366s]
[ansible-lint/Ansible lint/Ansible Lint] ⭐ Run Main Run ansible-lint
[ansible-lint/Ansible lint/Ansible Lint] 🐳 docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/4.sh] user= workdir=/root/test_github_workflow/ansible-junos-stdlib
| WARNING Invalid value (None)for resolved_fqcn attribute of juniper.device.command module.
| WARNING Invalid value (None)for resolved_fqcn attribute of juniper.device.command module.
| WARNING Invalid value (None)for resolved_fqcn attribute of juniper.device.command module.
| WARNING Invalid value (None)for resolved_fqcn attribute of juniper.device.command module.
| WARNING Invalid value (None)for resolved_fqcn attribute of juniper.device.command module.
| WARNING Invalid value (None)for resolved_fqcn attribute of juniper.device.command module.
|
| Passed: 0 failure(s), 0 warning(s) on 132 files. Profile 'production' was required, and it passed.
[ansible-lint/Ansible lint/Ansible Lint] ✅ Success - Main Run ansible-lint [7.001801545s]
[ansible-lint/Ansible lint/Ansible Lint] ⭐ Run Complete job
[ansible-lint/Ansible lint/Ansible Lint] Cleaning up container for job Ansible Lint
[ansible-lint/Ansible lint/Ansible Lint] ✅ Success - Complete job
[ansible-lint/Ansible lint/Ansible Lint] 🏁 Job succeeded
[CI/all_green ] ⭐ Run Set up job
[CI/all_green ] 🚀 Start image=catthehacker/ubuntu:act-latest
[CI/all_green ] 🐳 docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=true
[CI/all_green ] using DockerAuthConfig authentication for docker pull
[CI/all_green ] 🐳 docker create image=catthehacker/ubuntu:act-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[CI/all_green ] 🐳 docker run image=catthehacker/ubuntu:act-latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[CI/all_green ] 🐳 docker exec cmd=[node --no-warnings -e console.log(process.execPath)] user= workdir=
[CI/all_green ] ✅ Success - Set up job
[CI/all_green ] ⭐ Run Main python -c "assert 'failure' not in set([ 'success' ])"
[CI/all_green ] 🐳 docker exec cmd=[bash -e /var/run/act/workflow/0] user= workdir=
[CI/all_green ] ✅ Success - Main python -c "assert 'failure' not in set([ 'success' ])" [336.811437ms]
[CI/all_green ] ⭐ Run Complete job
[CI/all_green ] Cleaning up container for job all_green
[CI/all_green ] ✅ Success - Complete job
[CI/all_green ] 🏁 Job succeeded