Bump cross-spawn from 7.0.3 to 7.0.6 in /common #1779
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will do a clean install of node dependencies and run tests across different versions of node | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: typescript / pr | |
on: pull_request | |
jobs: | |
precheck: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout PR | |
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 | |
with: | |
fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }} | |
- name: Get changed files | |
id: changed-files | |
run: | | |
if ${{ github.event_name == 'pull_request' }}; then | |
echo "changed_files=$(git diff --name-only --diff-filter=ACM -r HEAD^1 HEAD | xargs)" >> $GITHUB_OUTPUT | |
else | |
echo "changed_files=$(git diff --name-only --diff-filter=ACM ${{ github.event.before }} ${{ github.event.after }} | xargs)" >> $GITHUB_OUTPUT | |
fi | |
- name: Enable corepack to fix https://github.com/actions/setup-node/pull/901 | |
run: corepack enable yarn | |
- name: Use Node.js LTS (20.x) | |
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 | |
with: | |
node-version: 20.x | |
cache: 'yarn' | |
- name: Install project dependencies | |
run: corepack yarn install --immutable | |
- name: Run exercism/typescript ci precheck (stub files, config integrity) for changed exercises | |
run: corepack yarn node scripts/pr-check.mjs ${{ steps.changed-files.outputs.changed_files }} | |
ci: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
node-version: [20.x, 22.x] | |
steps: | |
- name: Checkout PR | |
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 | |
with: | |
fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }} | |
- name: Get changed files | |
id: changed-files | |
run: | | |
if ${{ github.event_name == 'pull_request' }}; then | |
echo "changed_files=$(git diff --name-only --diff-filter=ACM -r HEAD^1 HEAD | xargs)" >> $GITHUB_OUTPUT | |
else | |
echo "changed_files=$(git diff --name-only --diff-filter=ACM ${{ github.event.before }} ${{ github.event.after }} | xargs)" >> $GITHUB_OUTPUT | |
fi | |
- name: Enable corepack to fix https://github.com/actions/setup-node/pull/901 | |
run: corepack enable yarn | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'yarn' | |
- name: Install project dependencies | |
run: corepack yarn install --immutable | |
- name: Run exercism/typescript ci (runs tests) for changed/added exercises | |
run: corepack yarn node scripts/pr.mjs ${{ steps.changed-files.outputs.changed_files }} | |
impersonate: | |
# This job tries to run tests for the 'hello-world' exercise, but | |
# simulating what would happen if a student runs the tests standalone. | |
# We do this by removing all project files in the root. | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 | |
- name: Enable corepack to fix https://github.com/actions/setup-node/pull/901 | |
run: corepack enable yarn | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 | |
with: | |
node-version: 20.x | |
cache: 'yarn' | |
- name: Remove root project files | |
run: rm -f package.json yarn.lock .yarnrc.yml | |
- name: Move solution file so that tests pass | |
working-directory: exercises/practice/hello-world | |
run: | | |
rm -f hello-world.ts | |
cp ./.meta/proof.ci.ts hello-world.ts | |
- name: Install project dependencies | |
working-directory: exercises/practice/hello-world | |
run: corepack yarn install --no-immutable | |
- name: Run tests | |
working-directory: exercises/practice/hello-world | |
run: corepack yarn test |