diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 00000000..7f5cee6e --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,14 @@ +version: 1 +labels: + - label: "automerge" + authors: ["softwaremill-ci"] + files: + - "build.sbt" + - "project/plugins.sbt" + - "project/build.properties" + - label: "dependency" + authors: ["softwaremill-ci"] + files: + - "build.sbt" + - "project/plugins.sbt" + - "project/build.properties" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ab354c7..c217c58d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -132,3 +132,41 @@ jobs: find $HOME/.ivy2/cache -name "*-LM-SNAPSHOT*" -delete || true find $HOME/.cache/coursier/v1 -name "ivydata-*.properties" -delete || true find $HOME/.sbt -name "*.lock" -delete || true + + # `automerge` label is attached iff there is exactly one file changed by steward and this file belongs to a + # whitelist specified by `labeler.yml` + label: + name: Attach automerge label + # only for PRs by softwaremill-ci + if: github.event.pull_request.user.login == 'softwaremill-ci' + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 2 + # count number of files changed + - name: Count number of files changed + id: count-changed-files + run: | + N=$(git diff --name-only -r HEAD^1 HEAD | wc -w) + echo "changed_files_num=$N" >> $GITHUB_OUTPUT + - name: Launch labeler + # skip if more than one file changed + if: steps.count-changed-files.outputs.changed_files_num == 1 + uses: srvaroa/labeler@master + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + + auto-merge: + name: Auto merge + # only for PRs by softwaremill-ci + if: github.event.pull_request.user.login == 'softwaremill-ci' + needs: [ ci, mima, label ] + runs-on: ubuntu-22.04 + steps: + - id: automerge + name: automerge + uses: "pascalgn/automerge-action@v0.15.6" + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + MERGE_METHOD: "squash" \ No newline at end of file diff --git a/.mergify.yml b/.mergify.yml deleted file mode 100644 index 6074b01c..00000000 --- a/.mergify.yml +++ /dev/null @@ -1,54 +0,0 @@ -pull_request_rules: - - name: delete head branch after merge - conditions: [] - actions: - delete_head_branch: {} - - name: automatic merge for softwaremill-ci pull requests affecting build.sbt - conditions: - - author=softwaremill-ci - - check-success=ci - - check-success=mima - - "#files=1" - - files=build.sbt - actions: - merge: - method: merge - - name: automatic merge for softwaremill-ci pull requests affecting project plugins.sbt - conditions: - - author=softwaremill-ci - - check-success=ci - - check-success=mima - - "#files=1" - - files=project/plugins.sbt - actions: - merge: - method: merge - - name: semi-automatic merge for softwaremill-ci pull requests - conditions: - - author=softwaremill-ci - - check-success=ci - - check-success=mima - - "#approved-reviews-by>=1" - actions: - merge: - method: merge - - name: automatic merge for softwaremill-ci pull requests affecting project build.properties - conditions: - - author=softwaremill-ci - - check-success=ci - - check-success=mima - - "#files=1" - - files=project/build.properties - actions: - merge: - method: merge - - name: automatic merge for softwaremill-ci pull requests affecting .scalafmt.conf - conditions: - - author=softwaremill-ci - - check-success=ci - - check-success=mima - - "#files=1" - - files=.scalafmt.conf - actions: - merge: - method: merge diff --git a/README.md b/README.md index c270b1f0..dc7d1fcb 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Add the following dependency: "com.softwaremill.sttp.model" %% "core" % "1.7.10" ``` -sttp model is available for Scala 2.11, 2.12, 2.13, 3.0.0, Scala.JS and Scala Native. +sttp model is available for 2.12, 2.13, 3.0.0, Scala.JS and Scala Native. ## Project content