diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 00ab4f3d..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,86 +0,0 @@ -version: 2.1 - -jobs: - test-clj: - working_directory: ~/test - parameters: - image-name: - type: string - docker: - - image: << parameters.image-name >> - steps: - - checkout - - restore_cache: - keys: - - 'v1-clj-{{ checksum "project.clj" }}' - - 'v1-clj-' - - 'v1-test-' - - run: - name: Install modules - command: ./scripts/lein-modules install - - run: - name: Run tests - command: ./scripts/test.sh clj - - run: - name: Install curl if missing - command: apt update && apt install -y curl - - run: - name: Verify cljdoc.edn - command: curl -fsSL https://raw.githubusercontent.com/cljdoc/cljdoc/master/script/verify-cljdoc-edn | bash -s doc/cljdoc.edn - - store_test_results: - # path must be a directory under which there a subdirectories that - # contain the JUnit XML files. - path: ~/test/target/results -# - run: -# name: Run coverage -# command: ./scripts/submit-to-coveralls.sh clj - - save_cache: - key: 'v1-clj-{{ checksum "project.clj" }}' - paths: - - ~/.m2 - - ~/.cljs/.aot_cache - - test-cljs: - working_directory: ~/test - docker: - - image: circleci/clojure:lein-2.8.1-node-browsers - steps: - - checkout - - restore_cache: - keys: - - 'v1-cljs-{{ checksum "project.clj" }}-{{ checksum "package.json" }}' - - 'v1-cljs-' - - run: - name: Install npm dependencies - command: npm install - - run: - name: Install modules - command: ./scripts/lein-modules install - - run: - name: Run tests - command: ./scripts/test.sh cljs - - store_test_results: - path: ~/test/target/results - - save_cache: - key: 'v1-cljs-{{ checksum "project.clj" }}-{{ checksum "package.json" }}' - paths: - - ~/.m2 - - ~/test/node_modules - -workflows: - version: 2 - test-and-build-docs: - jobs: - - test-clj: - name: jdk8 - image-name: clojure:openjdk-8-lein-2.9.1 - - test-clj: - name: jdk11 - image-name: clojure:openjdk-11-lein-2.9.1 - - test-clj: - name: jdk13 - image-name: clojure:openjdk-13-lein-2.9.1 - - test-clj: - name: jdk14 - image-name: clojure:openjdk-14-lein-2.9.1 - - test-cljs diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml new file mode 100644 index 00000000..85e86658 --- /dev/null +++ b/.github/workflows/testsuite.yml @@ -0,0 +1,78 @@ +name: testsuite + +on: + push: + pull_request: + +jobs: + build-clj: + strategy: + matrix: + # Supported Java versions: LTS releases 8 and 11 and the latest release + jdk: [8, 11, 15] + + name: Clojure (Java ${{ matrix.jdk }}) + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-clj-${{ hashFiles('**/project.clj') }} + restore-keys: | + ${{ runner.os }}-clj- + - name: Setup Java ${{ matrix.jdk }} + uses: actions/setup-java@v1.4.3 + with: + java-version: ${{ matrix.jdk }} + - name: Setup Clojure + uses: DeLaGuardo/setup-clojure@3.1 + with: + lein: 2.9.5 + - name: Run tests + run: ./scripts/test.sh clj + + build-cljs: + name: ClojureScript + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: | + ~/.m2/repository + **/node_modules + key: ${{ runner.os }}-cljs-${{ hashFiles('**/project.clj', '**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-cljs- + - name: Setup Java 11 + uses: actions/setup-java@v1.4.3 + with: + java-version: 11 + - name: Setup Clojure + uses: DeLaGuardo/setup-clojure@3.1 + with: + lein: 2.9.5 + - name: Setup Node.js + uses: actions/setup-node@v2.1.2 + with: + node-version: 12 + - name: Install dependencies + run: | + npm ci + - name: Install modules + run: ./scripts/lein-modules install + - name: Run tests + run: ./scripts/test.sh cljs + + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Verify cljdoc.edn + run: curl -fsSL https://raw.githubusercontent.com/cljdoc/cljdoc/master/script/verify-cljdoc-edn | bash -s doc/cljdoc.edn diff --git a/README.md b/README.md index 46aaa9ef..e075bdff 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# reitit [![Build Status](https://img.shields.io/circleci/project/github/metosin/reitit.svg)](https://circleci.com/gh/metosin/reitit) [![cljdoc badge](https://cljdoc.org/badge/metosin/reitit)](https://cljdoc.org/jump/release/metosin/reitit) [![Slack](https://img.shields.io/badge/clojurians-reitit-blue.svg?logo=slack)](https://clojurians.slack.com/messages/reitit/) +# reitit [![Build Status](https://github.com/metosin/reitit/workflows/testsuite/badge.svg)](https://github.com/metosin/reitit/actions?query=workflow%3Atestsuite) [![cljdoc badge](https://cljdoc.org/badge/metosin/reitit)](https://cljdoc.org/jump/release/metosin/reitit) [![Slack](https://img.shields.io/badge/clojurians-reitit-blue.svg?logo=slack)](https://clojurians.slack.com/messages/reitit/) A fast data-driven router for Clojure(Script).