diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index a774aa8..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,74 +0,0 @@ -version: 2.1 - -orbs: - kaocha: lambdaisland/kaocha@0.0.1 - clojure: lambdaisland/clojure@0.0.8 - -commands: - checkout_and_run: - parameters: - clojure_version: - type: string - steps: - - checkout - - clojure/with_cache: - cache_version: << parameters.clojure_version >> - steps: - - run: clojure -e '(println (System/getProperty "java.runtime.name") (System/getProperty "java.runtime.version") "\nClojure" (clojure-version))' - - run: npm install ws - - kaocha/execute: - args: "clj --reporter documentation --plugin cloverage --codecov" - clojure_version: << parameters.clojure_version >> - - kaocha/execute: - args: "cljs --reporter documentation" - clojure_version: << parameters.clojure_version >> - - kaocha/upload_codecov: - flags: clj - -jobs: - java-17-clojure-1_10: - executor: clojure/openjdk17 - steps: [{checkout_and_run: {clojure_version: "1.10.2"}}] - - java-11-clojure-1_10: - executor: clojure/openjdk11 - steps: [{checkout_and_run: {clojure_version: "1.10.2"}}] - - java-9-clojure-1_10: - executor: clojure/openjdk9 - steps: [{checkout_and_run: {clojure_version: "1.10.2"}}] - - java-8-clojure-1_10: - executor: clojure/openjdk8 - steps: [{checkout_and_run: {clojure_version: "1.10.2"}}] - test: - parameters: - os: - type: executor - clojure_version: - type: string - executor: << parameters.os >> - steps: - - checkout_and_run: - clojure_version: << parameters.clojure_version >> - - babashka-tests: - executor: clojure/openjdk8 - steps: - - checkout - - run: - command: | - curl -sLO https://raw.githubusercontent.com/babashka/babashka/master/install - chmod +x install - ./install --version 1.0.168 - bb test:bb - -workflows: - kaocha_test: - jobs: - - babashka-tests - - test: - matrix: - parameters: - os: [clojure/openjdk19, clojure/openjdk17, clojure/openjdk11, clojure/openjdk8] - clojure_version: ["1.10.3", "1.11.1"] diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..5d8e2a1 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,90 @@ +name: Continuous Delivery + +on: push + +jobs: + Kaocha: + runs-on: ${{matrix.sys.os}} + + strategy: + matrix: + sys: + # - { os: macos-latest, shell: bash } + - { os: ubuntu-latest, shell: bash } + # - { os: windows-latest, shell: powershell } + + defaults: + run: + shell: ${{matrix.sys.shell}} + + steps: + - uses: actions/checkout@v2 + + - name: ๐Ÿ”ง Install java + uses: actions/setup-java@v1 + with: + java-version: '25' + + - name: ๐Ÿ”ง Install clojure + uses: DeLaGuardo/setup-clojure@master + with: + cli: '1.12.3.1577' + + - name: ๐Ÿ— maven cache + uses: actions/cache@v4 + with: + path: | + ~/.m2 + ~/.gitlibs + key: ${{ runner.os }}-maven-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-maven- + + - name: ๐Ÿงช Run tests + run: bin/kaocha + + Babashka: + runs-on: ${{matrix.sys.os}} + + strategy: + matrix: + sys: + # - { os: macos-latest, shell: bash } + - { os: ubuntu-latest, shell: bash } + # - { os: windows-latest, shell: powershell } + + defaults: + run: + shell: ${{matrix.sys.shell}} + + steps: + - uses: actions/checkout@v2 + + - name: ๐Ÿ”ง Install java + uses: actions/setup-java@v1 + with: + java-version: '25' + + - name: ๐Ÿ”ง Install clojure + uses: DeLaGuardo/setup-clojure@master + with: + cli: '1.12.3.1577' + + - name: ๐Ÿ”ง Install babashka + run: | + curl -sLO https://raw.githubusercontent.com/babashka/babashka/master/install + chmod +x install + ./install --version 1.0.168 + + - name: ๐Ÿ— maven cache + uses: actions/cache@v4 + with: + path: | + ~/.m2 + ~/.gitlibs + key: ${{ runner.os }}-maven-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-maven- + + - name: ๐Ÿงช Run tests + run: bb test:bb diff --git a/README.md b/README.md index a797b8c..f662160 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,14 @@ Key features ## Lambda Island Open Source +Thank you! uri is made possible thanks to our generous backers. [Become a +backer on OpenCollective](https://opencollective.com/lambda-island) so that we +can continue to make uri better. + + + + +   @@ -23,10 +31,10 @@ Key features uri is part of a growing collection of quality Clojure libraries created and maintained by the fine folks at [Gaiwan](https://gaiwan.co). -Pay it forward by [becoming a backer on our Open Collective](http://opencollective.com/lambda-island), -so that we may continue to enjoy a thriving Clojure ecosystem. +Pay it forward by [becoming a backer on our OpenCollective](http://opencollective.com/lambda-island), +so that we continue to enjoy a thriving Clojure ecosystem. -You can find an overview of our projects at [lambdaisland/open-source](https://github.com/lambdaisland/open-source). +You can find an overview of all our different projects at [lambdaisland/open-source](https://github.com/lambdaisland/open-source).   @@ -166,39 +174,35 @@ It has been tested against [this list of test cases compiled by the W3C](https:/ ## Contributing -Everyone has a right to submit patches to uri, and thus become a contributor. - -Contributors MUST +We warmly welcome patches to uri. Please keep in mind the following: - adhere to the [LambdaIsland Clojure Style Guide](https://nextjournal.com/lambdaisland/clojure-style-guide) -- write patches that solve a problem. Start by stating the problem, then supply a minimal solution. `*` -- agree to license their contributions as MPL 2.0. -- not break the contract with downstream consumers. `**` -- not break the tests. +- write patches that solve a problem +- start by stating the problem, then supply a minimal solution `*` +- by contributing you agree to license your contributions as MPL 2.0 +- don't break the contract with downstream consumers `**` +- don't break the tests -Contributors SHOULD +We would very much appreciate it if you also -- update the CHANGELOG and README. -- add tests for new functionality. +- update the CHANGELOG and README +- add tests for new functionality -If you submit a pull request that adheres to these rules, then it will almost -certainly be merged immediately. However some things may require more -consideration. If you add new dependencies, or significantly increase the API -surface, then we need to decide if these changes are in line with the project's -goals. In this case you can start by [writing a pitch](https://nextjournal.com/lambdaisland/pitch-template), -and collecting feedback on it. +We recommend opening an issue first, before opening a pull request. That way we +can make sure we agree what the problem is, and discuss how best to solve it. +This is especially true if you add new dependencies, or significantly increase +the API surface. In cases like these we need to decide if these changes are in +line with the project's goals. -`*` This goes for features too, a feature needs to solve a problem. State the problem it solves, then supply a minimal solution. +`*` This goes for features too, a feature needs to solve a problem. State the problem it solves first, only then move on to solving it. -`**` As long as this project has not seen a public release (i.e. is not on Clojars) -we may still consider making breaking changes, if there is consensus that the -changes are justified. +`**` Projects that have a version that starts with `0.` may still see breaking changes, although we also consider the level of community adoption. The more widespread a project is, the less likely we're willing to introduce breakage. See [LambdaIsland-flavored Versioning](https://github.com/lambdaisland/open-source#lambdaisland-flavored-versioning) for more info. ## License -Copyright © 2017-2021 Arne Brasseur and Contributors +Copyright © 2017-2025 Arne Brasseur and Contributors Licensed under the term of the Mozilla Public License 2.0, see LICENSE. diff --git a/bb.edn b/bb.edn index 0ae526a..f070d0d 100644 --- a/bb.edn +++ b/bb.edn @@ -1,6 +1,6 @@ {:deps {lambdaisland/open-source {:git/url "https://github.com/lambdaisland/open-source" - :git/sha "7ce125cbd14888590742da7ab3b6be9bba46fc7a"} + :git/sha "94295666e8026fb8c58e93f822914810812e77d4"} current/project {:local/root "."}} :tasks