Merge pull request #303 from zazuko/cube-ts #739
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
name: CI | |
on: push | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node: | |
- "18" | |
- "20" | |
package: | |
- base | |
- core | |
- cube | |
- csvw | |
- formats | |
- ftp | |
- graph-store | |
- http | |
- rdf | |
- s3 | |
- sparql | |
- shacl | |
- validation | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- run: npm ci | |
- run: npx c8 --all --src packages/${{ matrix.package }} -x "packages/!(${{ matrix.package }})" --reporter lcovonly --reporter text wsrun --no-prefix -p barnard59-${{ matrix.package }} -c test | |
- name: Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: barnard59-${{ matrix.package }} | |
type-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- run: npm ci | |
- run: npx wsrun -mc build | |
test-cli: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node: | |
- "18" | |
- "20" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- run: npm ci | |
- name: Compile TypeScript packages | |
run: npx wsrun -mc build --sourceMap | |
- run: npx c8 --all --src packages/cli -x "packages/!(cli)" --reporter lcovonly --reporter text wsrun --no-prefix -p barnard59 -c test | |
- name: Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: barnard59 | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- run: npm ci | |
- run: npm run lint | |
ensure-manifests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- run: npm ci | |
- run: node .github/ensureManifests.js | |
smoke-test-cli: | |
strategy: | |
fail-fast: false | |
matrix: | |
env: | |
- os: ubuntu-latest | |
node: 20 | |
- os: macos-latest | |
node: 20 | |
- os: windows-latest | |
node: 20.12.1 # Pinned, because of https://github.com/approvals/Approvals.NodeJS/issues/176 | |
runs-on: ${{ matrix.env.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.env.node }} | |
cache: npm | |
- run: npm ci | |
- run: npx barnard59 run test/e2e/definitions/file-loader.ttl | |
- run: npx barnard59 run test/e2e/definitions/foreach/with-handler.ttl | |
- run: npx barnard59 run test/e2e/definitions/foreach/with-variable.ttl --variable pattern="test/e2e/definitions/foreach/*" | |
- run: npx barnard59 run test/e2e/definitions/foreach/csv-duplicate.ttl --variable filename=test/e2e/data/test.csv | |
- run: npx barnard59 run test/e2e/definitions/world-clock/async.ttl | |
- run: npx barnard59 run test/e2e/definitions/world-clock/file.ttl | |
- run: npx barnard59 run test/e2e/definitions/world-clock/node.ttl | |
- run: npx barnard59 run test/e2e/definitions/code-imports/main.ttl | |
global-installation: | |
strategy: | |
fail-fast: false | |
matrix: | |
env: | |
- os: ubuntu-latest | |
node: 20 | |
- os: macos-latest | |
node: 20 | |
- os: windows-latest | |
node: 20.12.1 # Pinned, because of https://github.com/approvals/Approvals.NodeJS/issues/176 | |
runs-on: ${{ matrix.env.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.env.node }} | |
cache: npm | |
- run: npm ci | |
- name: pack all | |
run: npm pack -ws | |
- run: npm install -g barnard59-*.tgz | |
if: matrix.env.os == 'ubuntu-latest' || matrix.env.os == 'macos-latest' | |
- run: cmd /c npm install -g (Get-ChildItem -Filter barnard59-*.tgz).FullName | |
if: matrix.env.os == 'windows-latest' | |
- run: which barnard59 | |
- run: barnard59 --help | |
- run: barnard59 shacl validate --shapes test/support/pipeline-shapes.ttl < test/e2e/definitions/file-loader.ttl | |
if: matrix.env.os == 'ubuntu-latest' || matrix.os == 'macos-latest' | |
- run: barnard59 shacl validate --shapes test/support/pipeline-shapes.ttl < test/e2e/definitions/file-loader.ttl | |
if: matrix.env.os == 'windows-latest' | |
shell: cmd |