From a8a9fc4bb44226337ea53e7e5573511a5fb7980d Mon Sep 17 00:00:00 2001 From: Viktor Podzigun Date: Thu, 14 Jul 2022 12:43:57 +0200 Subject: [PATCH] Added GitHub CI action (#7) --- .github/workflows/ci.yml | 147 +++++++++++++++++++++++++++++++++++++++ .travis.yml | 57 --------------- README.md | 2 +- pgp.sbt | 8 +-- travis/secrets.tar.enc | Bin 5136 -> 0 bytes version.sbt | 2 +- 6 files changed, 153 insertions(+), 63 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml delete mode 100644 travis/secrets.tar.enc diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..3104646 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,147 @@ +name: CI + +on: + push: + branches: [ master ] + tags: + - '*' + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + + - name: Git checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: '12' + + - name: Set up JDK 8 + uses: actions/setup-java@v2 + with: + java-version: '8' + distribution: 'adopt' + + - name: Cache sbt + uses: actions/cache@v2 + with: + path: | + ~/.sbt + ~/.ivy2/cache + ~/.coursier/cache/v1 + ~/.cache/coursier/v1 + key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt', 'project/**/*.scala') }} + + - name: Cache node_modules + uses: actions/cache@v2 + with: + path: | + ~/.npm + ~/.nvm + ~/work/scalajs-reactjs/scalajs-reactjs/core/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/core/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/dom/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/dom/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/history/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/history/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/redux/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/redux/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/redux-devtools/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/redux-devtools/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/router/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/router/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/router-dom/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/router-dom/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/custom-virtual-dom/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/custom-virtual-dom/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/custom-virtual-dom/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/custom-virtual-dom/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld-function/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld-function/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld-function/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/helloworld-function/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/interactive-helloworld/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/interactive-helloworld/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/interactive-helloworld/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/interactive-helloworld/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/lifecycle/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/lifecycle/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/lifecycle/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/lifecycle/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/redux-devtools/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/redux-devtools/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/redux-devtools/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/redux-devtools/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/redux-middleware/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/redux-middleware/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/redux-middleware/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/redux-middleware/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/router/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/router/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/router/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/router/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/style/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/style/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/style/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/style/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app/target/scala-2.13/scalajs-bundler/test/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app-redux/target/scala-2.13/scalajs-bundler/main/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app-redux/target/scala-2.13/scalajs-bundler/main/package-lock.json + ~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app-redux/target/scala-2.13/scalajs-bundler/test/node_modules + ~/work/scalajs-reactjs/scalajs-reactjs/example/todo-app-redux/target/scala-2.13/scalajs-bundler/test/package-lock.json + key: ${{ runner.os }}-node_modules-cache-v2-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node_modules-cache-v2- + + - name: Extract Tag Name + run: echo "TAG_NAME=$(echo ${GITHUB_REF##*/})" >> $GITHUB_ENV + if: ${{ startsWith(github.ref, 'refs/tags') }} + + - name: Setup chromedriver + run: | + export DISPLAY=:99 + echo "DISPLAY=:99" >> $GITHUB_ENV + chromedriver --url-base=/wd/hub & + sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional + if: ${{ env.TAG_NAME == '' }} + + - name: Run tests + run: sbt fastOptJS::webpack it:test + if: ${{ env.TAG_NAME == '' }} + + - name: Publish SNAPSHOT + run: sbt clean publish + if: ${{ !github.event.pull_request && env.TAG_NAME == '' }} + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + + - name: Publish RELEASE + run: | + mkdir ./keys + echo $PGP_PUBLIC | base64 --decode > ./keys/pubring.gpg + echo $PGP_SECRET | base64 --decode > ./keys/secring.gpg + VERSION="$(echo "$TAG_NAME" | cut -d'v' -f 2)" + echo "Publish a release version=$VERSION for tag $TAG_NAME" + version=$VERSION sbt clean publishSigned sonatypeBundleRelease + if: ${{ env.TAG_NAME != '' }} + env: + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} + PGP_PUBLIC: ${{ secrets.PGP_PUBLIC }} + PGP_SECRET: ${{ secrets.PGP_SECRET }} + PGP_PASS: ${{ secrets.PGP_PASS }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 06529b8..0000000 --- a/.travis.yml +++ /dev/null @@ -1,57 +0,0 @@ -language: scala -sudo: required -jdk: - - oraclejdk8 -dist: trusty -branches: - only: - - master - - /^v\d+\.\d+\.\d+$/ -env: - global: - - TRAVIS_SBT_VERSION="1.2.8" - - secure: S9TAeXE7pKYoszKlmgT7E9s09SRrpv7QrbNfpC5nEgsaAtTrrfgglosmjkJ4GokZ4YKvFPYGRiNhN/ntp/yFej+yzXMnkNn0tvvaH6GkUyEsV9NypPS7Yyev85R5WNiZgsefBBiy4cschUhVlOzUpfnBKPkCazr5LxYbf6A0SWOpQTj3mhvfl2oHEGJ2QZxhd0Xy2+jUYjhSXo24HHON0A3xAxVIf1LE0rKY9u4um5puymD66RYkNaBv5QnSyUt4fh2A6jF3QRikxONI0w867s8EGxR3dSVtAqP0u8h/vYIsqnwrHyyZU9AB4/crBbpx73xHOyA5DwMHQsgFsCCFGN+od52F+tFA4kxkwdZRlhZ8yXOURAy1wvcx/wacWzJZbHIvjtX4ZmUgoUM31WQB5OPC5lbvB2gJtoktocy/hz3q9RRda3gkIBIQ69p4H3ypAkEN6Fxs0/BJ4096xuzcRYp60uksIEc9DH+GcobZ1nm8XONEF8fad78G+RiFnvwr3UzWH0buzMw2pEx1ksn3PGOWQrglCU6wY1WwqSH/3HFeWQrEtcfE1It7pr47UNTFFP3H4A4X9er17WKCTm86wb2Zi1QVB5y1R5lYQ3TuIQK84IPp1LcYQtHEfQips+y8vMlKV1FShfV/+H5NLPOPHEZNBKsBcRy41uHCYIBZ3co= - - secure: OwPfZspwerhelAZIL0RoH1DCHRCpfMONKw4n2ngRutckuzMXL7PC2FMuMTZOlZNAGu26bBEuixFqQNP4roPppe6U/ZTyr/BE84PJwWKkStTyMTWCTQPAwQkRyUZkLStgjEdSL2kAAe8kvJtJ0NPau+RlSL6T789J2T2tFfnCO7hb/cCnGtD2rUPgswos4wVgPebAHVOltBCcw+TKZDbMoxFlPXqdZRuYgBvWrAX9LDI1VbLS7o+Pq6/0jy9NpPyX3V1BVNPof4bQPDypi+Kv6c0nlcO40tSRjk9t7/7pj7OobonLFdykyvB1MFRKx7dKLWgSK0XhGWJdVAMZ0tPH4PlBAp9fZzXntIj7n9P65kizFFPN9WiDEkCGg1GLdMLdMMUpokTYfkamFaoYFvjHQetCZrGCFx3MOdu39+fYsy5XDvLbFV8FDDqH3w9BkcJQUmD4Wd+iYBqb3j8LU+qxguGE+eN1IFMqqEe1rfF2+QcBrbmXCY6yqqPaIIRhNpE3jrh0rCMoxcnIVIFqwACT4yTRWMz5p6mPUVrxIKAGz0vTFYkuR9v72yDw3MGtw4me1X1RRQyM0MvZphzKYRWCxmDGn0S/LG/8GLMrOmAvX6QK1PrigIfLRQtDNyPvivhg6d8X5rL1Q+F2Y7nkDx77CZX/CsMskTrLnjfRx2BuvQQ= - - secure: GoTlvDux+PjwBLF2ag7JRNptyORIfZAqR03LM9NMJIuoUh1e2BSSI1ABNZRv0EyR6qDwIiNfDwaq4wgJhbBQavVyy19/lv/x79Rjq2bXxKOZJs3iNHAvSpE71tf/H9H4xQ/slNv1v6W6XGajpXffg2+P4DvHeriivGmxvT3Y3HlkQrFhNnk3ODD9JS5YAnrtveiBcdDgNTcA9Th30+BbZb2VJb/wKmsu+qDVDKcsZrAg0jrhT4mU2u3VnxeSetq6dDPFvZ+2vFqp0n7XfszV1ZV0Omy0D4R0K8ABbJTGxcgsigREfRDRebsXQySRVA4F5nFJv784wTfQHwy9f9WIznpIkrVbDMREoT4zxCF9XdXdMpPHh/DlKLuXZ/iCntARoIF1dkNAq2P2mP4Gbye6FTAsmn5wLYqXWUvKIWlaMUOy9xzChj/B8jlmXWJjP4etpkwTeYvV+wOZFQna/fugOYpZKyu4JLkhqGkk+7f3TL1zfIBfpeZpSpiisT+el1JL4otr7AXTYTQFqWZbwHtPhkeYj4VxyxlyZQ04guEf2KgSa0ogQS7CJjMLdMwz1qVFpY0lodPZpsBFgpF3dlB8A2MfhnxF/ZGvxZUa6GnhaTalbFTFVZZRf2ULI9w0OHlkOWLQrdM83rIDN/ZR3yhjAqrpLrfh5HbhsUsFxOUVV5I= -addons: - chrome: stable - apt: - packages: - - chromium-chromedriver -before_install: -- nvm install 12 && - nvm use 12 -- node --version && - npm --version -- if [ $TRAVIS_PULL_REQUEST = 'false' ]; then - openssl aes-256-cbc -K $encrypted_9575f030309c_key -iv $encrypted_9575f030309c_iv -in travis/secrets.tar.enc -out travis/secrets.tar -d; - tar xv -C travis -f travis/secrets.tar; - fi -before_script: - - sudo ln --symbolic /usr/lib/chromium-browser/chromedriver "/usr/local/bin/chromedriver" - - "export DISPLAY=:99" - - "sh -e /etc/init.d/xvfb start" - - sleep 3 # give xvfb some time to start -script: -- sbt fastOptJS::webpack it:test && - if [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "master" -o "$TRAVIS_BRANCH" == "$TRAVIS_TAG" ]; then - if [ -z "$TRAVIS_TAG" ]; then - echo "Publish a snapshot"; - sbt clean publish; - else - echo "Publish a release version=$TRAVIS_TAG"; - version=$TRAVIS_TAG sbt clean publishSigned sonatypeBundleRelease; - fi - else - echo "This is not a master branch commit. Skipping the publish/release step"; - fi -cache: - directories: - - ~/.npm - - ~/.nvm - - "$HOME/.ivy2/cache" - - "$HOME/.sbt" -before_cache: -# Cleanup the cached directories to avoid unnecessary cache updates -- find $HOME/.ivy2/cache -name "ivydata-*.properties" -print -delete -- find $HOME/.sbt -name "*.lock" -print -delete diff --git a/README.md b/README.md index 764359c..72f9760 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # scalajs-reactjs -[![Build Status](https://travis-ci.com/scommons/scalajs-reactjs.svg?branch=master)](https://travis-ci.com/scommons/scalajs-reactjs) +[![CI](https://github.com/scommons/scalajs-reactjs/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/scommons/scalajs-reactjs/actions/workflows/ci.yml?query=workflow%3Aci+branch%3Amaster) [![scala-index](https://index.scala-lang.org/scommons/scalajs-reactjs/scalajs-reactjs-core/latest.svg)](https://index.scala-lang.org/scommons/scalajs-reactjs/scalajs-reactjs-core) [![Scala.js](https://www.scala-js.org/assets/badges/scalajs-1.1.0.svg)](https://www.scala-js.org) diff --git a/pgp.sbt b/pgp.sbt index b25983a..11f769c 100644 --- a/pgp.sbt +++ b/pgp.sbt @@ -1,7 +1,7 @@ +import java.util.Base64 //see: https://www.scala-sbt.org/sbt-pgp/usage.html - useGpg := false -pgpPublicRing := file("./travis/pubring.gpg") -pgpSecretRing := file("./travis/secring.gpg") -pgpPassphrase := sys.env.get("PGP_PASS").map(_.toArray) +pgpPublicRing := file("./keys/pubring.gpg") +pgpSecretRing := file("./keys/secring.gpg") +pgpPassphrase := sys.env.get("PGP_PASS").map(p => new String(Base64.getDecoder.decode(p)).toArray) diff --git a/travis/secrets.tar.enc b/travis/secrets.tar.enc deleted file mode 100644 index 176641293d3a8411cf012ccd6d50b4a200764aaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5136 zcmV+r6z}VEXSAK^6p@&eR*7$yxXstDSK)cVe}h3REvi|_vk|c`Ps&CDS}5l~Sy^_Q zY}5lm#b%A_jPS*Qz{aJ{jE7r>(8xdg+@(M2a7~=1NDUP5--MvMh8iS8jx!fsZ=44W zr!qx5bN4V}#I%+mT*!jQbLk zZKznv5}F9e{0JJnXA#>-3?t)aN{Y-HDD#r}S6UdQs3(IrWRbOqEfXGPmCrDYzrU#X z&;5K%gjlWF+)C#HwRjnL`GmzJdzKdhM4oO-2xba=7)Y24QIR^)!mT>*a$nP~59V(E z@PrtOch4T#=1*a2}_g| zCaW{NU@ucZNM901S3eWd1vqy5U@j5dmfl`=KwL*s&>V1r#Ns4ObG`U+81(sh&O6bfg%iXkWMMkXx!#4mNjU$2X|baI3$53XcQ3Ro9jDTGPFvKpuW zA}Q*c6FcMeX^bdTgUC+!4(`dL&$WI&(VBlh2E7_m5AOYte!L^wbaLynBMdfR91b39 zOqcu;7erCg&$|14A9e&-WFP%r*72`~yDVJNacUte9gHcBF|UGFy?kf}wagj9_*7T% zSi5#RkHv?aUW|rca22*sjWGvO!7l`wi)IldF6!5l1?Rf%&4AVIUDB$3_sq9<+^qPj zqg%pcFIjs*jFh4vrHb~My(n!Ip{=Z-LB9NYio&6fk;y{GF{azkN8i}}W(xACIduO( zF3D-Mw zm8uUds-u$Eo2NbG@`V6BPg!~^qaPDBKM^8_wgva`I?pQbR!#h`C~8I*1zSHTTi9&v zOo0ropXub{YtkV$>(^p&_3b`~c7al3uB9kN_!Xb(n)m9WkYZXwwpMO@=Us_0>6D}P z$JL6#SXac$G zlcl4f7zXUfwDQIHu4TCL;~JP1AmzPY_MJGR#`+lNwR)^`e(hZLXsa0}&;Fg8tw}bX zAG8fODEa?hFP`dMios=R9D@b=h*WuwPL`DGfh%&%M_o%K%m*o~MB)&UC|Q+%Fy#aZ zC6pJ6NAmn5L}c8O@9~Gyl^ZDN!p;k!r0W3G2HVra5DgX?TxF?>SiJMD!KB#+%EIpj z!SSMy3BdU~%g`|6-=U|X(r&z1juoO7eLTgf3tN+9dg_kqS)I+bBvJdGSe8lGJz~V2qu1kMsqe(?r2(~Z&4he7ypVH zR~p?!iH%?j@PEd~*6BP0eTK4av2&5N?&+ZS=Q5f93Y3pC8y#0&U;(TY!Na%QsdjM3CGS!1(EuI^Fk6svT5i-ZNE6d^%nxH(U5=J`Y{@NO+%WXls2!0|hAysKKc4!#7 ztP$hn?-e4H089nY=~9N?8}G0Pn;f+LWkeDOhB~TEGj{ z4tbR`@sna_zZ-n|$cO=n9irDj83L!lold1G=i2fc2Dxf)tXrDNK0ZjDhsX+wghgo2 z>}HNaQyj2yYxC-7J@f5As!rZ=+0Ho*>D4T^C(>7fxO%n4&D}M(|I4#kH2JgcTJ6>& zc9x4}T1$;?#-h~St1yqltAIh92VIhw)o7-(MK*hQwy|5DB&cr@N~KuMzA^A zyO-yAqy-?<)rh{PV;taCQXH<69EnupwlUDa7LBa&X1>+U7t;Mlxui`H1DE$wlr9NAhu3aX;&L{d9p2>H%~JWD>=_ z+-XU4IAS{;8C{y4Kic$l*xqs1gRTR0$}m@JqGiLcdt}pCIQ}mSS@e z7`MoE)ZLElUBfZ_xs8dhbnu0*U1K{JLiM*u1*ZOzx5f$~0OrXCbTBWJJIbn8i`I8# zyInX|H&htOyq@66JFFZ3xxDz>gA7=Z{&+D_n`=DNP>~EsNuRdbuNbEM2JyVadqdlJ ziyZXgll<4_{4fCWqd$4&<7jxE?h;NiL;IX2$*d%Acy%Ons**W)Y8&Z4;xz@iH?p!N z?vFd`?Ah3~0|f1d^N~r}GST7*6;&3vlLgc@8Zf^TY0sp#g)>)pXlhBwPuDkzIwmP? zLLJTE+|HV5;1SJ7BsAR6UgM~fO})<_io?gYN;yFKuAb~0U_iDG*htG}{4hQCqZ3nK zyT^2kBCi>!XLj8>lEFgt)QbkqVXmlaKde$JBn2-OEz2n9e-#1)bXUdGjv5j4keURbo*Y=Zl@}RRZYtjtIK(YSEr=_fYP9>1yzQ;BRKt4amK)61Ob1?D zg?ZM$e}u1enx)VETu>mlrV^!>C>6Ods6aw8wgFFl@w9c$RkQrO#Lk8?D?LLD8+B_D zqvnbWHepR=M#Fy$!js@=>6loK3ZSGbMs9^mqzfYZ$$t!HLGkq{OC;(uFIMtwB&J@@ zkS)eVK(pnOOALfXSCO9+cpzM{cH0qA`HC_x%KR(+M&X5#R)`m8(a>Uxvf@J809WfM zWqMJ@K_OJhqL;*uWwh!*SrceNUb@&}2U4J|-<3Hznn z5F&{fb*?=6*OM(LNZde*sl(6@Aqrd|<@6KR`sUA(s_}+n-}}eM2(KrQLqD)b2Pzo= zWm03J=s?k$dF2+<_<}qVftB9WfLMhe;-An|)x`?gm+DV1PB&5W$akb zy0vADrlriPDvDe{WGrREH;0dklJ}7yxkHy;!j07=V z8gG+VRC%vMDJJw4k}Gox3@b96M=nYd4U$>sgOi6_MZ5n_Gpv+b;B02Po%GKIWk@gl z%$nB)Z#|PdSW8BdNIhInaq1S_VYRNZIvKjXn@w-q1`Ff|jR|PMUblmFi#yYe)-=j$ zQ{}V$w;xE>>o`T^Ze=*l8wfQK+Xe^aZL4 z4MNbhw9%2hiLYSr7yl4@1%9(L){UwZX5OOdaMyuLFd@@L>(9XYV8}UwSkh*w}3O3%~|7j%+vY$)ICIb zrz6_L;v7na15H2N4e9;imqZ@yH^S$b#&4X-rLBtnQ~susHyR=$92w3+K+=e!c@U@S z0*5lXGoBJy)E*^L4bzgLk&8dk^L}RL2#3N>RCV2Q2@l}hNc|(8JEOHB1R*6xuelDT4>kT-CpQdNQ><{5HZzoE(Us5CT!mqrw2|ClyPR})JP^wk`PeKK!TTCy_F|=87P^6FJ5G2*@|2<0*PKBG z?ATepr30_#&qAa!TCxtp{h04O(Uq+XGAf|L1czO}p>d7gJ5#?lwJys6eo7#-%K5G1 zq1~~bP@K>-+r8M0tVd*nX{hdLG^rkSan<><638Z2!2N=BG6H!^X8Xodnd_TXe=-Aa z!6r`Pn5Y|K+!mARIWiknz$DRkwM3$(^B3r~g{w3cmUTYB5#G|BMAomA52|C0de_lz zq`o>O(ZokK_JLncE#sN68zj+FDRXWcGo5QLJRUVso=~w~KMdE3|LgJd(ots6!7Z|c zVW&Ha08)(tz>e7J$q3>ls2HL-4SQmfwDO5W?x{9T1WyK%id5R1ppVLe!CyJ6Mu!gf z^?$85+0qV8Y}|$rh{NL?w(dCext>6J{*TALDmVqe5yAz&25P*vodr2H zXc2gUS7r%b*dA(gT4ktjq{5U+IigonhM}_0z!%xZEkxk!+y?%^&>sFrqQ59)3_)`J zU$_T#^1!#2UP|VRI|MB+&;iYX?xgFHWzxk(u&TYNkXDu7{PD z@6|K9Z@1L?*h;6hVGWQ1 zQ(q;&Qp+U&T;Njv{H<4n_iSJq*6;LW(Z&o~LPAK3t_I zFWD1_9OA9UjzZX0Kpu-3RB7KpvYX?-AIEx3pg|ONIX}O1HLs$Z)P7x<<3KIEDRPSSs}Dq0uWDk7i7aP6Iy4rUEN{Gd;k6701=*w*jod7BTBF`QH5Zs`kBvpAZ0W ztm!P0>dOE@T8rVE!vH^VZ{{gD6tAIuJDXs7i}z9W_9l8Jp$Y_U>l7s{P&LO%xJr#) z>mE#hMa2f^RP$v%j4Vi^+f%iOFR5tRn%luc6@LtzDDz5&`yPv%G9#3qnW@krbEFUl zASR)=fq$rc8cm;R#reRO$Srqf;x8x0T2abK{#Cf&gmPq0W-}|J1$*qL9tdkXLUp9w z$b7(*U7ap}i&FaO*MF%Y5km(g*!0BT!Kx=tt~Jb9i#K0r4|mzOt$n@))}(|#8rXp=U9QMiL?!}e)3H+$cIRzy6B)hQnxT3;KI63qm^D+q@oQe{S!Jq6+z7k? diff --git a/version.sbt b/version.sbt index ed7e02d..f0611c5 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -version in ThisBuild := sys.env.getOrElse("version", default = "0.17.1-SNAPSHOT").stripPrefix("v") +version in ThisBuild := sys.env.getOrElse("version", default = "0.17.2-SNAPSHOT").stripPrefix("v")