From b726232fd7c0adf199970d2c74148c09e00c1de4 Mon Sep 17 00:00:00 2001 From: Eebs Kobeissi Date: Fri, 23 Aug 2019 10:13:22 -0400 Subject: [PATCH] Fetch configuration content from PR ref (#8) * Fetch configuration content from PR ref Fixes #6 When fetching the configuration content from the file specified by `configuration-path`, we should load the content from the ref of the PR. By default, `repos.getContents` will [use the repository's default branch][1] if no `ref` is specified. When first configuring this action, assuming the configuration file is added in the same PR as the action, the configuration file will not exist on the default branch. This causes an `HttpError: Not Found` to occur when attempting to load the configuration from the default branch. This commit updates the call to `getContents` to add the `ref` parameter, set to the `GITHUB_SHA` value from the context. This will cause the action to load the contents of the configuration file from the ref of the PR, rather than the default branch. --- This PR also updates the packages to use version 1.0.0 of all the toolkit action packages, as they were using local files before. I noticed that `src/main.ts` is not formatted according to the prettier rules. I'm happy to open another PR that applies prettier to the current source. I had to disable prettier during implementation of this commit in order to keep the changes relevant to this PR. [1]: https://developer.github.com/v3/repos/contents/#get-contents * Remove exec, io, tool-cache --- package-lock.json | 97 ++++++++++------------------------------------- package.json | 7 +--- src/main.ts | 3 +- 3 files changed, 25 insertions(+), 82 deletions(-) diff --git a/package-lock.json b/package-lock.json index c428d868..700beaa6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,41 +1,23 @@ { - "name": "node12-template-action", - "version": "0.0.0", + "name": "labeler", + "version": "2.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { "@actions/core": { - "version": "file:toolkit/actions-core-0.0.0.tgz", - "integrity": "sha512-P+mC79gXC2yvyU0+RDctxKUI1Q3tNruB+aSmFI47j2H0DylxtDEgycW9WXwt/zCY62lfwfvBoGKpuJRvFHDqpw==" - }, - "@actions/exec": { - "version": "file:toolkit/actions-exec-0.0.0.tgz", - "integrity": "sha512-HHObusC4p1RElxIlrrN0sY/cweBYl+jKm3J/XWHPQZMipgJXB/dkVhUfl4KqH3Vim7oM2KjCGSfn+vTYrqVH3A==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.0.0.tgz", + "integrity": "sha512-aMIlkx96XH4E/2YZtEOeyrYQfhlas9jIRkfGPqMwXD095Rdkzo4lB6ZmbxPQSzD+e1M+Xsm98ZhuSMYGv/AlqA==" }, "@actions/github": { - "version": "file:toolkit/actions-github-0.0.0.tgz", - "integrity": "sha512-CByX5VIagC5BqGwsHD9Qt5MfN+H6GDC9qQl+MIUipaHTc89sUG/vAY/xQDS9vxuuRwrxbdERwKO3dR6U1BSziw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-1.0.0.tgz", + "integrity": "sha512-PPbWZ5wFAD/Vr+RCECfR3KNHjTwYln4liJBihs9tQUL0/PCFqB2lSkIh9V94AcZFHxgKk8snImjuLaBE8bKR7A==", "requires": { "@octokit/graphql": "^2.0.1", "@octokit/rest": "^16.15.0" } }, - "@actions/io": { - "version": "file:toolkit/actions-io-0.0.0.tgz", - "integrity": "sha512-BZqiiacJkzERkYIMUQWrujLZWSFHEA6bD/LzR7QSDHpx32+PPk7NaUNmt8CG+y+OlYPc/ZZGaY3368K1ppfptA==" - }, - "@actions/tool-cache": { - "version": "file:toolkit/actions-tool-cache-0.0.0.tgz", - "integrity": "sha512-CCJjXKGfqR34oo1mgKpUk63g3fcoIq+aNJBZ7b73aWGot0ddju2cefJrKjhEun4FI7gYsLYg+ayAUnbFwkGd4Q==", - "requires": { - "@actions/core": "^0.0.0", - "@actions/exec": "^0.0.0", - "@actions/io": "^0.0.0", - "semver": "^6.1.0", - "typed-rest-client": "^1.4.0", - "uuid": "^3.3.2" - } - }, "@babel/code-frame": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", @@ -1907,8 +1889,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -1929,14 +1910,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1951,20 +1930,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -2081,8 +2057,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -2094,7 +2069,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2109,7 +2083,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -2117,14 +2090,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -2143,7 +2114,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -2224,8 +2194,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -2237,7 +2206,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -2323,8 +2291,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -2360,7 +2327,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2380,7 +2346,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -2424,14 +2389,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -5317,11 +5280,6 @@ } } }, - "tunnel": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz", - "integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM=" - }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -5352,15 +5310,6 @@ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true }, - "typed-rest-client": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.5.0.tgz", - "integrity": "sha512-DVZRlmsfnTjp6ZJaatcdyvvwYwbWvR4YDNFDqb+qdTxpvaVP99YCpBkA8rxsLtAPjBVoDe4fNsnMIdZTiPuKWg==", - "requires": { - "tunnel": "0.0.4", - "underscore": "1.8.3" - } - }, "typescript": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", @@ -5378,11 +5327,6 @@ "source-map": "~0.6.1" } }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -5494,7 +5438,8 @@ "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true }, "validate-npm-package-license": { "version": "3.0.4", diff --git a/package.json b/package.json index 7eb58fc1..93e4716d 100644 --- a/package.json +++ b/package.json @@ -22,11 +22,8 @@ "author": "GitHub", "license": "MIT", "dependencies": { - "@actions/core": "file:toolkit/actions-core-0.0.0.tgz", - "@actions/exec": "file:toolkit/actions-exec-0.0.0.tgz", - "@actions/github": "file:toolkit/actions-github-0.0.0.tgz", - "@actions/io": "file:toolkit/actions-io-0.0.0.tgz", - "@actions/tool-cache": "file:toolkit/actions-tool-cache-0.0.0.tgz", + "@actions/core": "^1.0.0", + "@actions/github": "^1.0.0", "js-yaml": "^3.13.1", "minimatch": "^3.0.4", "semver": "^6.1.1" diff --git a/src/main.ts b/src/main.ts index acc9cea1..1433f6b9 100644 --- a/src/main.ts +++ b/src/main.ts @@ -92,7 +92,8 @@ async function fetchContent( const response = await client.repos.getContents({ owner: github.context.repo.owner, repo: github.context.repo.repo, - path: repoPath + path: repoPath, + ref: github.context.sha }); return Buffer.from(response.data.content, 'base64').toString();