Feat/db #2927
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: logseq/common CI | |
on: | |
# Path filters ensure jobs only kick off if a change is made to common | |
push: | |
branches: [master] | |
paths: | |
- 'deps/common/**' | |
- '.github/workflows/logseq-common.yml' | |
- '!deps/common/**.md' | |
pull_request: | |
branches: [master, "feat/db"] | |
paths: | |
- 'deps/common/**' | |
- '.github/workflows/logseq-common.yml' | |
- '!deps/common/**.md' | |
defaults: | |
run: | |
working-directory: deps/common | |
env: | |
CLOJURE_VERSION: '1.11.1.1413' | |
JAVA_VERSION: '11' | |
# This is the latest node version we can run. | |
NODE_VERSION: '20' | |
BABASHKA_VERSION: '1.0.168' | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: 'yarn' | |
cache-dependency-path: deps/publishing/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/[email protected] | |
with: | |
cli: ${{ env.CLOJURE_VERSION }} | |
bb: ${{ env.BABASHKA_VERSION }} | |
- name: Fetch yarn deps | |
run: yarn install --frozen-lockfile | |
- 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 . | |
- 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: Run ClojureScript tests | |
run: clojure -M:test | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ env.JAVA_VERSION }} | |
- name: Set up Clojure | |
uses: DeLaGuardo/[email protected] | |
with: | |
cli: ${{ env.CLOJURE_VERSION }} | |
bb: ${{ env.BABASHKA_VERSION }} | |
- name: Run clj-kondo lint | |
run: clojure -M:clj-kondo --lint src test | |
- name: Carve lint for unused vars | |
run: bb lint:carve | |
- name: Lint for vars that are too large | |
run: bb lint:large-vars | |
- name: Lint for namespaces that aren't documented | |
run: bb lint:ns-docstrings |