@quenty/nevermore-cli 4.28.1 → 4.29.0-canary.697.26191410126.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/commands/batch-command/batch-deploy-command.js +9 -2
- package/dist/commands/batch-command/batch-deploy-command.js.map +1 -1
- package/dist/commands/batch-command/batch-test-command.d.ts +1 -0
- package/dist/commands/batch-command/batch-test-command.d.ts.map +1 -1
- package/dist/commands/batch-command/batch-test-command.js +14 -4
- package/dist/commands/batch-command/batch-test-command.js.map +1 -1
- package/dist/commands/deploy-command/index.d.ts.map +1 -1
- package/dist/commands/deploy-command/index.js +20 -20
- package/dist/commands/deploy-command/index.js.map +1 -1
- package/dist/commands/deploy-command/select-target.d.ts +10 -0
- package/dist/commands/deploy-command/select-target.d.ts.map +1 -0
- package/dist/commands/deploy-command/select-target.js +53 -0
- package/dist/commands/deploy-command/select-target.js.map +1 -0
- package/dist/commands/test-command/test-command.d.ts +1 -0
- package/dist/commands/test-command/test-command.d.ts.map +1 -1
- package/dist/commands/test-command/test-command.js +42 -27
- package/dist/commands/test-command/test-command.js.map +1 -1
- package/dist/utils/batch/batch-runner.js +1 -1
- package/dist/utils/batch/batch-runner.js.map +1 -1
- package/dist/utils/build/deploy-config.d.ts +4 -3
- package/dist/utils/build/deploy-config.d.ts.map +1 -1
- package/dist/utils/build/deploy-config.js +7 -3
- package/dist/utils/build/deploy-config.js.map +1 -1
- package/dist/utils/build/deploy-config.test.d.ts +2 -0
- package/dist/utils/build/deploy-config.test.d.ts.map +1 -0
- package/dist/utils/build/deploy-config.test.js +41 -0
- package/dist/utils/build/deploy-config.test.js.map +1 -0
- package/dist/utils/job-context/cloud-job-context.d.ts.map +1 -1
- package/dist/utils/job-context/cloud-job-context.js +5 -2
- package/dist/utils/job-context/cloud-job-context.js.map +1 -1
- package/dist/utils/open-cloud/open-cloud-client.d.ts +2 -1
- package/dist/utils/open-cloud/open-cloud-client.d.ts.map +1 -1
- package/dist/utils/open-cloud/open-cloud-client.js +39 -14
- package/dist/utils/open-cloud/open-cloud-client.js.map +1 -1
- package/package.json +6 -6
- package/src/commands/batch-command/batch-deploy-command.ts +8 -4
- package/src/commands/batch-command/batch-test-command.ts +15 -5
- package/src/commands/deploy-command/index.ts +21 -24
- package/src/commands/deploy-command/select-target.ts +80 -0
- package/src/commands/test-command/test-command.ts +48 -33
- package/src/utils/batch/batch-runner.ts +1 -1
- package/src/utils/build/deploy-config.test.ts +51 -0
- package/src/utils/build/deploy-config.ts +7 -3
- package/src/utils/job-context/cloud-job-context.ts +10 -2
- package/src/utils/open-cloud/open-cloud-client.ts +54 -14
- package/templates/game-template/.github/workflows/{deploy.yml → integration.yml} +30 -26
- package/templates/game-template/.github/workflows/tests.yml +30 -20
- package/templates/game-template/README.md +22 -1
- package/templates/game-template/aftman.toml +1 -0
- package/templates/game-template/default.project.json +3 -0
- package/templates/game-template/package.json +7 -2
- package/templates/game-template/src/modules/jest.config.lua +4 -0
- package/templates/game-template/src/scripts/Server/ServerMain.server.lua +6 -0
- package/templates/plugin-template/.github/workflows/{deploy.yml → integration.yml} +30 -26
- package/templates/plugin-template/.github/workflows/tests.yml +18 -13
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,45 +1,44 @@
|
|
|
1
|
-
# Roblox Deploy
|
|
1
|
+
# Roblox Integration Deploy
|
|
2
2
|
#
|
|
3
|
-
# Builds and uploads the project to your Roblox place.
|
|
3
|
+
# Builds and uploads the project to your Roblox integration place on every pull request.
|
|
4
4
|
# This workflow is inactive until you complete the setup below.
|
|
5
5
|
#
|
|
6
6
|
# Setup:
|
|
7
|
-
# 1. Run `nevermore deploy init` to create deploy.nevermore.json
|
|
7
|
+
# 1. Run `nevermore deploy init` to create deploy.nevermore.json (with an `integration` target)
|
|
8
8
|
# 2. Add ROBLOX_OPEN_CLOUD_API_KEY as a repository secret
|
|
9
9
|
# (Create one at https://create.roblox.com/dashboard/credentials)
|
|
10
|
-
# 3. Deploys will run automatically
|
|
11
|
-
# 4. You can also trigger a deploy manually from the Actions tab
|
|
10
|
+
# 3. Deploys will run automatically on every pull request
|
|
12
11
|
#
|
|
13
12
|
# Docs: https://quenty.github.io/NevermoreEngine/docs/testing/integration-testing
|
|
14
13
|
|
|
15
|
-
name:
|
|
16
|
-
on:
|
|
17
|
-
push:
|
|
18
|
-
branches:
|
|
19
|
-
- main
|
|
20
|
-
workflow_dispatch:
|
|
14
|
+
name: integration
|
|
15
|
+
on: [pull_request]
|
|
21
16
|
jobs:
|
|
22
|
-
|
|
17
|
+
integration:
|
|
23
18
|
runs-on: ubuntu-latest
|
|
24
|
-
|
|
25
|
-
enabled: $\{{ steps.check.outputs.enabled }}
|
|
19
|
+
environment: integration
|
|
26
20
|
steps:
|
|
27
21
|
- id: check
|
|
22
|
+
name: Check config
|
|
28
23
|
run: |
|
|
29
|
-
if [ -n "$KEY" ]; then
|
|
30
|
-
|
|
24
|
+
if [ -n "$KEY" ]; then
|
|
25
|
+
echo "enabled=true" >> "$GITHUB_OUTPUT"
|
|
26
|
+
else
|
|
27
|
+
echo "::notice::Integration skipped — ROBLOX_OPEN_CLOUD_API_KEY not configured. See top of this file for setup."
|
|
28
|
+
fi
|
|
31
29
|
env:
|
|
32
30
|
KEY: $\{{ secrets.ROBLOX_OPEN_CLOUD_API_KEY }}
|
|
33
31
|
|
|
34
|
-
deploy:
|
|
35
|
-
needs: config-check
|
|
36
|
-
if: needs.config-check.outputs.enabled == 'true'
|
|
37
|
-
runs-on: ubuntu-latest
|
|
38
|
-
steps:
|
|
39
32
|
- name: Checkout repository
|
|
33
|
+
if: steps.check.outputs.enabled == 'true'
|
|
40
34
|
uses: actions/checkout@v6
|
|
41
35
|
|
|
36
|
+
- name: Fetch base branch for changeset diff
|
|
37
|
+
if: steps.check.outputs.enabled == 'true'
|
|
38
|
+
run: git fetch origin $\{{ github.base_ref }} --depth=1
|
|
39
|
+
|
|
42
40
|
- name: Setup Aftman
|
|
41
|
+
if: steps.check.outputs.enabled == 'true'
|
|
43
42
|
uses: ok-nick/setup-aftman@v0.4.2
|
|
44
43
|
with:
|
|
45
44
|
version: 'v0.3.0'
|
|
@@ -47,11 +46,13 @@ jobs:
|
|
|
47
46
|
cache: true
|
|
48
47
|
|
|
49
48
|
- name: Setup pnpm
|
|
49
|
+
if: steps.check.outputs.enabled == 'true'
|
|
50
50
|
uses: pnpm/action-setup@v4
|
|
51
51
|
with:
|
|
52
52
|
cache: true
|
|
53
53
|
|
|
54
54
|
- name: Setup npm for GitHub Packages
|
|
55
|
+
if: steps.check.outputs.enabled == 'true'
|
|
55
56
|
run: |
|
|
56
57
|
if [[ -n "$NPM_GITHUB_QUENTYSTUDIOS_TOKEN" ]]; then
|
|
57
58
|
echo "//npm.pkg.github.com/:_authToken=$NPM_GITHUB_QUENTYSTUDIOS_TOKEN" >> .npmrc
|
|
@@ -67,16 +68,19 @@ jobs:
|
|
|
67
68
|
NPM_TOKEN: $\{{ secrets.NPM_TOKEN }}
|
|
68
69
|
|
|
69
70
|
- name: Link and install packages
|
|
71
|
+
if: steps.check.outputs.enabled == 'true'
|
|
70
72
|
run: pnpm install --frozen-lockfile
|
|
71
73
|
|
|
72
|
-
- name: Deploy
|
|
73
|
-
id: deploy
|
|
74
|
-
|
|
74
|
+
- name: Deploy integration
|
|
75
|
+
id: deploy-integration
|
|
76
|
+
if: steps.check.outputs.enabled == 'true'
|
|
77
|
+
run: npx @quenty/nevermore-cli batch deploy --target integration --publish --base origin/$\{{ github.base_ref }} --output integration-results.json --yes --verbose --logs
|
|
75
78
|
env:
|
|
76
79
|
ROBLOX_OPEN_CLOUD_API_KEY: $\{{ secrets.ROBLOX_OPEN_CLOUD_API_KEY }}
|
|
80
|
+
GITHUB_TOKEN: $\{{ secrets.GITHUB_TOKEN }}
|
|
77
81
|
|
|
78
82
|
- name: Post deploy results
|
|
79
|
-
if: always()
|
|
80
|
-
run: npx @quenty/nevermore-cli tools post-deploy-results
|
|
83
|
+
if: always() && steps.check.outputs.enabled == 'true'
|
|
84
|
+
run: npx @quenty/nevermore-cli tools post-deploy-results integration-results.json --yes --run-outcome $\{{ steps.deploy-integration.outcome }}
|
|
81
85
|
env:
|
|
82
86
|
GITHUB_TOKEN: $\{{ secrets.GITHUB_TOKEN }}
|
|
@@ -7,35 +7,36 @@
|
|
|
7
7
|
# 1. Run `nevermore deploy init` to create deploy.nevermore.json with a test target
|
|
8
8
|
# 2. Add ROBLOX_OPEN_CLOUD_API_KEY as a repository secret
|
|
9
9
|
# (Create one at https://create.roblox.com/dashboard/credentials)
|
|
10
|
-
# 3. Tests will run automatically on pull requests
|
|
10
|
+
# 3. Tests will run automatically on pull requests and on push to main
|
|
11
11
|
#
|
|
12
12
|
# Docs: https://quenty.github.io/NevermoreEngine/docs/testing
|
|
13
13
|
|
|
14
14
|
name: tests
|
|
15
15
|
on:
|
|
16
16
|
pull_request:
|
|
17
|
+
push:
|
|
18
|
+
branches: [main]
|
|
17
19
|
jobs:
|
|
18
|
-
|
|
20
|
+
tests:
|
|
19
21
|
runs-on: ubuntu-latest
|
|
20
|
-
outputs:
|
|
21
|
-
enabled: $\{{ steps.check.outputs.enabled }}
|
|
22
22
|
steps:
|
|
23
23
|
- id: check
|
|
24
|
+
name: Check config
|
|
24
25
|
run: |
|
|
25
|
-
if [ -n "$KEY" ]; then
|
|
26
|
-
|
|
26
|
+
if [ -n "$KEY" ]; then
|
|
27
|
+
echo "enabled=true" >> "$GITHUB_OUTPUT"
|
|
28
|
+
else
|
|
29
|
+
echo "::notice::Tests skipped — ROBLOX_OPEN_CLOUD_API_KEY not configured. See top of this file for setup."
|
|
30
|
+
fi
|
|
27
31
|
env:
|
|
28
32
|
KEY: $\{{ secrets.ROBLOX_OPEN_CLOUD_API_KEY }}
|
|
29
33
|
|
|
30
|
-
tests:
|
|
31
|
-
needs: config-check
|
|
32
|
-
if: needs.config-check.outputs.enabled == 'true'
|
|
33
|
-
runs-on: ubuntu-latest
|
|
34
|
-
steps:
|
|
35
34
|
- name: Checkout repository
|
|
35
|
+
if: steps.check.outputs.enabled == 'true'
|
|
36
36
|
uses: actions/checkout@v6
|
|
37
37
|
|
|
38
38
|
- name: Setup Aftman
|
|
39
|
+
if: steps.check.outputs.enabled == 'true'
|
|
39
40
|
uses: ok-nick/setup-aftman@v0.4.2
|
|
40
41
|
with:
|
|
41
42
|
version: 'v0.3.0'
|
|
@@ -43,11 +44,13 @@ jobs:
|
|
|
43
44
|
cache: true
|
|
44
45
|
|
|
45
46
|
- name: Setup pnpm
|
|
47
|
+
if: steps.check.outputs.enabled == 'true'
|
|
46
48
|
uses: pnpm/action-setup@v4
|
|
47
49
|
with:
|
|
48
50
|
cache: true
|
|
49
51
|
|
|
50
52
|
- name: Setup npm for GitHub Packages
|
|
53
|
+
if: steps.check.outputs.enabled == 'true'
|
|
51
54
|
run: |
|
|
52
55
|
if [[ -n "$NPM_GITHUB_QUENTYSTUDIOS_TOKEN" ]]; then
|
|
53
56
|
echo "//npm.pkg.github.com/:_authToken=$NPM_GITHUB_QUENTYSTUDIOS_TOKEN" >> .npmrc
|
|
@@ -63,20 +66,22 @@ jobs:
|
|
|
63
66
|
NPM_TOKEN: $\{{ secrets.NPM_TOKEN }}
|
|
64
67
|
|
|
65
68
|
- name: Link and install packages
|
|
69
|
+
if: steps.check.outputs.enabled == 'true'
|
|
66
70
|
run: pnpm install --frozen-lockfile
|
|
67
71
|
|
|
68
72
|
- name: Run tests
|
|
69
73
|
id: run-tests
|
|
74
|
+
if: steps.check.outputs.enabled == 'true'
|
|
70
75
|
run: npx @quenty/nevermore-cli test --cloud --yes --verbose --logs --output test-results.json
|
|
71
76
|
env:
|
|
72
77
|
ROBLOX_OPEN_CLOUD_API_KEY: $\{{ secrets.ROBLOX_OPEN_CLOUD_API_KEY }}
|
|
73
78
|
|
|
74
79
|
- name: Build sourcemap for annotation resolution
|
|
75
|
-
if: always()
|
|
80
|
+
if: always() && steps.check.outputs.enabled == 'true'
|
|
76
81
|
run: npm run build:sourcemap
|
|
77
82
|
|
|
78
83
|
- name: Post test results
|
|
79
|
-
if: always()
|
|
84
|
+
if: always() && steps.check.outputs.enabled == 'true'
|
|
80
85
|
run: npx @quenty/nevermore-cli tools post-test-results test-results.json --yes --run-outcome $\{{ steps.run-tests.outcome }}
|
|
81
86
|
env:
|
|
82
87
|
GITHUB_TOKEN: $\{{ secrets.GITHUB_TOKEN }}
|