diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 0000000..a94ba1f --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,2 @@ +# Scala Steward: Reformat with scalafmt 3.1.2 +fb6cfb8aea15a1b339e3ed69e1e96acd7df4cae6 diff --git a/.github/workflows/scala-project-template.yml b/.github/workflows/scala-project-template.yml new file mode 100644 index 0000000..982e639 --- /dev/null +++ b/.github/workflows/scala-project-template.yml @@ -0,0 +1,31 @@ +on: + push: + branches-ignore: + - "update/**" + schedule: + - cron: "0 0 * * 0" + workflow_dispatch: + +name: Update Scala project template + +jobs: + update-scala-project-template: + permissions: + # for aws-actions/configure-aws-credentials to assume an AWS role + id-token: write + # for peter-evans/create-pull-request to create branch + contents: write + # for peter-evans/create-pull-request to create a PR + pull-requests: write + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + - run: git fetch https://github.com/Atry/scala-project-template.git template + - run: git reset --hard FETCH_HEAD + - uses: peter-evans/create-pull-request@v5 + with: + delete-branch: true + base: ${{github.ref_name}} + branch: update/${{github.ref_name}}/scala-project-template + title: Update scala-project-template + token: ${{ secrets.PERSONAL_ACCESS_TOKEN || github.token }} diff --git a/.github/workflows/scala-steward.yml b/.github/workflows/scala-steward.yml new file mode 100644 index 0000000..5350439 --- /dev/null +++ b/.github/workflows/scala-steward.yml @@ -0,0 +1,20 @@ +on: + push: + branches-ignore: + - "update/**" + schedule: + - cron: "0 0 * * 0" + workflow_dispatch: + +name: Launch Scala Steward + +jobs: + scala-steward: + runs-on: ubuntu-22.04 + name: Launch Scala Steward + steps: + - name: Launch Scala Steward + uses: scala-steward-org/scala-steward-action@v2 + with: + github-token: ${{ secrets.PERSONAL_ACCESS_TOKEN || github.token }} + branches: ${{ github.ref_name }} diff --git a/.github/workflows/scala.yml b/.github/workflows/scala.yml index de162a0..423d06b 100644 --- a/.github/workflows/scala.yml +++ b/.github/workflows/scala.yml @@ -1,50 +1,54 @@ name: Scala CI on: -- push -- pull_request + push: + branches-ignore: + - "update/**" + tags: + - "v*" + pull_request: jobs: build: - runs-on: ubuntu-latest strategy: fail-fast: false matrix: scala: - - 2.12.15 + - 2.12.15 distribution: - - temurin + - temurin java: - - 8 - - 11 - - 17 + - 8 + - 11 + - 17 steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 # Need the git history for sbt-dynver to determine the version - - name: Set up JDK - uses: actions/setup-java@v2 - with: - java-version: ${{ matrix.java }} - distribution: ${{ matrix.distribution }} - - name: Cache SBT - uses: actions/cache@v2 - with: - path: | - ~/.ivy2/local/ - ~/.ivy2/cache/ - ~/.sbt/ - ~/.coursier/ - key: | - ${{ runner.os }}-${{ matrix.java }}-${{matrix.scala}}-${{ hashFiles('**/*.sbt') }} - ${{ runner.os }}-${{ matrix.java }}-${{matrix.scala}}- - - name: Run tests - run: sbt ++${{ matrix.scala }} test - - name: Publish to Maven Central Repository - env: - GITHUB_PERSONAL_ACCESS_TOKEN: ${{secrets.PERSONAL_ACCESS_TOKEN}} - if: ${{ env.GITHUB_PERSONAL_ACCESS_TOKEN != '' && matrix.java == 8 && matrix.distribution == 'temurin' }} - run: sbt ++${{ matrix.scala }} "set every Seq(sonatypeSessionName := \"${{github.workflow}} ${{github.run_id}}-${{github.run_number}}-${{github.run_attempt}}-$$ ${{ matrix.scala }}\", publishTo := sonatypePublishToBundle.value)" publishSigned sonatypeBundleRelease + - uses: actions/checkout@v2 + with: + fetch-depth: 0 # Need the git history for sbt-dynver to determine the version + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: ${{ matrix.java }} + distribution: ${{ matrix.distribution }} + - name: Cache SBT + uses: actions/cache@v2 + with: + path: | + ~/.ivy2/local/ + ~/.ivy2/cache/ + ~/.sbt/ + ~/.coursier/ + key: | + ${{runner.os}}-${{matrix.scala}}-${{hashFiles('**/*.sbt')}}-${{matrix.sbt-args}} + ${{runner.os}}-${{matrix.scala}}-${{hashFiles('**/*.sbt')}}- + ${{runner.os}}-${{matrix.scala}}- + - name: Run tests + run: sbt ${{matrix.sbt-args}} ++${{ matrix.scala }} test + - name: Publish to Maven Central Repository + env: + GITHUB_PERSONAL_ACCESS_TOKEN: ${{secrets.PERSONAL_ACCESS_TOKEN}} + if: ${{ env.GITHUB_PERSONAL_ACCESS_TOKEN != '' && github.event_name != 'pull_request' }} + run: sbt ${{matrix.sbt-args}} ++${{ matrix.scala }} "set every Seq(sonatypeSessionName := \"${{github.workflow}} ${{github.run_id}}-${{github.run_number}}-${{github.run_attempt}}-$$ ${{ matrix.scala }}\", publishTo := sonatypePublishToBundle.value)" publishSigned sonatypeBundleRelease diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index cd17bda..0000000 --- a/.gitpod.yml +++ /dev/null @@ -1,5 +0,0 @@ -image: igeolise/scalajs-test-runner:latest -vscode: - extensions: - - scala-lang.scala@0.3.8:wQBBM+lKILHBqOqlqW60xA== - - scalameta.metals@1.9.0:EyAIfy0ykjUn9htpw3f7GA== \ No newline at end of file diff --git a/.scalafmt.conf b/.scalafmt.conf index a5c40ac..e26dcdb 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,3 +1,3 @@ -runner.dialect = "scala212" -version = "3.5.3" +runner.dialect = scala212source3 +version = "3.7.5" maxColumn = 80 diff --git a/project/build.properties b/project/build.properties index c8fcab5..3c0b78a 100755 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.6.2 +sbt.version=1.9.1 diff --git a/project/plugins.sbt b/project/plugins.sbt index cb4e8c9..7108b9d 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,15 +1,4 @@ libraryDependencies += "org.scala-sbt" %% "scripted-plugin" % sbtVersion.value -addSbtPlugin( - "com.thoughtworks.sbt-best-practice" % "sbt-best-practice" % "8.2.1" -) - -addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.9.12") - -addSbtPlugin("com.dwijnand" % "sbt-dynver" % "4.1.1") - -addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.1.2") - -addSbtPlugin("org.lyranthe.sbt" % "partial-unification" % "1.1.2") - -addSbtPlugin("com.thoughtworks.example" % "sbt-example" % "9.2.0") +// Use jgit 5.x because newer version does not support Java 8, while our CI can run on Java 8 +dependencyOverrides += "org.eclipse.jgit" % "org.eclipse.jgit" % "5.13.2.202306221912-r" diff --git a/project/sbt-best-practice.sbt b/project/sbt-best-practice.sbt new file mode 100644 index 0000000..1340249 --- /dev/null +++ b/project/sbt-best-practice.sbt @@ -0,0 +1,3 @@ +addSbtPlugin( + "com.thoughtworks.sbt-best-practice" % "sbt-best-practice" % "8.3.0" +) diff --git a/secret.sbt b/secret.sbt index 3014621..31f167b 100644 --- a/secret.sbt +++ b/secret.sbt @@ -6,7 +6,7 @@ lazy val secret = { org.eclipse.jgit.api.Git .cloneRepository() .setURI( - "https://github.com/ThoughtWorksInc/tw-data-china-continuous-delivery-password.git" + "https://github.com/Atry/secrets.git" ) .setDirectory(secretDirectory) .setCredentialsProvider(