mirror of
https://github.com/logseq/logseq.git
synced 2026-04-26 15:15:01 +00:00
feat/db is our stable branch for the db version and should remain green. There were CI failures on #11492 but we didn't know until it was merged. Just run CI on PRs to prevent this in the future
118 lines
3.1 KiB
YAML
118 lines
3.1 KiB
YAML
name: logseq/graph-parser CI
|
|
|
|
on:
|
|
# Path filters ensure jobs only kick off if a change is made to graph-parser or
|
|
# its local dependencies
|
|
push:
|
|
branches: [master]
|
|
paths:
|
|
- 'deps/graph-parser/**'
|
|
# db is a local dep that could break functionality in this lib and should trigger this
|
|
- 'deps/db/**'
|
|
- '.github/workflows/graph-parser.yml'
|
|
- '!deps/graph-parser/**.md'
|
|
pull_request:
|
|
branches: [master, "feat/db"]
|
|
paths:
|
|
- 'deps/graph-parser/**'
|
|
- 'deps/db/**'
|
|
- '.github/workflows/graph-parser.yml'
|
|
- '!deps/graph-parser/**.md'
|
|
|
|
defaults:
|
|
run:
|
|
working-directory: deps/graph-parser
|
|
|
|
env:
|
|
CLOJURE_VERSION: '1.11.1.1413'
|
|
# This is the same as 1.8.
|
|
JAVA_VERSION: '11'
|
|
# This is the latest node version we can run.
|
|
NODE_VERSION: '18'
|
|
BABASHKA_VERSION: '1.0.168'
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
|
|
|
|
- name: Set up Node
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: ${{ env.NODE_VERSION }}
|
|
cache: 'yarn'
|
|
cache-dependency-path: deps/graph-parser/yarn.lock
|
|
|
|
- name: Set up Java
|
|
uses: actions/setup-java@v3
|
|
with:
|
|
distribution: 'zulu'
|
|
java-version: ${{ env.JAVA_VERSION }}
|
|
|
|
- name: Set up Clojure
|
|
uses: DeLaGuardo/setup-clojure@10.1
|
|
with:
|
|
cli: ${{ env.CLOJURE_VERSION }}
|
|
bb: ${{ env.BABASHKA_VERSION }}
|
|
|
|
- name: Clojure cache
|
|
uses: actions/cache@v3
|
|
id: clojure-deps
|
|
with:
|
|
path: |
|
|
~/.m2/repository
|
|
~/.gitlibs
|
|
key: ${{ runner.os }}-clojure-deps-${{ hashFiles('deps.edn') }}
|
|
restore-keys: ${{ runner.os }}-clojure-deps-
|
|
|
|
- name: Fetch Clojure deps
|
|
if: steps.clojure-deps.outputs.cache-hit != 'true'
|
|
run: clojure -A:test -P
|
|
|
|
- name: Fetch yarn deps
|
|
run: yarn install --frozen-lockfile
|
|
|
|
- name: Run ClojureScript tests
|
|
run: clojure -M:test
|
|
|
|
- name: Run nbb-logseq tests
|
|
run: yarn test
|
|
|
|
# In this job because it depends on an npm package
|
|
- name: Load namespaces into nbb-logseq
|
|
run: bb test:load-all-namespaces-with-nbb .
|
|
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
|
|
|
|
- name: Set up Java
|
|
uses: actions/setup-java@v3
|
|
with:
|
|
distribution: 'zulu'
|
|
java-version: ${{ env.JAVA_VERSION }}
|
|
|
|
- name: Set up Clojure
|
|
uses: DeLaGuardo/setup-clojure@10.1
|
|
with:
|
|
cli: ${{ env.CLOJURE_VERSION }}
|
|
bb: ${{ env.BABASHKA_VERSION }}
|
|
|
|
- name: Run clj-kondo lint
|
|
run: clojure -M:clj-kondo --parallel --lint src test
|
|
|
|
- name: Carve lint for unused vars
|
|
run: bb lint:carve 2>/dev/null
|
|
|
|
- name: Lint for vars that are too large
|
|
run: bb lint:large-vars 2>/dev/null
|
|
|
|
- name: Lint for namespaces that aren't documented
|
|
run: bb lint:ns-docstrings 2>/dev/null
|