Skip to content

Commit 539cecc

Browse files
Kevin/performance improvements (parallelization + node-pty) (#42)
* Imported new ipc-message v2 schema. Fixed npm install bugs with ink 5. * Refactored message sender. Refactored ipc message into a wrapper class called plugin-message * feat: Parallelized plans * feat: Added NODE_PATH to support new node-pty plugins. Fixed bug with non-JS plugins being resolved. * feat: Refactored plugin resolution and added an ApiClient for network calls * feat: Added codesigning for the new binaries from node-pty. Bumped library versions * fix: Fixed tests * feat: Upgraded to latest schema which separates core and parameters * fix: Fixed integration tests * feat: Added integration tests for import and apply + plan, and updated the original destroy tests * feat: Added ci for unit and integration tests * fix: Moved ci file to workflows folder * fix: Fixed indents * fix: Fixed validation bugs * fix: Fixed on for github action * fix: Commit package-lock.json to fix errors * fix: Removed buggy temp tests * feat: Refactored all references to property to "parameter" * fix: Fixed plugin resolution, path flag and bumped libraries * fix: Fixed various bugs: 1. Apply order fix (re-order by eval order since parallel plans mess up the order) 2. Added additional tests to validate the new logic. 3. Type fixes 4. Refactoring 5. Plan integration tests * fix: Fixed sudo requests * feat: Added tests for the initialize orchestrator * feat: Added additional tests to confirm resolver and fixed uninstall script * fix: removed weird character from sudo test file
1 parent 8a42502 commit 539cecc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+14683
-523
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
3+
4+
name: Node.js CI
5+
6+
on: ['push']
7+
8+
jobs:
9+
build-and-test:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v4
14+
- name: Use Node.js 20
15+
uses: actions/setup-node@v4
16+
with:
17+
node-version: '20.x'
18+
cache: 'npm'
19+
- run: npm ci
20+
- run: npm test

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
/.nyc_output
66
/dist
77
/lib
8-
/package-lock.json
98
/tmp
109
/.build
1110
/yarn.lock

README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ $ npm install -g codify
1818
$ codify COMMAND
1919
running command...
2020
$ codify (--version)
21-
codify/0.4.0 darwin-arm64 node-v20.15.0
21+
codify/0.5.0 darwin-arm64 node-v20.15.1
2222
$ codify --help [COMMAND]
2323
USAGE
2424
$ codify COMMAND
@@ -45,7 +45,7 @@ USAGE
4545
FLAGS
4646
-o, --output=<option> [default: default]
4747
<options: plain|default|debug|json>
48-
-p, --path=<value> path to project
48+
-p, --path=<value> Path to codify.json file
4949
-s, --secure
5050
--debug
5151
@@ -62,19 +62,20 @@ EXAMPLES
6262
$ codify apply --path ~
6363
```
6464

65-
_See code: [src/commands/apply/index.ts](https://github.com/kevinwang5658/codify/blob/v0.4.0/src/commands/apply/index.ts)_
65+
_See code: [src/commands/apply/index.ts](https://github.com/kevinwang5658/codify/blob/v0.5.0/src/commands/apply/index.ts)_
6666

6767
## `codify destroy`
6868

6969
Destroy or uninstall a resource (or many resources).
7070

7171
```
7272
USAGE
73-
$ codify destroy [--json] [--debug] [-o plain|default|debug|json] [-s]
73+
$ codify destroy [--json] [--debug] [-o plain|default|debug|json] [-s] [-p <value>]
7474
7575
FLAGS
7676
-o, --output=<option> [default: default]
7777
<options: plain|default|debug|json>
78+
-p, --path=<value> Path to codify.json file
7879
-s, --secure
7980
--debug
8081
@@ -88,7 +89,7 @@ EXAMPLES
8889
$ codify destroy homebrew nvm
8990
```
9091

91-
_See code: [src/commands/destroy.ts](https://github.com/kevinwang5658/codify/blob/v0.4.0/src/commands/destroy.ts)_
92+
_See code: [src/commands/destroy.ts](https://github.com/kevinwang5658/codify/blob/v0.5.0/src/commands/destroy.ts)_
9293

9394
## `codify help [COMMAND]`
9495

@@ -121,7 +122,7 @@ USAGE
121122
FLAGS
122123
-o, --output=<option> [default: default]
123124
<options: plain|default|debug|json>
124-
-p, --path=<value> path to project
125+
-p, --path=<value> Path to codify.json file
125126
-s, --secure
126127
--debug
127128
@@ -135,7 +136,7 @@ EXAMPLES
135136
$ codify import homebrew nvm
136137
```
137138

138-
_See code: [src/commands/import.ts](https://github.com/kevinwang5658/codify/blob/v0.4.0/src/commands/import.ts)_
139+
_See code: [src/commands/import.ts](https://github.com/kevinwang5658/codify/blob/v0.5.0/src/commands/import.ts)_
139140

140141
## `codify plan`
141142

@@ -148,7 +149,7 @@ USAGE
148149
FLAGS
149150
-o, --output=<option> [default: default]
150151
<options: plain|default|debug|json>
151-
-p, --path=<value> path to project
152+
-p, --path=<value> Path to codify.json file
152153
-s, --secure
153154
--debug
154155
@@ -163,7 +164,7 @@ EXAMPLES
163164
$ codify plan
164165
```
165166

166-
_See code: [src/commands/plan/index.ts](https://github.com/kevinwang5658/codify/blob/v0.4.0/src/commands/plan/index.ts)_
167+
_See code: [src/commands/plan/index.ts](https://github.com/kevinwang5658/codify/blob/v0.5.0/src/commands/plan/index.ts)_
167168

168169
## `codify update [CHANNEL]`
169170

codify.json

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,19 @@
55
"default": "../codify-homebrew-plugin/src/index.ts"
66
}
77
},
8-
{
9-
"type": "nvm",
10-
"global": "20",
11-
"nodeVersions": [
12-
"20"
13-
]
14-
},
158
{
169
"type": "homebrew",
10+
"taps": [
11+
"cirruslabs/cli",
12+
"hashicorp/tap",
13+
"homebrew/services"
14+
],
1715
"formulae": [
18-
"cirruslabs/cli/cirrus",
19-
"cirruslabs/cli/tart",
20-
"jq"
16+
"asciinema"
17+
],
18+
"casks": [
19+
"firefox"
2120
]
2221
},
23-
{
24-
"type": "file",
25-
"path": "./.env",
26-
"contents": "AWS_ACCESS_KEY_ID=\nAWS_SECRET_ACCESS_KEY=\nAWS_S3_ENDPOINT=\nAWS_REGION=ENAM\n",
27-
"onlyCreate": true
28-
},
29-
{
30-
"type": "action",
31-
"condition": "tart get codify-test-vm",
32-
"action": "tart clone ghcr.io/cirruslabs/macos-sonoma-base:latest codify-test-vm",
33-
"dependsOn": [
34-
"homebrew"
35-
]
36-
}
22+
{ "type": "alias", "alias": "gcdsdd", "value": "git clone" }
3723
]

0 commit comments

Comments
 (0)