diff --git a/.github/settings.yml b/.github/settings.yml deleted file mode 100644 index 337e84aa8..000000000 --- a/.github/settings.yml +++ /dev/null @@ -1,105 +0,0 @@ -# These settings are synced to GitHub by https://probot.github.io/apps/settings/ -repository: - homepage: "https://www.playframework.com/documentation/latest/JavaWS" - topics: playframework, asynchttpclient, scala, http-client, java, asynchronous, reactive, reactive-streams - private: false - has_issues: true - has_projects: true - # We don't need wiki since the documentation lives in playframework.com - has_wiki: false - has_downloads: true - default_branch: master - allow_squash_merge: true - allow_merge_commit: false - allow_rebase_merge: false - -teams: - - name: core - permission: admin - - name: integrators - permission: write - -branches: - - name: "*" - protection: - required_pull_request_reviews: - required_approving_review_count: 1 - dismiss_stale_reviews: true - # Require status checks to pass before merging - required_status_checks: - # The list of status checks to require in order to merge into this branch - contexts: ["Travis CI - Pull Request", "typesafe-cla-validator"] - # all settins in branches.protection must be set, if not used we must set to null - restrictions: null - enforce_admins: null - -labels: - - color: f9d0c4 - name: "closed:declined" - - color: f9d0c4 - name: "closed:duplicated" - oldname: duplicate - - color: f9d0c4 - name: "closed:invalid" - oldname: invalid - - color: f9d0c4 - name: "closed:question" - oldname: question - - color: f9d0c4 - name: "closed:wontfix" - oldname: wontfix - - color: 7057ff - name: "good first issue" - - color: 7057ff - name: "Hacktoberfest" - - color: 7057ff - name: "help wanted" - - color: cceecc - name: "status:backlog" - oldname: backlog - - color: b60205 - name: "status:block-merge" - oldname: block-merge - - color: b60205 - name: "status:blocked" - - color: 0e8a16 - name: "status:in-progress" - - color: 0e8a16 - name: "status:merge-when-green" - oldname: merge-when-green - - color: fbca04 - name: "status:needs-backport" - oldname: needs-backport - - color: fbca04 - name: "status:needs-forwardport" - - color: fbca04 - name: "status:needs-info" - - color: fbca04 - name: "status:needs-verification" - oldname: needs-confirmation - - color: 0e8a16 - name: "status:ready" - - color: fbca04 - name: "status:to-review" - oldname: review - - color: c5def5 - name: "topic:build/tests" - - color: c5def5 - name: "topic:dev-environment" - - color: c5def5 - name: "topic:documentation" - - color: c5def5 - name: "topic:jdk-next" - - color: b60205 - name: "type:defect" - oldname: bug - - color: 0052cc - name: "type:feature" - - color: 0052cc - name: "type:improvement" - oldname: enhancement - - color: 0052cc - name: "type:updates" - - color: 0052cc - name: "type:upstream" - oldname: akka-http-backend diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 000000000..ba331a5ce --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,140 @@ +name: Pull Requests + +on: + pull_request: + branches: + - main + - 2.1.x + +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: Check / Code Style !!!11 + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + # we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves + fetch-depth: 0 + + - name: Set up JDK 11 + uses: olafurpg/setup-scala@v13 + with: + java-version: adopt@1.11 + + - name: Cache Coursier cache + uses: coursier/cache-action@v6.2 + + - name: Code validations + run: sbt validateCode + + check-binary-compatibility: + name: Check / Binary Compatibility + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + # we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves + fetch-depth: 0 + + - name: Set up JDK 11 + uses: olafurpg/setup-scala@v13 + with: + java-version: adopt@1.11 + + - name: Cache Coursier cache + uses: coursier/cache-action@v6.2 + + - name: MiMa validations + run: sbt mimaReportBinaryIssues + + check-docs: + name: Check / Docs + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + # we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves + fetch-depth: 0 + + - name: Set up JDK 11 + uses: olafurpg/setup-scala@v13 + with: + java-version: adopt@1.11 + + - name: Cache Coursier cache + uses: coursier/cache-action@v6.2 + + - name: Docs validations + run: sbt doc + + tests: + if: ${{ github.base_ref != '2.1.x' }} + runs-on: ubuntu-20.04 + needs: # Waiting more lightweight checks + - "check-code-style" + - "check-binary-compatibility" + - "check-docs" + strategy: + matrix: + jdk: [ 11, 8 ] + scala: [ 2.13.8 ] # Should be sync with Mergify conditions (.mergify.yml) + name: Check / Tests (Scala ${{ matrix.scala }} & JDK ${{ matrix.jdk }}) + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + # we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves + fetch-depth: 0 + + - name: Set up JDK ${{ matrix.jdk }} + uses: olafurpg/setup-scala@v13 + with: + java-version: adopt@1.${{ matrix.jdk }} + + - name: Cache Coursier cache + uses: coursier/cache-action@v6.2 + + - name: Tests + run: sbt ++$SCALA_VERSION 'testOnly -- xonly timefactor 5' + env: + SCALA_VERSION: ${{ matrix.scala }} + + tests-21x: + if: ${{ github.base_ref == '2.1.x' }} + runs-on: ubuntu-20.04 + needs: # Waiting more lightweight checks + - "check-code-style" + - "check-binary-compatibility" + - "check-docs" + strategy: + matrix: + jdk: [ 11, 8 ] + scala: [ 2.12.15, 2.13.8 ] # Should be sync with Mergify conditions (.mergify.yml) + name: Check / Tests (Scala ${{ matrix.scala }} & JDK ${{ matrix.jdk }}) + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + # we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves + fetch-depth: 0 + + - name: Set up JDK ${{ matrix.jdk }} + uses: olafurpg/setup-scala@v13 + with: + java-version: adopt@1.${{ matrix.jdk }} + + - name: Cache Coursier cache + uses: coursier/cache-action@v6.2 + + - name: Tests + run: sbt ++$SCALA_VERSION 'testOnly -- xonly timefactor 5' + env: + SCALA_VERSION: ${{ matrix.scala }} diff --git a/README.md b/README.md index d5713f238..c92a25d45 100644 --- a/README.md +++ b/README.md @@ -400,3 +400,7 @@ The script will walk you through integration tests and publishing. ## License Play WS is licensed under the Apache license, version 2. See the LICENSE file for more information. + + + +