Compare commits

..
Author SHA1 Message Date
Jonathan Tamsut 9f5d9a024d revert newline for string and boolean types 2023-08-04 11:14:06 -07:00
Crystal Tenn 4ddbbc9db7 Merge pull request #28 from actions/dependabot/npm_and_yarn/yaml-2.2.2
Bump yaml from 2.1.3 to 2.2.2
2023-07-12 17:23:42 -04:00
Crystal Tenn 3ea2cf1829 Merge branch 'main' into dependabot/npm_and_yarn/yaml-2.2.2 2023-07-12 16:48:53 -04:00
Crystal Tenn 2c30f2f45f Merge pull request #47 from muzimuzhi/typo
Fix typos in workflow schema
2023-07-12 16:48:25 -04:00
Yukai Chou cf2d9cd0b9 Fix typos in workflow schema 2023-07-07 16:25:08 +08:00
Felipe Suero 8f2f59092e Merge pull request #46 from actions/release/0.3.6
Release version 0.3.6
2023-06-14 14:57:51 -04:00
GitHub Actions 5de89b0f8e Release extension version 0.3.6 2023-06-14 17:21:25 +00:00
Felipe Suero f4afa48ea4 Merge pull request #45 from actions/lerna-config-p2
Lerna config p2
2023-06-14 13:13:13 -04:00
Felipe Suero af5dd4b91e update gitignore 2023-06-14 12:43:13 -04:00
Felipe Suero 12d28370dc Explicitly state packages to upgrade 2023-06-14 12:42:49 -04:00
Felipe Suero 833b6fcac5 Explicitly state packages to upgrade 2023-06-14 12:42:36 -04:00
Felipe Suero cd7fabeb7f Merge pull request #44 from actions/felipesu19-patch-1
Update lerna.json
2023-06-14 12:03:35 -04:00
Felipe Suero 26da52bdf8 Update lerna.json
The current version of lerna doesn't use useWorkspaces anymore, defaulting to using the workspace config if one exists: 

```
ECONFIGWORKSPACES The "useWorkspaces" option has been removed. By default lerna will resolve your packages using your package manager's workspaces configuration. Alternatively, you can manually provide a list of package globs to be used instead via the "packages" option in lerna.json.
```
2023-06-14 11:28:36 -04:00
Felipe Suero 31aa95fb10 Merge pull request #43 from Olfi01/main
[languageserver] Enable support for GitHub Enterprise Server
2023-06-13 10:16:54 -04:00
Olfi01andChristopher Schleiden b912482163 Apply suggestions from code review
Changed parameter naming to match general pattern

Co-authored-by: Christopher Schleiden <[email protected]>
2023-05-25 00:57:30 +02:00
flmeyer 41436c6570 Use correct RequestError class 2023-05-19 16:34:58 +02:00
flmeyer 468b68840b Add try-catch to avoid failing requests
On GHES servers below version 3.8, the variables context is unavailable, resulting in 404 errors when calling the corresponding endpoint.
2023-05-12 22:42:09 +02:00
flmeyer 57a77551b0 Enable support for GitHub Enterprise Server 2023-05-08 17:00:05 +02:00
dependabot[bot] a34a500176 Bump yaml from 2.1.3 to 2.2.2
Bumps [yaml](https://github.com/eemeli/yaml) from 2.1.3 to 2.2.2.
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.1.3...v2.2.2)

---
updated-dependencies:
- dependency-name: yaml
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-05-05 17:48:24 +00:00
Felipe Suero d7ae6f88f1 Merge pull request #42 from actions/release/0.3.5
Release version 0.3.5
2023-05-05 13:47:40 -04:00
Felipe Suero 588c457cea Merge branch 'main' into release/0.3.5 2023-05-05 13:41:13 -04:00
Felipe Suero 82985934af Merge pull request #41 from actions/auto-generate-notes
correct bash script
2023-05-05 13:40:46 -04:00
GitHub Actions cb3ec583e0 Release extension version 0.3.5 2023-05-05 17:40:07 +00:00
Felipe Suero 7c3b116b19 correct bash script 2023-05-05 13:38:29 -04:00
Crystal Tenn 4a6134be6c Merge pull request #39 from activescott/patch-1
docs: fix WorkflowTemplate file link in readme
2023-05-03 14:56:25 -04:00
Felipe Suero 0080226132 Merge pull request #34 from actions/auto-generate-notes
add script
2023-05-03 14:51:53 -04:00
scott willeke 896f780991 docs: fix WorkflowTemplate file link in readme 2023-05-03 11:44:14 -07:00
Felipe Suero 63b170f2a6 Merge pull request #27 from actions/secrets-v2
Remove Secret Errors for dynamic environments
2023-05-03 14:20:33 -04:00
Felipe Suero 94451fa8f2 nits 2023-05-02 14:57:24 -04:00
Felipe Suero 41e05b8ad1 address nits 2023-05-02 14:54:11 -04:00
Felipe Suero 5362fb1841 its important to target the right repo 2023-05-02 13:11:55 -04:00
Felipe Suero 4e1f7cd9ac its important to target the right repo 2023-05-02 13:11:19 -04:00
Felipe Suero 5c785ab41b merge main in, port changes 2023-05-02 13:05:17 -04:00
Felipe Suero 9d246960f3 Merge branch 'main' of github.com:actions/languageservices into auto-generate-notes 2023-05-02 13:02:57 -04:00
Felipe Suero eefd820cc5 prettify 2023-05-02 11:50:51 -04:00
Felipe Suero 58712f4d46 prettify 2023-05-02 11:43:07 -04:00
Felipe Suero 0bd67083ff add comments 2023-05-02 11:23:48 -04:00
Felipe Suero 40c20d5504 handle the edge-cases 2023-05-02 11:22:00 -04:00
Felipe Suero 413ae51185 add script 2023-04-27 13:03:45 -04:00
Felipe Suero c4d478d459 commiting instead of stashing 2023-04-26 11:57:08 -04:00
Felipe Suero 9945ec321b why does this not work? 2023-04-25 10:00:29 -04:00
20 changed files with 139 additions and 200 deletions
+3 -1
View File
@@ -51,9 +51,11 @@ jobs:
- name: Create PR
run: |
LAST_PR=$(gh pr list --repo ${{ github.repository }} --limit 1 --state merged --search "Release version" --json number | jq -r '.[0].number')
./script/workflows/generate-release-notes.sh $LAST_PR ${{ env.new_version }}
gh pr create \
--title "Release version ${{ env.new_version }}" \
--body "Release version ${{ env.new_version }}" \
--body-file releasenotes.md \
--base main \
--head release/${{ env.new_version }}
env:
+1 -1
View File
@@ -1,5 +1,5 @@
*/node_modules
*/dist
lerna-debug.log
node_modules
.DS_Store
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@actions/expressions",
"version": "0.3.4",
"version": "0.3.6",
"license": "MIT",
"type": "module",
"source": "./src/index.ts",
+3 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@actions/languageserver",
"version": "0.3.4",
"version": "0.3.6",
"description": "Language server for GitHub Actions",
"license": "MIT",
"type": "module",
@@ -43,15 +43,12 @@
"watch": "tsc --build tsconfig.build.json --watch"
},
"dependencies": {
"@actions/languageservice": "^0.3.4",
"@actions/workflow-parser": "^0.3.4",
"@actions/languageservice": "^0.3.6",
"@actions/workflow-parser": "^0.3.6",
"@octokit/rest": "^19.0.7",
"@octokit/types": "^9.0.0",
"@roamhq/mac-ca": "^1.0.7",
"node-forge": "^1.3.1",
"vscode-languageserver": "^8.0.2",
"vscode-languageserver-textdocument": "^1.0.7",
"win-ca": "^3.5.0",
"yaml": "^2.1.3"
},
"engines": {
-35
View File
@@ -1,35 +0,0 @@
export class CertificateReader {
getAllRootCAs(): string[] {
switch (process.platform) {
case "darwin":
return this.getMacOSCerts();
case "win32":
return this.getWindowsCerts();
default:
// We only support self-signed certs from Windows anc MacOS
return [];
}
}
private getMacOSCerts(): string[] {
// loading modules here prevents unnecessary module loading
// see: https://stackoverflow.com/questions/9132772/lazy-loading-in-node-js
const macCa = require("@roamhq/mac-ca");
const forge = require("node-forge");
return macCa.all().map((cert: any) => forge.pki.certificateToPem(cert));
}
private getWindowsCerts(): string[] {
const ca = require("win-ca");
let rootCAs: string[] = [];
ca({
format: ca.der2.pem,
ondata: (crt: string) => rootCAs.push(crt)
});
return rootCAs;
}
}
+6 -24
View File
@@ -1,27 +1,9 @@
import {Octokit} from "@octokit/rest";
import {Agent} from "node:https";
import {CertificateReader} from "./certificate-reader";
export function getClient(token: string, userAgent?: string): Octokit {
const certReader = new CertificateReader();
const selfSignedCerts = certReader.getAllRootCAs();
if (selfSignedCerts.length > 0) {
const httpsAgent = new Agent({
ca: selfSignedCerts
});
return new Octokit({
auth: token,
userAgent: userAgent || `GitHub Actions Language Server`,
request: {
agent: httpsAgent
}
});
} else {
return new Octokit({
auth: token,
userAgent: userAgent || `GitHub Actions Language Server`
});
}
export function getClient(token: string, userAgent?: string, apiUrl?: string): Octokit {
return new Octokit({
auth: token,
userAgent: userAgent || `GitHub Actions Language Server`,
baseUrl: apiUrl
});
}
+1 -1
View File
@@ -51,7 +51,7 @@ export function initConnection(connection: Connection) {
const options = params.initializationOptions as InitializationOptions;
if (options.sessionToken) {
client = getClient(options.sessionToken, options.userAgent);
client = getClient(options.sessionToken, options.userAgent, options.gitHubApiUrl);
}
if (options.repos) {
@@ -28,6 +28,7 @@ export async function getSecrets(
}
const eventsConfig = workflowContext?.template?.events;
if (eventsConfig?.workflow_call) {
// Unpredictable secrets may be passed in via a workflow_call trigger
secretsContext.complete = false;
@@ -38,6 +39,7 @@ export async function getSecrets(
}
let environmentName: string | undefined;
if (workflowContext?.job?.environment) {
if (isString(workflowContext.job.environment)) {
environmentName = workflowContext.job.environment.value;
@@ -46,10 +48,17 @@ export async function getSecrets(
if (isString(x.key) && x.key.value === "name") {
if (isString(x.value)) {
environmentName = x.value.value;
} else {
// this means we have a dynamic enviornment, in those situations we
// want to make sure we skip doing secret validation
secretsContext.complete = false;
}
break;
}
}
} else {
// if the expression is something like environment: ${{ ... }} then we want to skip validation
secretsContext.complete = false;
}
}
@@ -2,9 +2,10 @@ import {data, DescriptionDictionary} from "@actions/expressions";
import {Pair} from "@actions/expressions/data/expressiondata";
import {StringData} from "@actions/expressions/data/index";
import {WorkflowContext} from "@actions/languageservice/context/workflow-context";
import {warn} from "@actions/languageservice/log";
import {log, warn} from "@actions/languageservice/log";
import {isMapping, isString} from "@actions/workflow-parser";
import {Octokit} from "@octokit/rest";
import {RequestError} from "@octokit/request-error";
import {RepositoryContext} from "../initializationOptions";
import {TTLCache} from "../utils/cache";
@@ -42,50 +43,58 @@ export async function getVariables(
}
const variablesContext = defaultContext || new DescriptionDictionary();
const variables = await getRemoteVariables(octokit, cache, repo, environmentName);
try {
const variables = await getRemoteVariables(octokit, cache, repo, environmentName);
// Build combined map of variables
const variablesMap = new Map<
string,
{
key: string;
value: data.StringData;
description?: string;
}
>();
// Build combined map of variables
const variablesMap = new Map<
string,
{
key: string;
value: data.StringData;
description?: string;
}
>();
variables.organizationVariables.forEach(variable =>
variablesMap.set(variable.key.toLowerCase(), {
key: variable.key,
value: new data.StringData(variable.value.coerceString()),
description: `${variable.value.coerceString()} - Organization variable`
})
);
variables.organizationVariables.forEach(variable =>
variablesMap.set(variable.key.toLowerCase(), {
key: variable.key,
value: new data.StringData(variable.value.coerceString()),
description: `${variable.value.coerceString()} - Organization variable`
})
);
// Override org variables with repo variables
variables.repoVariables.forEach(variable =>
variablesMap.set(variable.key.toLowerCase(), {
key: variable.key,
value: new data.StringData(variable.value.coerceString()),
description: `${variable.value.coerceString()} - Repository variable`
})
);
// Override org variables with repo variables
variables.repoVariables.forEach(variable =>
variablesMap.set(variable.key.toLowerCase(), {
key: variable.key,
value: new data.StringData(variable.value.coerceString()),
description: `${variable.value.coerceString()} - Repository variable`
})
);
// Override repo variables with environment veriables (if defined)
variables.environmentVariables.forEach(variable =>
variablesMap.set(variable.key.toLowerCase(), {
key: variable.key,
value: new data.StringData(variable.value.coerceString()),
description: `${variable.value.coerceString()} - Variable for environment \`${environmentName || ""}\``
})
);
// Override repo variables with environment veriables (if defined)
variables.environmentVariables.forEach(variable =>
variablesMap.set(variable.key.toLowerCase(), {
key: variable.key,
value: new data.StringData(variable.value.coerceString()),
description: `${variable.value.coerceString()} - Variable for environment \`${environmentName || ""}\``
})
);
// Sort variables by key and add to context
Array.from(variablesMap.values())
.sort((a, b) => a.key.localeCompare(b.key))
.forEach(variable => variablesContext?.add(variable.key, variable.value, variable.description));
// Sort variables by key and add to context
Array.from(variablesMap.values())
.sort((a, b) => a.key.localeCompare(b.key))
.forEach(variable => variablesContext?.add(variable.key, variable.value, variable.description));
return variablesContext;
return variablesContext;
} catch (e) {
if (!(e instanceof RequestError)) throw e;
if (e.name == "HttpError" && e.status == 404) {
log("Failure to request variables. Ignore if you're using GitHub Enterprise Server below version 3.8");
return variablesContext;
} else throw e;
}
}
export async function getRemoteVariables(
@@ -23,6 +23,11 @@ export interface InitializationOptions {
* Desired log level
*/
logLevel?: LogLevel;
/**
* If a GitHub Enterprise Server should be used, the URL of the API endpoint, eg "https://ghe.my-company.com/api/v3"
*/
gitHubApiUrl?: string;
}
export interface RepositoryContext {
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@actions/languageservice",
"version": "0.3.4",
"version": "0.3.6",
"description": "Language service for GitHub Actions",
"license": "MIT",
"type": "module",
@@ -44,8 +44,8 @@
"watch": "tsc --build tsconfig.build.json --watch"
},
"dependencies": {
"@actions/expressions": "^0.3.4",
"@actions/workflow-parser": "^0.3.4",
"@actions/expressions": "^0.3.6",
"@actions/workflow-parser": "^0.3.6",
"vscode-languageserver-textdocument": "^1.0.7",
"vscode-languageserver-types": "^3.17.2",
"vscode-uri": "^3.0.7",
-12
View File
@@ -474,15 +474,3 @@ jobs:
expect(result.filter(x => x.label === "concurrency").map(x => x.textEdit?.newText)).toEqual(["concurrency"]);
});
});
it("adds a new line and indentation for mapping keys", async () => {
const input = "concurrency: |";
const result = await complete(...getPositionFromCursor(input));
expect(result.filter(x => x.label === "cancel-in-progress").map(x => x.textEdit?.newText)).toEqual([
"\n cancel-in-progress: "
]);
expect(result.filter(x => x.label === "group").map(x => x.textEdit?.newText)).toEqual(["\n group: "]);
});
});
@@ -71,10 +71,6 @@ function mappingValues(
// No special insertText in this case
break;
case DefinitionType.String:
case DefinitionType.Boolean:
insertText = `\n${indentation}${key}: `;
break;
default:
insertText = `${key}: `;
}
+7 -2
View File
@@ -1,5 +1,10 @@
{
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
"useWorkspaces": true,
"version": "0.3.4"
"packages": [
"expressions",
"workflow-parser",
"languageservice",
"languageserver"
],
"version": "0.3.6"
}
+14 -66
View File
@@ -135,7 +135,7 @@
},
"expressions": {
"name": "@actions/expressions",
"version": "0.3.4",
"version": "0.3.6",
"license": "MIT",
"devDependencies": {
"@types/jest": "^29.0.3",
@@ -395,18 +395,15 @@
},
"languageserver": {
"name": "@actions/languageserver",
"version": "0.3.4",
"version": "0.3.6",
"license": "MIT",
"dependencies": {
"@actions/languageservice": "^0.3.4",
"@actions/workflow-parser": "^0.3.4",
"@actions/languageservice": "^0.3.6",
"@actions/workflow-parser": "^0.3.6",
"@octokit/rest": "^19.0.7",
"@octokit/types": "^9.0.0",
"@roamhq/mac-ca": "^1.0.7",
"node-forge": "^1.3.1",
"vscode-languageserver": "^8.0.2",
"vscode-languageserver-textdocument": "^1.0.7",
"win-ca": "^3.5.0",
"yaml": "^2.1.3"
},
"devDependencies": {
@@ -681,11 +678,11 @@
},
"languageservice": {
"name": "@actions/languageservice",
"version": "0.3.4",
"version": "0.3.6",
"license": "MIT",
"dependencies": {
"@actions/expressions": "^0.3.4",
"@actions/workflow-parser": "^0.3.4",
"@actions/expressions": "^0.3.6",
"@actions/workflow-parser": "^0.3.6",
"vscode-languageserver-textdocument": "^1.0.7",
"vscode-languageserver-types": "^3.17.2",
"vscode-uri": "^3.0.7",
@@ -3698,14 +3695,6 @@
"typescript": "^3 || ^4"
}
},
"node_modules/@roamhq/mac-ca": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@roamhq/mac-ca/-/mac-ca-1.0.7.tgz",
"integrity": "sha512-AOHGY1R0pH+dWJueA5i1gx2V19CLfDa8ojanhyd5ZSI/YDZ3szDr0NSDntFgWGKsvT4TtvNZfDWmXuwbSY9fTg==",
"dependencies": {
"node-forge": "^1.3.1"
}
},
"node_modules/@sinclair/typebox": {
"version": "0.24.51",
"dev": true,
@@ -7009,11 +6998,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-electron": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz",
"integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg=="
},
"node_modules/is-extglob": {
"version": "2.1.1",
"dev": true,
@@ -8726,14 +8710,6 @@
}
}
},
"node_modules/node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"engines": {
"node": ">= 6.13.0"
}
},
"node_modules/node-gyp": {
"version": "9.3.0",
"dev": true,
@@ -10712,6 +10688,7 @@
},
"node_modules/split": {
"version": "1.0.1",
"dev": true,
"license": "MIT",
"dependencies": {
"through": "2"
@@ -10977,6 +10954,7 @@
},
"node_modules/through": {
"version": "2.3.8",
"dev": true,
"license": "MIT"
},
"node_modules/through2": {
@@ -11491,37 +11469,6 @@
"string-width": "^1.0.2 || 2 || 3 || 4"
}
},
"node_modules/win-ca": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/win-ca/-/win-ca-3.5.0.tgz",
"integrity": "sha512-0TgO/+2iz2pS3OxBy2ikovPHOYyZRdLRxRTT9ze7DpZwEpaahLFOBuac93GM3lYEVzDyf8fXskJjIX/EILvkhQ==",
"hasInstallScript": true,
"dependencies": {
"is-electron": "^2.2.0",
"make-dir": "^1.3.0",
"node-forge": "^1.2.1",
"split": "^1.0.1"
}
},
"node_modules/win-ca/node_modules/make-dir": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
"dependencies": {
"pify": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/win-ca/node_modules/pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
"engines": {
"node": ">=4"
}
},
"node_modules/word-wrap": {
"version": "1.2.3",
"dev": true,
@@ -11721,8 +11668,9 @@
"license": "ISC"
},
"node_modules/yaml": {
"version": "2.1.3",
"license": "ISC",
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz",
"integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==",
"engines": {
"node": ">= 14"
}
@@ -11773,10 +11721,10 @@
},
"workflow-parser": {
"name": "@actions/workflow-parser",
"version": "0.3.4",
"version": "0.3.6",
"license": "MIT",
"dependencies": {
"@actions/expressions": "^0.3.4",
"@actions/expressions": "^0.3.6",
"cronstrue": "^2.21.0",
"yaml": "^2.0.0-8"
},
+1
View File
@@ -0,0 +1 @@
Release 0.3.5
+32
View File
@@ -0,0 +1,32 @@
#!/bin/bash
# this script is used to generate release notes for a given release
# first argument is the pull request id for the last release
# the second is the new release number
# the script then grabs every pull request merged since that pull request
# and outputs a string of release notes
# get the new release number
NEW_RELEASE=$2
echo "Generating release notes for $NEW_RELEASE"
# get the last release pull request id
LAST_RELEASE_PR=$1
#get when the last release was merged
LAST_RELEASE_MERGED_AT=$(gh pr view $LAST_RELEASE_PR --repo actions/languageservices --json mergedAt | jq -r '.mergedAt')
CHANGELIST=$(gh pr list --repo actions/languageservices --base main --state merged --json title --search "merged:>$LAST_RELEASE_MERGED_AT -label:no-release")
# store the release notes in a variable so we can use it later
echo "Release $NEW_RELEASE" >> releasenotes.md
echo $CHANGELIST | jq -r '.[].title' | while read line; do
echo " - $line" >> releasenotes.md
done
echo " "
+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
);
```
`convertWorkflowTemplate` then takes that intermediate representation and converts it to a [`WorkflowTemplate`](./src/workflow-template.ts) object, which is a more convenient representation for working with workflows.
`convertWorkflowTemplate` then takes that intermediate representation and converts it to a [`WorkflowTemplate`](./src/model/workflow-template.ts) object, which is a more convenient representation for working with workflows.
```typescript
const workflowTemplate = await convertWorkflowTemplate(result.context, result.value);
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@actions/workflow-parser",
"version": "0.3.4",
"version": "0.3.6",
"license": "MIT",
"type": "module",
"source": "./src/index.ts",
@@ -43,7 +43,7 @@
"watch": "tsc --build tsconfig.build.json --watch"
},
"dependencies": {
"@actions/expressions": "^0.3.4",
"@actions/expressions": "^0.3.6",
"cronstrue": "^2.21.0",
"yaml": "^2.0.0-8"
},
+2 -2
View File
@@ -1183,7 +1183,7 @@
]
},
"workflow-run-activity": {
"description": "The types of workflow run activity that trigger the workflow. Suupported activity types: `completed`, `requested`, `in_progress`.",
"description": "The types of workflow run activity that trigger the workflow. Supported activity types: `completed`, `requested`, `in_progress`.",
"one-of": [
"workflow-run-activity-type",
"workflow-run-activity-types"
@@ -2489,7 +2489,7 @@
"string": {
"require-non-empty": true
},
"description": "Use `shell` to override the default shell settings in the runner's operating system. You can use built-in shell keywords, or you can define a custom set of shell options. The shell command that is run internally executes a temporary file that contains the comands specified in `run`."
"description": "Use `shell` to override the default shell settings in the runner's operating system. You can use built-in shell keywords, or you can define a custom set of shell options. The shell command that is run internally executes a temporary file that contains the commands specified in `run`."
},
"working-directory": {
"string": {