name: logseq/db-sync CI on: # Path filters ensure jobs only kick off if a change is made to db-sync or # its local dependencies push: branches: [master] paths: - 'deps/db-sync/**' - '.github/workflows/deps-db-sync.yml' - '!deps/db-sync/**.md' # Deps that logseq/db-sync depends on should trigger this workflow - 'deps/db/**' - 'deps/common/**' pull_request: branches: [master] paths: - 'deps/db-sync/**' - '.github/workflows/deps-db-sync.yml' - '!deps/db-sync/**.md' # Deps that logseq/db-sync depends on should trigger this workflow - 'deps/db/**' - 'deps/common/**' defaults: run: working-directory: deps/db-sync env: CLOJURE_VERSION: '1.11.1.1413' JAVA_VERSION: '21' # This is the latest node version we can run. NODE_VERSION: '22' BABASHKA_VERSION: '1.12.215' jobs: test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Node uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} cache: 'yarn' cache-dependency-path: deps/db-sync/yarn.lock - name: Set up Java uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: ${{ env.JAVA_VERSION }} # Clojure needed for bb step - name: Set up Clojure uses: DeLaGuardo/setup-clojure@13.5 with: cli: ${{ env.CLOJURE_VERSION }} bb: ${{ env.BABASHKA_VERSION }} - name: Fetch yarn deps run: yarn install --frozen-lockfile - name: Run unit tests run: yarn test:node-adapter lint: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Java uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: ${{ env.JAVA_VERSION }} - name: Set up Clojure uses: DeLaGuardo/setup-clojure@13.5 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