diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 00000000..fc1b3c5e --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,50 @@ +name: Check + +on: + pull_request: + + push: + branches: + - main # Check main branch after merge + +concurrency: + # Only run once for latest commit per ref and cancel other (previous) runs. + group: ci-${{ github.ref }} + cancel-in-progress: true + +jobs: + check-code-style: + name: Code Style + uses: playframework/.github/.github/workflows/sbt.yml@v1 + with: + cmd: sbt scalafmtCheckAll scalafmtSbtCheck + + check-binary-compatibility: + name: Binary Compatibility + uses: playframework/.github/.github/workflows/binary-check.yml@v1 + + check-docs: + name: Docs + uses: playframework/.github/.github/workflows/sbt.yml@v1 + with: + cmd: sbt docs/scalafmtCheckAll docs/scalafmtSbtCheck docs/test docs/validateDocs + + tests: + name: Tests + needs: # Waiting more lightweight checks + - "check-code-style" + - "check-binary-compatibility" + - "check-docs" + uses: playframework/.github/.github/workflows/sbt-matrix.yml@v1 + with: + java: >- + [ "11", "8" ] + scala: >- + [ "2.12.15", "2.13.8" ] + cmd: sbt ++$SCALA_VERSION test + + finish: + name: Finish + needs: # Should be last + - "tests" + uses: playframework/.github/.github/workflows/rtm.yml@v1 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..f0004ffe --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,17 @@ +name: Publish + +on: + push: + branches: # Snapshots + - main + tags: ["*"] # Releases + +jobs: + publish-artifacts: + name: Publish / Artifacts + uses: playframework/.github/.github/workflows/publish.yml@v1 + secrets: + username: ${{ secrets.SONATYPE_USERNAME }} + password: ${{ secrets.SONATYPE_PASSWORD }} + pgp_passphrase: ${{ secrets.PGP_PASSPHRASE }} + pgp_secret: ${{ secrets.PGP_SECRET }} diff --git a/.mergify.yml b/.mergify.yml index 93083e96..ecbefc9f 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -1,20 +1,28 @@ +queue_rules: + - name: default + conditions: + # Conditions to get out of the queue (= merged) + - check-success~=/ Ready To Merge$ pull_request_rules: - name: Merge PRs that are ready conditions: - - status-success=Travis CI - Pull Request - - status-success=typesafe-cla-validator + - check-success~=/ Ready To Merge$ + - check-success=typesafe-cla-validator - "#approved-reviews-by>=1" - "#review-requested=0" - "#changes-requested-reviews-by=0" - label!=status:block-merge - label=status:merge-when-green actions: - merge: + queue: method: merge - + name: default + - name: Delete the PR branch after merge conditions: - merged actions: delete_head_branch: {} + label: + remove: [ "status:merge-when-green" ] \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e68ff9c1..00000000 --- a/.travis.yml +++ /dev/null @@ -1,41 +0,0 @@ -language: scala - -scala: -- 2.12.15 -- 2.13.8 - - -git: - depth: false # Avoid sbt-dynver not seeing the tag - -env: - - TRAVIS_JDK=8 - - TRAVIS_JDK=11 - -before_install: curl -Ls https://git.io/jabba | bash && . ~/.jabba/jabba.sh -install: jabba install "adopt@~1.$TRAVIS_JDK.0-0" && jabba use "$_" && java -Xmx32m -version - -script: - - sbt ++$TRAVIS_SCALA_VERSION scalafmtCheckAll scalafmtSbtCheck mimaReportBinaryIssues - - sbt ++$TRAVIS_SCALA_VERSION docs/scalafmtCheckAll docs/scalafmtSbtCheck docs/test docs/validateDocs - -cache: - directories: - - $HOME/.cache/coursier - - $HOME/.ivy2/cache - - $HOME/.jabba/jdk - - $HOME/.sbt - - $HOME/.coursier - -before_cache: - # Ensure changes to the cache aren't persisted - - rm -rf $HOME/.ivy2/cache/com.typesafe.play/play-slick* - # Delete all ivydata files since ivy touches them on each build - - find $HOME/.ivy2/cache -name "ivydata-*.properties" | xargs rm - -notifications: - webhooks: - urls: - - https://webhooks.gitter.im/e/d2c8a242a2615f659595 - on_success: always - on_failure: always diff --git a/README.md b/README.md index 071519e6..995bbd8e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Play Slick -[![Build Status](https://travis-ci.org/playframework/play-slick.png?branch=main)](https://travis-ci.org/playframework/play-slick) [![codecov.io](https://codecov.io/github/playframework/play-slick/coverage.svg?branch=main)](https://codecov.io/github/playframework/play-slick?branch=main) +[![Build Status](https://github.com/playframework/play-slick/actions/workflows/build-test.yml/badge.svg)](https://github.com/playframework/play-slick/actions/workflows/build-test.yml) The Play Slick module makes [Slick] a first-class citizen of [Play]. It consists of two features: