From c2a3c82ef7f726da8f74491db4941d951579e3df Mon Sep 17 00:00:00 2001 From: Ulises Gascon Date: Sat, 18 Jan 2025 20:59:06 +0100 Subject: [PATCH] feat: add GitHub CI workflow --- .github/workflows/ci.yml | 51 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..81fffae --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,51 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +permissions: + contents: read + +jobs: + build: + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + # TODO: Include Node@22 and Node@23 when https://github.com/yeoman/yo/issues/842 is resolved + # TODO: Include Node@19, Node@20, Node@21 when https://github.com/yeoman/doctor/issues/67 is resolved + # TODO: Include windows-latest when https://github.com/yeoman/doctor/issues/69 is resolved + matrix: + os: [ubuntu-latest, macos-latest] + node: [12, 13, 14, 15, 16, 17, 18] + # Avoid Error: Unable to find Node versions for platform darwin and architecture arm64: + exclude: + - os: macos-latest + node: 12 + - os: macos-latest + node: 13 + - os: macos-latest + node: 14 + - os: macos-latest + node: 15 + + steps: + - name: Checkout repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Setup Node.js + uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2 + with: + node-version: ${{ matrix.node }} + + - name: Install dependencies + run: npm install + + - name: Install YO + run: npm install -g yo + + - name: Run tests + run: npm test \ No newline at end of file