Add terrain property to map style object (#3234) #21
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: Tests | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
workflow_dispatch: | |
permissions: | |
checks: write | |
pull-requests: write | |
contents: write | |
jobs: | |
code-hygiene: | |
name: Code Hygiene | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- run: npm ci | |
- run: npm run lint | |
if: success() || failure() | |
- run: npm run lint-css | |
if: success() || failure() | |
- run: npm run generate-typings | |
if: success() || failure() | |
- run: npm run typecheck | |
if: success() || failure() | |
- run: npm run generate-docs | |
- run: docker run --rm -v ${PWD}:/docs squidfunk/mkdocs-material build | |
unit-tests: | |
name: Unit tests and Coverage | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- name: Start display server | |
if: runner.os == 'Linux' | |
run: nohup Xvfb & | |
echo "DISPLAY=:0" >> $GITHUB_ENV | |
- run: npm ci | |
- run: npm run jest-ci -- --coverage --coverageReporters json text html-spa --selectProjects unit | |
- name: Upload unit test coverage | |
if: success() || failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: unit-test-coverage | |
path: ${{ github.workspace }}/coverage | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
files: ${{ github.workspace }}/coverage/coverage-final.json | |
verbose: true | |
integration-tests: | |
name: Integration tests | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- run: npm ci | |
- run: npm run build-dist | |
- uses: actions/upload-artifact@v3 | |
if: success() | |
with: | |
name: build-dist | |
path: dist/maplibre-gl.js | |
- run: npm run test-integration | |
if: success() || failure() | |
render-tests-ubuntu: | |
name: Render tests | |
env: | |
SPLIT_COUNT: 2 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
split: [0, 1] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- name: install CJK fonts for local ideographs render tests | |
run: sudo apt install fonts-noto-cjk | |
- run: npm ci | |
- name: Start display server | |
if: runner.os == 'Linux' | |
run: nohup Xvfb & | |
echo "DISPLAY=:0" >> $GITHUB_ENV | |
- run: npm run build-prod | |
- run: npm run test-render | |
env: | |
CURRENT_SPLIT_INDEX: ${{ matrix.split }} | |
if: success() || failure() | |
- name: Upload render test failure | |
if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: render-test-report-${{ matrix.os }}-${{ matrix.split }} | |
path: ${{ github.workspace }}/test/integration/render/results.html | |
render-tests-windows: | |
name: Render tests | |
env: | |
SPLIT_COUNT: 3 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest] | |
split: [0, 1, 2] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- run: npm ci | |
- name: Start display server | |
if: runner.os == 'Linux' | |
run: nohup Xvfb & | |
echo "DISPLAY=:0" >> $GITHUB_ENV | |
- run: npm run build-prod | |
- run: npm run test-render | |
env: | |
CURRENT_SPLIT_INDEX: ${{ matrix.split }} | |
if: success() || failure() | |
- name: Upload render test failure | |
if: failure() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: render-test-report-${{ matrix.os }}-${{ matrix.split }} | |
path: ${{ github.workspace }}/test/integration/render/results.html | |
build-tests: | |
name: Build tests | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- run: npm ci | |
- run: npm run build-dist | |
- run: npm run test-build | |
if: success() || failure() |