Integration check changes
This commit is contained in:
12
.github/pull_request_template.md
vendored
Normal file
12
.github/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<!--
|
||||||
|
Thank you very much for contributing to this repository !
|
||||||
|
|
||||||
|
Link any related issues (if applicable) to help us keeping track of this project current state.
|
||||||
|
Don't forget to run `npm run test` to ensure that you'll pass status checks validation.
|
||||||
|
-->
|
||||||
|
|
||||||
|
**Pull request description**
|
||||||
|
<!-- A clear and concise description of what your pull request implements or fixs. -->
|
||||||
|
|
||||||
|
**Additional context and screenshots**
|
||||||
|
<!-- Add any other context or screenshots about your pull request here. -->
|
||||||
3
.github/workflows/analysis.yml
vendored
3
.github/workflows/analysis.yml
vendored
@@ -18,7 +18,6 @@ jobs:
|
|||||||
uses: github/codeql-action/init@v1
|
uses: github/codeql-action/init@v1
|
||||||
with:
|
with:
|
||||||
languages: javascript
|
languages: javascript
|
||||||
|
config-file: ./.github/config/codeql.yml
|
||||||
- name: Analyze
|
- name: Analyze
|
||||||
uses: github/codeql-action/analyze@v1
|
uses: github/codeql-action/analyze@v1
|
||||||
with:
|
|
||||||
config-file: ./.github/config/codeql.yml
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# 📊 GitHub metrics
|
# 📊 GitHub metrics
|
||||||
|
|
||||||

|
 
|
||||||
|
|
||||||
Generates your own GitHub metrics as an SVG image to put them on your profile page or elsewhere !
|
Generates your own GitHub metrics as an SVG image to put them on your profile page or elsewhere !
|
||||||
See what it looks like below :
|
See what it looks like below :
|
||||||
|
|||||||
@@ -8,32 +8,38 @@
|
|||||||
import libxmljs from "libxmljs"
|
import libxmljs from "libxmljs"
|
||||||
import url from "url"
|
import url from "url"
|
||||||
|
|
||||||
//Dirname
|
//Initialization
|
||||||
const __dirname = path.join(path.dirname(url.fileURLToPath(import.meta.url)), "..", "action")
|
const __dirname = path.join(path.dirname(url.fileURLToPath(import.meta.url)), "..", "action")
|
||||||
|
|
||||||
//Die on unhandled rejections
|
|
||||||
process.on("unhandledRejection", error => { throw error })
|
process.on("unhandledRejection", error => { throw error })
|
||||||
|
|
||||||
//Load GitHub handlers
|
/** Test function */
|
||||||
const token = process.argv.slice(2)[0]
|
export default async function test() {
|
||||||
const graphql = octokit.graphql.defaults({headers:{authorization: `token ${token}`}})
|
//Load GitHub handlers
|
||||||
const rest = new OctokitRest.Octokit({auth:token})
|
const token = process.argv.slice(2)[0]
|
||||||
|
const graphql = octokit.graphql.defaults({headers:{authorization: `token ${token}`}})
|
||||||
|
const rest = new OctokitRest.Octokit({auth:token})
|
||||||
|
|
||||||
//Load svg template, style and query
|
//Load svg template, style and query
|
||||||
const [template, style, query] = await Promise.all(["template.svg", "style.css", "query.graphql"].map(async file => `${await fs.promises.readFile(path.join("src", file))}`))
|
const [template, style, query] = await Promise.all(["template.svg", "style.css", "query.graphql"].map(async file => `${await fs.promises.readFile(path.join("src", file))}`))
|
||||||
|
|
||||||
//Compute render
|
//Compute render
|
||||||
const rendered = await metrics({login:"lowlighter", q:{}}, {template, style, query, graphql, rest, plugins:{}})
|
const rendered = await metrics({login:"lowlighter", q:{}}, {template, style, query, graphql, rest, plugins:{}})
|
||||||
|
|
||||||
//Ensure it's a well-formed SVG image
|
//Ensure it's a well-formed SVG image
|
||||||
const parsed = libxmljs.parseXml(rendered)
|
const parsed = libxmljs.parseXml(rendered)
|
||||||
if (parsed.errors.length)
|
if (parsed.errors.length)
|
||||||
throw new Error(`Malformed SVG : \n${parsed.errors.join("\n")}`)
|
throw new Error(`Malformed SVG : \n${parsed.errors.join("\n")}`)
|
||||||
|
|
||||||
//Ensure that action has been rebuild
|
//Ensure that action has been rebuild
|
||||||
const action = `${await fs.promises.readFile(`${__dirname}/dist/index.js`)}`
|
const action = `${await fs.promises.readFile(`${__dirname}/dist/index.js`)}`
|
||||||
const code = await build()
|
const code = await build()
|
||||||
if (action !== code)
|
if (action !== code)
|
||||||
throw new Error(`GitHub Action has not been rebuild. Run "npm run build" to solve this issue`)
|
throw new Error(`GitHub Action has not been rebuild. Run "npm run build" to solve this issue`)
|
||||||
|
}
|
||||||
|
|
||||||
console.log("Test success !")
|
//Main
|
||||||
|
if (/metrics.mjs/.test(process.argv[1])) {
|
||||||
|
//Test
|
||||||
|
await test()
|
||||||
|
console.log("Test success !")
|
||||||
|
}
|
||||||
|
|||||||
@@ -4,8 +4,9 @@
|
|||||||
import url from "url"
|
import url from "url"
|
||||||
import ncc from "@vercel/ncc"
|
import ncc from "@vercel/ncc"
|
||||||
|
|
||||||
//Dirname
|
//Initialization
|
||||||
const __dirname = path.join(path.dirname(url.fileURLToPath(import.meta.url)), "..", "action")
|
const __dirname = path.join(path.dirname(url.fileURLToPath(import.meta.url)), "..", "action")
|
||||||
|
process.on("unhandledRejection", error => { throw error })
|
||||||
|
|
||||||
/** Build function */
|
/** Build function */
|
||||||
export default async function build() {
|
export default async function build() {
|
||||||
@@ -35,5 +36,5 @@
|
|||||||
if (/build.mjs/.test(process.argv[1])) {
|
if (/build.mjs/.test(process.argv[1])) {
|
||||||
//Save build
|
//Save build
|
||||||
await fs.promises.writeFile(`${__dirname}/dist/index.js`, await build())
|
await fs.promises.writeFile(`${__dirname}/dist/index.js`, await build())
|
||||||
console.log("Build successful !")
|
console.log("Build success !")
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user