From d6cbb238884403b149df358269bea2c0de36eb54 Mon Sep 17 00:00:00 2001 From: Harvey Sanders Date: Fri, 23 Feb 2024 10:53:31 -0500 Subject: [PATCH 1/8] Log server before connecting --- src/nats.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/nats.ts b/src/nats.ts index b0d77b9..61e7fd3 100644 --- a/src/nats.ts +++ b/src/nats.ts @@ -13,6 +13,7 @@ export async function connectToMQ({ const urls = natsUrls?.split(',') ?? [] const servers = urls.map(s => s.trim()) + core.debug(`connecting to:\n${servers.join('\n')}`) const natsConn = await connect({ servers, authenticator: jwtAuthenticator(jwt, new TextEncoder().encode(nKeySeed)) From 1b0f0e64646b3be30f861923475a6683a1e38593 Mon Sep 17 00:00:00 2001 From: Harvey Sanders Date: Fri, 23 Feb 2024 10:53:41 -0500 Subject: [PATCH 2/8] Update package.json with new name and description --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 091fdae..224bfff 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,16 @@ { - "name": "typescript-action", - "description": "GitHub Actions TypeScript template", + "name": "action-nats-publish", + "description": "Publish a message to NATS servers", "version": "0.0.1-0", - "author": "", + "author": "OperationSpark", "private": true, - "homepage": "https://github.com/actions/typescript-action", + "homepage": "https://github.com/OperationSpark/action-nats-publish", "repository": { "type": "git", - "url": "git+https://github.com/actions/typescript-action.git" + "url": "git+https://github.com/OperationSpark/action-nats-publish.git" }, "bugs": { - "url": "https://github.com/actions/typescript-action/issues" + "url": "https://github.com/OperationSpark/action-nats-publish/issues" }, "keywords": [ "actions", From 2665cf5362ac8bc9387eeabc2fddf034e1f424de Mon Sep 17 00:00:00 2001 From: Harvey Sanders Date: Fri, 23 Feb 2024 10:59:35 -0500 Subject: [PATCH 3/8] npm audit fix --- package-lock.json | 104 +++++++++++++++++++++++----------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/package-lock.json b/package-lock.json index c326674..6586eb7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "typescript-action", + "name": "action-nats-publish", "version": "0.0.1-0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "typescript-action", + "name": "action-nats-publish", "version": "0.0.1-0", "license": "MIT", "dependencies": { @@ -75,12 +75,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -213,12 +213,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.10.tgz", - "integrity": "sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dev": true, "dependencies": { - "@babel/types": "^7.22.10", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -253,22 +253,22 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -351,18 +351,18 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" @@ -392,12 +392,12 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", - "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, @@ -477,9 +477,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.13.tgz", - "integrity": "sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -678,34 +678,34 @@ } }, "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", + "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.11.tgz", - "integrity": "sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", + "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.10", - "@babel/generator": "^7.22.10", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.11", - "@babel/types": "^7.22.11", - "debug": "^4.1.0", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -722,13 +722,13 @@ } }, "node_modules/@babel/types": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.11.tgz", - "integrity": "sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", + "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { From b0e14b83b91ca0ddcb61e0bd73e2aa4970d6a955 Mon Sep 17 00:00:00 2001 From: Harvey Sanders Date: Fri, 23 Feb 2024 11:39:09 -0500 Subject: [PATCH 4/8] Update tests --- __tests__/main.test.ts | 44 +++++++++++++++++++++++++++++++++++++++++- badges/coverage.svg | 2 +- dist/index.js | 1 + 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/__tests__/main.test.ts b/__tests__/main.test.ts index d8dae00..09104f0 100644 --- a/__tests__/main.test.ts +++ b/__tests__/main.test.ts @@ -13,7 +13,7 @@ import * as main from '../src/main' // Mock the GitHub Actions core library const debugMock = jest.spyOn(core, 'debug') const getInputMock = jest.spyOn(core, 'getInput') -// const setFailedMock = jest.spyOn(core, 'setFailed') +const setFailedMock = jest.spyOn(core, 'setFailed') const setOutputMock = jest.spyOn(core, 'setOutput') // Mock the action's main function @@ -74,6 +74,10 @@ describe('action', () => { // Verify that all of the core library functions were called correctly expect(debugMock).toHaveBeenNthCalledWith( 1, + 'connecting to:\nnats://localhost:4222' + ) + expect(debugMock).toHaveBeenNthCalledWith( + 2, `NATS connected to nats://localhost:4222` ) expect(setOutputMock).toHaveBeenNthCalledWith( @@ -82,4 +86,42 @@ describe('action', () => { `subject: subject.test, message: {"test": 1234}` ) }) + + it('Fails when a connection error occurs', async () => { + // Mock the NATS connection + const mockConnectImpl = async (): Promise => { + throw new Error('Invalid URL') + } + + connectMock.mockImplementation(mockConnectImpl) + + await main.run() + expect(runMock).toHaveReturned() + + expect(setFailedMock).toHaveBeenNthCalledWith(1, 'Invalid URL') + }) + + it('Fails when a connection close error occurs', async () => { + // Mock the NATS connection + const mockConnectImpl = async (): Promise => { + return { + info: { server_name: 'nats://localhost:4222' }, + publish: jest.fn(), + close: jest.fn(), + // Yes, closed() returns an Error rather than throwing one + closed: async () => new Error('connection already closed'), + drain: jest.fn() + } as unknown as nats.NatsConnection + } + + connectMock.mockImplementation(mockConnectImpl) + + await main.run() + expect(runMock).toHaveReturned() + + expect(debugMock).toHaveBeenNthCalledWith( + 5, + 'error closing:\nconnection already closed' + ) + }) }) diff --git a/badges/coverage.svg b/badges/coverage.svg index e9b2a42..5bb55be 100644 --- a/badges/coverage.svg +++ b/badges/coverage.svg @@ -1 +1 @@ -Coverage: 88.23%Coverage88.23% \ No newline at end of file +Coverage: 100%Coverage100% \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index b8b6555..116d0f1 100644 --- a/dist/index.js +++ b/dist/index.js @@ -19304,6 +19304,7 @@ const nats_1 = __nccwpck_require__(1954); async function connectToMQ({ urls: natsUrls, jwt, nKeySeed }) { const urls = natsUrls?.split(',') ?? []; const servers = urls.map(s => s.trim()); + core.debug(`connecting to:\n${servers.join('\n')}`); const natsConn = await (0, nats_1.connect)({ servers, authenticator: (0, nats_1.jwtAuthenticator)(jwt, new TextEncoder().encode(nKeySeed)) From 0594b12e8691b8478ce84473659e8ae3442fd9b5 Mon Sep 17 00:00:00 2001 From: Harvey Sanders Date: Fri, 23 Feb 2024 11:50:40 -0500 Subject: [PATCH 5/8] Update node, ignore fake JWT leak --- .github/workflows/check-dist.yml | 4 ++-- .github/workflows/ci.yml | 4 ++-- .github/workflows/linter.yml | 4 ++-- __tests__/main.test.ts | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index ec3814d..74c8dca 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -34,9 +34,9 @@ jobs: uses: actions/checkout@v4 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: npm - name: Install Dependencies diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aaaa327..1059077 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,9 +19,9 @@ jobs: - name: Setup Node.js id: setup-node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: npm - name: Install Dependencies diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 8c4daf6..60f06e9 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -25,9 +25,9 @@ jobs: - name: Setup Node.js id: setup-node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: npm - name: Install Dependencies diff --git a/__tests__/main.test.ts b/__tests__/main.test.ts index 09104f0..1df5d13 100644 --- a/__tests__/main.test.ts +++ b/__tests__/main.test.ts @@ -31,7 +31,7 @@ describe('action', () => { urls: 'nats://localhost:4222', message: '{"test": 1234}', nKeySeed: 'SNOTAREALNKEYSEED', - jwt: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' + jwt: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' // gitleaks:allow } it('Connects to NATS', async () => { From 873f0c53ce60cfc0ef5e774c18cdfc3c5ca3e292 Mon Sep 17 00:00:00 2001 From: Harvey Sanders Date: Fri, 23 Feb 2024 14:38:07 -0500 Subject: [PATCH 6/8] 0.0.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6586eb7..12b6ff1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "action-nats-publish", - "version": "0.0.1-0", + "version": "0.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "action-nats-publish", - "version": "0.0.1-0", + "version": "0.0.1", "license": "MIT", "dependencies": { "@actions/core": "^1.10.1", diff --git a/package.json b/package.json index 224bfff..52a0206 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "action-nats-publish", "description": "Publish a message to NATS servers", - "version": "0.0.1-0", + "version": "0.0.1", "author": "OperationSpark", "private": true, "homepage": "https://github.com/OperationSpark/action-nats-publish", From 933f61e9ec7abeab8e6648654103a8bfd9b4c083 Mon Sep 17 00:00:00 2001 From: Harvey Sanders Date: Fri, 23 Feb 2024 14:41:51 -0500 Subject: [PATCH 7/8] 0.0.2-0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 12b6ff1..885da3a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "action-nats-publish", - "version": "0.0.1", + "version": "0.0.2-0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "action-nats-publish", - "version": "0.0.1", + "version": "0.0.2-0", "license": "MIT", "dependencies": { "@actions/core": "^1.10.1", diff --git a/package.json b/package.json index 52a0206..844fa4e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "action-nats-publish", "description": "Publish a message to NATS servers", - "version": "0.0.1", + "version": "0.0.2-0", "author": "OperationSpark", "private": true, "homepage": "https://github.com/OperationSpark/action-nats-publish", From a8bfaf970f5ef04cb65b6c146fe0e79bfa964f0d Mon Sep 17 00:00:00 2001 From: Harvey Sanders Date: Fri, 23 Feb 2024 14:45:20 -0500 Subject: [PATCH 8/8] Skip NATS pub to live server --- .github/workflows/ci.yml | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1059077..164cfeb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,25 +40,25 @@ jobs: id: npm-ci-test run: npm run ci-test - test-action: - name: GitHub Actions Test - runs-on: ubuntu-latest + # test-action: + # name: GitHub Actions Test + # runs-on: ubuntu-latest - steps: - - name: Checkout - id: checkout - uses: actions/checkout@v4 + # steps: + # - name: Checkout + # id: checkout + # uses: actions/checkout@v4 - - name: Test Local Action - id: test-action - uses: ./ - with: - subject: 'github.actions.test' - message: '{"action": "action-nats-publish"}' - urls: tls://connect.ngs.global - jwt: ${{ secrets.NATS_CLIENT_JWT }} - nKeySeed: ${{ secrets.NATS_NKEY_SEED }} + # - name: Test Local Action + # id: test-action + # uses: ./ + # with: + # subject: 'github.actions.test' + # message: '{"action": "action-nats-publish"}' + # urls: tls://connect.ngs.global + # jwt: ${{ secrets.NATS_CLIENT_JWT }} + # nKeySeed: ${{ secrets.NATS_NKEY_SEED }} - - name: Print Output - id: output - run: echo "${{ steps.test-action.outputs.published }}" + # - name: Print Output + # id: output + # run: echo "${{ steps.test-action.outputs.published }}"