From cfe154226de986ca7e62f71e94821be9225691c1 Mon Sep 17 00:00:00 2001 From: Alissa Pajer Date: Tue, 25 Aug 2020 12:22:25 -0400 Subject: [PATCH] Update sbt-precog to 2.4.11 --- .github/workflows/ci.yml | 782 ++++++++++++++++++++++++++++++++---- .github/workflows/clean.yml | 59 +++ project/plugins.sbt | 2 +- 3 files changed, 755 insertions(+), 88 deletions(-) create mode 100644 .github/workflows/clean.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 509efc3e82c..f69b007bfed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,111 +1,719 @@ -name: CI -on: [push, pull_request] +# This file was automatically generated by sbt-github-actions using the +# githubWorkflowGenerate task. You should add and commit this file to +# your git repository. It goes without saying that you shouldn't edit +# this file by hand! Instead, if you wish to make changes, you should +# change your sbt build configuration to revise the workflow description +# to meet your needs, then regenerate this file. + +name: Continuous Integration + +on: + pull_request: + branches: [master, backport/v*] + types: [opened, reopened, synchronize, ready_for_review] + push: + branches: [master, backport/v*] + env: - CI: true - CI_SNAPSHOT_RELEASE: +publishSigned - HUGO_VERSION: 0.26 - SCALA_VERSION: 2.12.10 + SBT: ./sbt + JABBA_INDEX: 'https://github.com/1Jo1/jabba/raw/support-graalvm-java-8-and-11/index.json' + REPO_SLUG: ${{ github.repository }} + ENCRYPTION_PASSWORD: ${{ secrets.ENCRYPTION_PASSWORD }} GITHUB_ACTOR: precog-bot GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + jobs: - validate: - name: Scala ${{ matrix.scala }}, Java ${{ matrix.java }} - runs-on: ubuntu-latest + build: + name: Build and Test + if: '!(github.event_name == ''pull_request'' && github.event.pull_request.draft)' strategy: - fail-fast: false matrix: - java: [adopt@1.8, adopt@1.11] - scala: [2.12.10, 2.13.1] - env: - SCALA_VERSION: ${{ matrix.scala }} + os: [ubuntu-latest] + scala: [2.13.1] + java: [adopt@1.8, graalvm8@20.1.0] + runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 - - uses: olafurpg/setup-scala@v5 + - name: Checkout current branch (fast) + uses: actions/checkout@v2 + + - name: Setup Java and Scala + uses: olafurpg/setup-scala@v5 with: java-version: ${{ matrix.java }} - - name: Cache Coursier + + - name: Cache ivy2 uses: actions/cache@v1 with: - path: ~/.cache/coursier - key: sbt-coursier-cache - - name: Cache SBT + path: ~/.ivy2/cache + key: ${{ runner.os }}-sbt-ivy-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Cache coursier (generic) uses: actions/cache@v1 with: - path: ~/.sbt - key: sbt-${{ hashFiles('**/build.sbt') }} - - name: Check formatting - if: startsWith(matrix.scala, '2.12.') && (matrix.java == 'adopt@1.8') - run: sbt ++$SCALA_VERSION scalafmtCheckAll - - name: Compile - run: sbt ++$SCALA_VERSION test:compile - # - name: Check compatibility - # run: sbt ++$SCALA_VERSION mimaReportBinaryIssues - - name: Check unused dependencies - run: sbt ++$SCALA_VERSION unusedCompileDependenciesTest - - name: Test - run: sbt ++$SCALA_VERSION test - - name: Scaladoc - run: sbt ++$SCALA_VERSION doc - scalafix: - name: Scalafix - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: olafurpg/setup-scala@v5 - - name: Cache Coursier + path: ~/.coursier/cache/v1 + key: ${{ runner.os }}-generic-sbt-coursier-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Cache coursier (linux) + if: contains(runner.os, 'linux') + uses: actions/cache@v1 + with: + path: ~/.cache/coursier/v1 + key: ${{ runner.os }}-sbt-coursier-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Cache coursier (macOS) + if: contains(runner.os, 'macos') uses: actions/cache@v1 with: - path: ~/.cache/coursier - key: sbt-coursier-cache - - name: Cache SBT + path: ~/Library/Caches/Coursier/v1 + key: ${{ runner.os }}-sbt-coursier-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Cache coursier (windows) + if: contains(runner.os, 'windows') + uses: actions/cache@v1 + with: + path: ~/AppData/Local/Coursier/Cache/v1 + key: ${{ runner.os }}-sbt-coursier-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Cache sbt uses: actions/cache@v1 with: path: ~/.sbt - key: sbt-${{ hashFiles('**/build.sbt') }} - - name: Scalafix - working-directory: ./scalafix - run: sbt ++$SCALA_VERSION test - project-site: - name: Project Site - runs-on: ubuntu-latest + key: ${{ runner.os }}-sbt-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Common sbt setup + if: env.ENCRYPTION_PASSWORD != null + run: $SBT ++${{ matrix.scala }} transferCommonResources exportSecretsForActions + + - name: Check that workflows are up to date + run: $SBT ++${{ matrix.scala }} githubWorkflowCheck + + - run: $SBT ++${{ matrix.scala }} ci + + - name: Upload target directory 'json4s-jackson/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-json4s-jackson_target + path: json4s-jackson/target + + - name: Upload target directory 'website/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-website_target + path: website/target + + - name: Upload target directory 'examples/ember/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-examples_ember_target + path: examples/ember/target + + - name: Upload target directory 'blaze-client/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-blaze-client_target + path: blaze-client/target + + - name: Upload target directory 'server/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-server_target + path: server/target + + - name: Upload target directory 'examples/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-examples_target + path: examples/target + + - name: Upload target directory 'blaze-server/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-blaze-server_target + path: blaze-server/target + + - name: Upload target directory 'scalatags/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-scalatags_target + path: scalatags/target + + - name: Upload target directory 'target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-target + path: target + + - name: Upload target directory 'argonaut/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-argonaut_target + path: argonaut/target + + - name: Upload target directory 'examples/docker/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-examples_docker_target + path: examples/docker/target + + - name: Upload target directory 'twirl/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-twirl_target + path: twirl/target + + - name: Upload target directory 'docs/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-docs_target + path: docs/target + + - name: Upload target directory 'laws/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-laws_target + path: laws/target + + - name: Upload target directory 'tests/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-tests_target + path: tests/target + + - name: Upload target directory 'prometheus-metrics/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-prometheus-metrics_target + path: prometheus-metrics/target + + - name: Upload target directory 'servlet/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-servlet_target + path: servlet/target + + - name: Upload target directory 'examples/tomcat/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-examples_tomcat_target + path: examples/tomcat/target + + - name: Upload target directory 'examples/jetty/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-examples_jetty_target + path: examples/jetty/target + + - name: Upload target directory 'testing/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-testing_target + path: testing/target + + - name: Upload target directory 'ember-server/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-ember-server_target + path: ember-server/target + + - name: Upload target directory 'json4s-native/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-json4s-native_target + path: json4s-native/target + + - name: Upload target directory 'json4s/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-json4s_target + path: json4s/target + + - name: Upload target directory 'okhttp-client/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-okhttp-client_target + path: okhttp-client/target + + - name: Upload target directory 'examples/blaze/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-examples_blaze_target + path: examples/blaze/target + + - name: Upload target directory 'client/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-client_target + path: client/target + + - name: Upload target directory 'blaze-core/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-blaze-core_target + path: blaze-core/target + + - name: Upload target directory 'circe/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-circe_target + path: circe/target + + - name: Upload target directory 'examples/war/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-examples_war_target + path: examples/war/target + + - name: Upload target directory 'jetty-client/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-jetty-client_target + path: jetty-client/target + + - name: Upload target directory 'ember-client/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-ember-client_target + path: ember-client/target + + - name: Upload target directory 'tomcat/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-tomcat_target + path: tomcat/target + + - name: Upload target directory 'boopickle/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-boopickle_target + path: boopickle/target + + - name: Upload target directory 'jetty/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-jetty_target + path: jetty/target + + - name: Upload target directory 'play-json/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-play-json_target + path: play-json/target + + - name: Upload target directory 'async-http-client/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-async-http-client_target + path: async-http-client/target + + - name: Upload target directory 'core/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-core_target + path: core/target + + - name: Upload target directory 'scala-xml/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-scala-xml_target + path: scala-xml/target + + - name: Upload target directory 'dsl/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-dsl_target + path: dsl/target + + - name: Upload target directory 'dropwizard-metrics/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-dropwizard-metrics_target + path: dropwizard-metrics/target + + - name: Upload target directory 'ember-core/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-ember-core_target + path: ember-core/target + + - name: Upload target directory 'jawn/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-jawn_target + path: jawn/target + + - name: Upload target directory 'bench/target' (${{ matrix.scala }}) + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.scala }}-${{ matrix.java }}-bench_target + path: bench/target + + - name: Upload target directory 'project/target' + uses: actions/upload-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.java }}-project_target + path: project/target + + publish: + name: Publish Artifacts + needs: [build] + if: github.event_name != 'pull_request' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/backport/v')) + strategy: + matrix: + os: [ubuntu-latest] + scala: [2.13.1] + java: [adopt@1.8] + runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 - - uses: olafurpg/setup-scala@v5 - - name: Cache Coursier + - name: Checkout current branch (fast) + uses: actions/checkout@v2 + + - name: Setup Java and Scala + uses: olafurpg/setup-scala@v5 + with: + java-version: ${{ matrix.java }} + + - name: Cache ivy2 + uses: actions/cache@v1 + with: + path: ~/.ivy2/cache + key: ${{ runner.os }}-sbt-ivy-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Cache coursier (generic) uses: actions/cache@v1 with: - path: ~/.cache/coursier - key: sbt-coursier-cache - - name: Cache SBT + path: ~/.coursier/cache/v1 + key: ${{ runner.os }}-generic-sbt-coursier-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Cache coursier (linux) + if: contains(runner.os, 'linux') + uses: actions/cache@v1 + with: + path: ~/.cache/coursier/v1 + key: ${{ runner.os }}-sbt-coursier-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Cache coursier (macOS) + if: contains(runner.os, 'macos') + uses: actions/cache@v1 + with: + path: ~/Library/Caches/Coursier/v1 + key: ${{ runner.os }}-sbt-coursier-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Cache coursier (windows) + if: contains(runner.os, 'windows') + uses: actions/cache@v1 + with: + path: ~/AppData/Local/Coursier/Cache/v1 + key: ${{ runner.os }}-sbt-coursier-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Cache sbt uses: actions/cache@v1 with: path: ~/.sbt - key: sbt-${{ hashFiles('**/build.sbt') }} - - name: Add ~/bin to PATH - run: echo "::add-path::$HOME/bin" - - name: Install Hugo - run: scripts/install-hugo - - name: Build project site - run: sbt ++$SCALA_VERSION website/makeSite - # docs: - # name: Doc Site - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v2 - # - uses: olafurpg/setup-scala@v5 - # - name: Cache Coursier - # uses: actions/cache@v1 - # with: - # path: ~/.cache/coursier - # key: sbt-coursier-cache - # - name: Cache SBT - # uses: actions/cache@v1 - # with: - # path: ~/.sbt - # key: sbt-${{ hashFiles('**/build.sbt') }} - # - name: Add ~/bin to PATH - # run: echo "::add-path::$HOME/bin" - # - name: Install Hugo - # run: scripts/install-hugo - # - name: Build project site - # run: sbt ++$SCALA_VERSION docs/makeSite + key: ${{ runner.os }}-sbt-cache-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}-${{ hashFiles('.versions.json') }} + + - name: Download target directory 'json4s-jackson/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-json4s-jackson_target + path: json4s-jackson/target + + - name: Download target directory 'website/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-website_target + path: website/target + + - name: Download target directory 'examples/ember/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-examples_ember_target + path: examples/ember/target + + - name: Download target directory 'blaze-client/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-blaze-client_target + path: blaze-client/target + + - name: Download target directory 'server/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-server_target + path: server/target + + - name: Download target directory 'examples/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-examples_target + path: examples/target + + - name: Download target directory 'blaze-server/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-blaze-server_target + path: blaze-server/target + + - name: Download target directory 'scalatags/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-scalatags_target + path: scalatags/target + + - name: Download target directory 'target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-target + path: target + + - name: Download target directory 'argonaut/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-argonaut_target + path: argonaut/target + + - name: Download target directory 'examples/docker/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-examples_docker_target + path: examples/docker/target + + - name: Download target directory 'twirl/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-twirl_target + path: twirl/target + + - name: Download target directory 'docs/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-docs_target + path: docs/target + + - name: Download target directory 'laws/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-laws_target + path: laws/target + + - name: Download target directory 'tests/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-tests_target + path: tests/target + + - name: Download target directory 'prometheus-metrics/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-prometheus-metrics_target + path: prometheus-metrics/target + + - name: Download target directory 'servlet/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-servlet_target + path: servlet/target + + - name: Download target directory 'examples/tomcat/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-examples_tomcat_target + path: examples/tomcat/target + + - name: Download target directory 'examples/jetty/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-examples_jetty_target + path: examples/jetty/target + + - name: Download target directory 'testing/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-testing_target + path: testing/target + + - name: Download target directory 'ember-server/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-ember-server_target + path: ember-server/target + + - name: Download target directory 'json4s-native/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-json4s-native_target + path: json4s-native/target + + - name: Download target directory 'json4s/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-json4s_target + path: json4s/target + + - name: Download target directory 'okhttp-client/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-okhttp-client_target + path: okhttp-client/target + + - name: Download target directory 'examples/blaze/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-examples_blaze_target + path: examples/blaze/target + + - name: Download target directory 'client/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-client_target + path: client/target + + - name: Download target directory 'blaze-core/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-blaze-core_target + path: blaze-core/target + + - name: Download target directory 'circe/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-circe_target + path: circe/target + + - name: Download target directory 'examples/war/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-examples_war_target + path: examples/war/target + + - name: Download target directory 'jetty-client/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-jetty-client_target + path: jetty-client/target + + - name: Download target directory 'ember-client/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-ember-client_target + path: ember-client/target + + - name: Download target directory 'tomcat/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-tomcat_target + path: tomcat/target + + - name: Download target directory 'boopickle/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-boopickle_target + path: boopickle/target + + - name: Download target directory 'jetty/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-jetty_target + path: jetty/target + + - name: Download target directory 'play-json/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-play-json_target + path: play-json/target + + - name: Download target directory 'async-http-client/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-async-http-client_target + path: async-http-client/target + + - name: Download target directory 'core/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-core_target + path: core/target + + - name: Download target directory 'scala-xml/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-scala-xml_target + path: scala-xml/target + + - name: Download target directory 'dsl/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-dsl_target + path: dsl/target + + - name: Download target directory 'dropwizard-metrics/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-dropwizard-metrics_target + path: dropwizard-metrics/target + + - name: Download target directory 'ember-core/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-ember-core_target + path: ember-core/target + + - name: Download target directory 'jawn/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-jawn_target + path: jawn/target + + - name: Download target directory 'bench/target' (2.13.1) + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-2.13.1-${{ matrix.java }}-bench_target + path: bench/target + + - name: Download target directory 'project/target' + uses: actions/download-artifact@v1 + with: + name: target-${{ matrix.os }}-${{ matrix.java }}-project_target + path: project/target + + - name: Common sbt setup + run: $SBT ++${{ matrix.scala }} transferCommonResources transferPublishAndTagResources exportSecretsForActions + + - run: ./scripts/commonSetup + + - name: Publish artifacts and create tag + run: ./scripts/publishAndTag ${{ github.repository }} + + auto-merge: + name: Auto Merge + needs: [build] + if: 'github.event_name == ''pull_request'' && contains(github.head_ref, ''version-bump'') && contains(github.event.pull_request.labels.*.name, ''version: revision'')' + strategy: + matrix: + os: [ubuntu-latest] + scala: [2.13.1] + java: [adopt@1.8] + runs-on: ${{ matrix.os }} + steps: + - name: Checkout current branch (fast) + uses: actions/checkout@v2 + + - name: Setup Java and Scala + uses: olafurpg/setup-scala@v5 + with: + java-version: ${{ matrix.java }} + + - name: Common sbt setup + run: $SBT ++${{ matrix.scala }} transferCommonResources exportSecretsForActions + + - name: Fetch the latest sdmerge + run: | + curl -L https://github.com/precog/devtools/raw/master/bin/sdmerge > /tmp/sdmerge + chmod +x /tmp/sdmerge + + - name: Self-merge + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + git config --global user.email "bot@precog.com" + git config --global user.name "Precog Bot" + /tmp/sdmerge $GITHUB_REPOSITORY $PR_NUMBER \ No newline at end of file diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml new file mode 100644 index 00000000000..9c4729e014b --- /dev/null +++ b/.github/workflows/clean.yml @@ -0,0 +1,59 @@ +# This file was automatically generated by sbt-github-actions using the +# githubWorkflowGenerate task. You should add and commit this file to +# your git repository. It goes without saying that you shouldn't edit +# this file by hand! Instead, if you wish to make changes, you should +# change your sbt build configuration to revise the workflow description +# to meet your needs, then regenerate this file. + +name: Clean + +on: push + +jobs: + delete-artifacts: + name: Delete Artifacts + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Delete artifacts + run: | + # Customize those three lines with your repository and credentials: + REPO=https://api.github.com/repos/$1 + + # A shortcut to call GitHub API. + ghapi() { curl --silent --location --user _:$GITHUB_TOKEN "$@"; } + + # A temporary file which receives HTTP response headers. + TMPFILE=/tmp/tmp.$$ + + # An associative array, key: artifact name, value: number of artifacts of that name. + declare -A ARTCOUNT + + # Process all artifacts on this repository, loop on returned "pages". + URL=$REPO/actions/artifacts + while [[ -n "$URL" ]]; do + + # Get current page, get response headers in a temporary file. + JSON=$(ghapi --dump-header $TMPFILE "$URL") + + # Get URL of next page. Will be empty if we are at the last page. + URL=$(grep '^Link:' "$TMPFILE" | tr ',' '\n' | grep 'rel="next"' | head -1 | sed -e 's/.*.*//') + rm -f $TMPFILE + + # Number of artifacts on this page: + COUNT=$(( $(jq <<<$JSON -r '.artifacts | length') )) + + # Loop on all artifacts on this page. + for ((i=0; $i < $COUNT; i++)); do + + # Get name of artifact and count instances of this name. + name=$(jq <<<$JSON -r ".artifacts[$i].name?") + ARTCOUNT[$name]=$(( $(( ${ARTCOUNT[$name]} )) + 1)) + + id=$(jq <<<$JSON -r ".artifacts[$i].id?") + size=$(( $(jq <<<$JSON -r ".artifacts[$i].size_in_bytes?") )) + printf "Deleting '%s' #%d, %'d bytes\n" $name ${ARTCOUNT[$name]} $size + ghapi -X DELETE $REPO/actions/artifacts/$id + done + done \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt index 4a886a68216..bf0310d99c3 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -23,4 +23,4 @@ addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "1.0. addSbtPlugin("org.tpolecat" % "tut-plugin" % "0.6.13") addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.3.7") -addSbtPlugin("com.precog" % "sbt-precog" % "1.0.0") +addSbtPlugin("com.precog" % "sbt-precog" % "2.4.11")