98 lines
3.6 KiB
YAML
Raw Normal View History

name: Lint
on:
2023-07-02 10:03:31 +05:30
push:
merge_group:
pull_request:
2022-12-15 21:50:00 +05:30
workflow_dispatch:
2024-08-24 15:04:14 +05:30
concurrency: ${{ github.workflow }}-${{ github.ref }}
permissions:
2022-12-07 11:19:44 +05:30
contents: write
jobs:
2024-08-24 08:10:52 +00:00
docker-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf # v3.1.0
with:
verbose: true
lint:
runs-on: ubuntu-latest
steps:
2024-08-24 09:26:49 +00:00
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
2022-09-03 13:41:25 +05:30
2024-08-24 09:26:49 +00:00
- uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
# uses version from "packageManager" field in package.json
- name: Setup Node.js
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
2022-09-03 13:41:25 +05:30
with:
cache: pnpm
node-version-file: '.node-version'
2022-09-03 13:41:25 +05:30
- name: Install Packages
run: |
pnpm install --frozen-lockfile
2022-09-03 13:41:25 +05:30
env:
CYPRESS_CACHE_FOLDER: .cache/Cypress
- name: Run Linting
shell: bash
run: |
if ! pnpm run lint; then
# print a nice error message on lint failure
ERROR_MESSAGE='Running `pnpm run lint` failed.'
2023-05-09 10:24:05 +05:30
ERROR_MESSAGE+=' Running `pnpm -w run lint:fix` may fix this issue. '
ERROR_MESSAGE+=" If this error doesn't occur on your local machine,"
ERROR_MESSAGE+=' make sure your packages are up-to-date by running `pnpm install`.'
ERROR_MESSAGE+=' You may also need to delete your prettier cache by running'
ERROR_MESSAGE+=' `rm ./node_modules/.cache/prettier/.prettier-cache`.'
echo "::error title=Lint failure::${ERROR_MESSAGE}"
# make sure to return an error exitcode so that GitHub actions shows a red-cross
exit 1
fi
2022-09-03 13:41:25 +05:30
- name: Verify `./src/config.type.ts` is in sync with `./src/schemas/config.schema.yaml`
shell: bash
run: |
if ! pnpm run --filter mermaid types:verify-config; then
ERROR_MESSAGE='Running `pnpm run --filter mermaid types:verify-config` failed.'
ERROR_MESSAGE+=' This should be fixed by running'
ERROR_MESSAGE+=' `pnpm run --filter mermaid types:build-config`'
ERROR_MESSAGE+=' on your local machine.'
echo "::error title=Lint failure::${ERROR_MESSAGE}"
# make sure to return an error exitcode so that GitHub actions shows a red-cross
exit 1
fi
- name: Verify no circular dependencies
working-directory: ./packages/mermaid
shell: bash
run: |
if ! pnpm run --filter mermaid checkCircle; then
ERROR_MESSAGE='Circular dependency detected.'
ERROR_MESSAGE+=' This should be fixed by removing the circular dependency.'
ERROR_MESSAGE+=' Run `pnpm run --filter mermaid checkCircle` on your local machine'
ERROR_MESSAGE+=' to see the circular dependency.'
echo "::error title=Lint failure::${ERROR_MESSAGE}"
# make sure to return an error exitcode so that GitHub actions shows a red-cross
exit 1
fi
2022-09-03 13:41:25 +05:30
- name: Verify Docs
2022-12-07 11:19:44 +05:30
id: verifyDocs
2022-10-30 21:22:38 -03:00
working-directory: ./packages/mermaid
continue-on-error: ${{ github.event_name == 'push' }}
2022-10-30 21:22:38 -03:00
run: pnpm run docs:verify
2024-08-24 15:06:08 +05:30
2024-08-25 09:01:32 +00:00
- uses: testomatio/check-tests@0ea638fcec1820cf2e7b9854fdbdd04128a55bd4 # stable
2024-08-24 15:06:08 +05:30
with:
framework: cypress
tests: './cypress/e2e/**/**.spec.js'
token: ${{ secrets.GITHUB_TOKEN }}
has-tests-label: true