Skip to content

experiment with detecting package.json #8

experiment with detecting package.json

experiment with detecting package.json #8

name: JavaScript Tests
on: [push]
jobs:
list-projects:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.build-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v2
- id: build-matrix
run: |
python -c '
import json
import os
projects = [p for p in os.listdir("javascript") if os.path.isfile(f"javascript/{p}/package.json")]
with open(os.getenv("GITHUB_OUTPUT", "w+")) as f:
f.write("matrix=")
json.dump(f, projects)
'
test-javascript:
needs: list-projects
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
project: ${{ fromJSON(needs.list-projects.outputs.matrix) }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
with:
node-version: '20.4.0'
- name: Run tests
run: |
set -exuo pipefail
npm install
npm run test
working-directory: "javascript/${{ matrix.project }}"