Merge pull request #719 from logseq/ci/init

ci: add CI
pull/735/head
Michael Wong 2020-11-24 22:20:52 +08:00 committed by GitHub
commit c34114cc45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 92 additions and 2 deletions

74
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,74 @@
name: CI
on:
push:
branches: [master]
paths-ignore:
- '*.md'
pull_request:
branches: [master]
paths-ignore:
- '*.md'
jobs:
test:
strategy:
matrix:
operating-system: [ubuntu-latest]
runs-on: ${{ matrix.operating-system }}
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 1
submodules: 'true'
- name: Maven cache
uses: actions/cache@v1
id: maven-cache
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('deps.edn') }}
restore-keys: ${{ runner.os }}-maven-
- name: Prepare Java
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Set up Node
uses: actions/setup-node@v1
with:
node-version: '12'
- name: Install Clojure tools.deps
uses: DeLaGuardo/setup-clojure@master
with:
cli: '1.10.1.727'
- name: Fetch Maven deps
if: steps.maven-cache.outputs.cache-hit != 'true'
run: clojure -A:cljs -P
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: yarn cache
uses: actions/cache@v1
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Fetch yarn deps
if: steps.yarn-cache.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile
- name: Run Clojure test
run: |
yarn cljs:test
node static/tests.js

View File

@ -24,6 +24,7 @@
hiccups {:mvn/version "0.3.0"}
tongue {:mvn/version "0.2.9"}
org.clojure/core.async {:mvn/version "1.3.610"}
thheller/shadow-cljs {:mvn/version "2.8.81"}
expound {:mvn/version "0.8.6"}
lambdaisland/glogi {:mvn/version "1.0.74"}}
@ -35,8 +36,10 @@
cider/cider-nrepl {:mvn/version "0.23.0-SNAPSHOT"}}
:main-opts ["-m" "shadow.cljs.devtools.cli"]}
:test
{:extra-paths ["test"],
:extra-deps {org.clojure/test.check {:mvn/version "RELEASE"}}}
{:extra-paths ["src/test/"]
:extra-deps {org.clojure/clojurescript {:mvn/version "1.10.520"}
org.clojure/test.check {:mvn/version "RELEASE"}}
:main-opts ["-m" "shadow.cljs.devtools.cli"]}
:runner
{:extra-deps
{com.cognitect/test-runner

View File

@ -29,6 +29,7 @@
"gulp:build": "NODE_ENV=production gulp build",
"cljs:watch": "clojure -A:cljs watch app publishing",
"cljs:release": "clojure -A:cljs release app publishing",
"cljs:test": "clojure -A:test compile test",
"cljs:watch-app": "clojure -A:cljs watch app",
"cljs:release-app": "clojure -A:cljs release app",
"cljs:release-publishing": "clojure -A:cljs release publishing",

View File

@ -26,6 +26,11 @@
;; after live-reloading finishes call this function
:after-load frontend.core/start
:preloads [devtools.preload]}}
:test
{:target :node-test
:output-to "static/tests.js"}
:publishing
{:target :browser
:module-loader true

View File

@ -0,0 +1,7 @@
(ns frontend.util-test
(:require [cljs.test :refer [deftest is testing run-tests]]
[frontend.util :refer [find-first]]))
(deftest test-find-first
(testing "find-first"
(is (= 1 (find-first identity [1])))))