create-octokit-project
Version:
`npm init` script to create a new Octokit JS module (plugin, authentication strategy, or otherwise)
46 lines (40 loc) • 970 B
JavaScript
export { createTestAction };
import { writePrettyFile } from "./write-pretty-file.js";
async function createTestAction() {
await writePrettyFile(
".github/workflows/test.yml",
`name: Test
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize]
jobs:
test_matrix:
runs-on: ubuntu-latest
strategy:
matrix:
node_version: ["18", "20"]
steps:
- uses: actions/checkout@v3
- name: Use Node.js \${{ matrix.node_version }}
uses: actions/setup-node@v3
with:
node-version: \${{ matrix.node_version }}
cache: npm
- run: npm ci
- run: npm test --ignore-scripts # run lint only once
test:
runs-on: ubuntu-latest
needs: test_matrix
steps:
- run: exit 1
if: \${{ needs.test_matrix.result != 'success' }}
- uses: actions/checkout@v3
- run: npm ci
- run: npm run lint
if: \${{ always() }}
`,
);
}