diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 9cc01d60..a1e2ca7b 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -25,6 +25,8 @@ jobs: node-version: 15 - name: Setup metrics run: npm ci + - name: Check contributions requirements + run: npm test -- ci.test.js - name: Run linter run: npm run linter @@ -39,7 +41,7 @@ jobs: - name: Build lowlighter/metrics:${{ github.head_ref || 'master' }} run: docker build -t lowlighter/metrics:${{ github.head_ref || 'master' }} . - name: Run tests - run: docker run --workdir=/metrics --entrypoint="" lowlighter/metrics:${{ github.head_ref || 'master' }} npm test + run: docker run --workdir=/metrics --entrypoint="" lowlighter/metrics:${{ github.head_ref || 'master' }} npm test -- metrics.test.js # Run CodeQL on branch analyze: diff --git a/tests/ci.test.js b/tests/ci.test.js new file mode 100644 index 00000000..2dd12367 --- /dev/null +++ b/tests/ci.test.js @@ -0,0 +1,13 @@ +//Imports + const path = require("path") + const git = require("simple-git")(path.join(__dirname, "..")) + +//Check generated files editions + const diff = async () => (await git.diff("master...", ["--name-status"])).split("\n").map(x => x.trim()).filter(x => /^M\s+/.test(x)).map(x => x.replace(/^M\s+/, "")) + describe('Auto-generated files were not modified (use "git checkout @ -- file" if needed)', () => void test.each([ + "README.md", + "source/plugins/README.md", + "source/templates/README.md", + "action.yml", + "settings.example.json" + ])("%s", async file => expect((await diff()).includes(file)).toBe(false)))