Skip to content
This repository has been archived by the owner on Jan 13, 2025. It is now read-only.

Update dependencies; Remove Scala 2.11 #253

Merged
merged 1 commit into from
Aug 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
225 changes: 148 additions & 77 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
# This file was autogenerated using `zio-sbt-ci` plugin via `sbt generateGithubWorkflow`
# This file was autogenerated using `zio-sbt-ci` plugin via `sbt ciGenerateGithubWorkflow`
# task and should be included in the git repository. Please do not edit it manually.

name: CI
env:
JDK_JAVA_OPTIONS: -XX:+PrintCommandLineFlags -Xmx6G -Xss4M -XX:+UseG1GC
JVM_OPTS: -XX:+PrintCommandLineFlags -Xmx6G -Xss4M -XX:+UseG1GC
NODE_OPTIONS: --max_old_space_size=6144
JDK_JAVA_OPTIONS: -XX:+PrintCommandLineFlags
'on':
workflow_dispatch: {}
release:
Expand All @@ -14,44 +12,59 @@ env:
push:
branches:
- series/2.x
pull_request: {}
pull_request:
branches-ignore:
- gh-pages
concurrency:
group: ${{ github.workflow }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.run_id || github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Git Checkout
uses: actions/checkout@v3.3.0
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Install libuv
run: sudo apt-get update && sudo apt-get install -y libuv1-dev
- name: Setup Scala
uses: actions/setup-java@v3.10.0
uses: actions/setup-java@v4
with:
distribution: temurin
distribution: corretto
java-version: '17'
check-latest: true
- name: Check if the site workflow is up to date
run: sbt checkGithubWorkflow
- name: Cache Dependencies
uses: coursier/cache-action@v6
- name: Check all code compiles
run: sbt +Test/compile
- name: Check artifacts build process
run: sbt +publishLocal
run: sbt +publishLocal
- name: Check website build process
run: sbt docs/clean; sbt docs/buildWebsite
run: sbt docs/clean; sbt docs/buildWebsite
lint:
name: Lint
runs-on: ubuntu-latest
continue-on-error: false
steps:
- name: Git Checkout
uses: actions/checkout@v3.3.0
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Install libuv
run: sudo apt-get update && sudo apt-get install -y libuv1-dev
- name: Setup Scala
uses: actions/setup-java@v3.10.0
uses: actions/setup-java@v4
with:
distribution: temurin
distribution: corretto
java-version: '17'
check-latest: true
- name: Cache Dependencies
uses: coursier/cache-action@v6
- name: Check if the site workflow is up to date
run: sbt ciCheckGithubWorkflow
- name: Lint
run: sbt lint
test:
Expand All @@ -62,125 +75,183 @@ jobs:
fail-fast: false
matrix:
java:
- '8'
- '11'
- '17'
scala-project:
- ++2.11.12 zioOpticsJVM
- ++2.12.17 zioOpticsJVM
- ++2.13.10 zioOpticsJVM
- ++3.2.2 zioOpticsJVM
- ++2.11.12 zioOpticsNative
- ++2.12.17 zioOpticsNative
- ++2.13.10 zioOpticsNative
- ++3.2.2 zioOpticsNative
- ++2.11.12 zioOpticsJS
- ++2.12.17 zioOpticsJS
- ++2.13.10 zioOpticsJS
- '21'
steps:
- name: Install libuv
run: sudo apt-get update && sudo apt-get install -y libuv1-dev
- name: Setup Scala
uses: actions/setup-java@v3.10.0
uses: actions/setup-java@v4
with:
distribution: temurin
distribution: corretto
java-version: ${{ matrix.java }}
check-latest: true
- name: Cache Dependencies
uses: coursier/cache-action@v6
- name: Git Checkout
uses: actions/checkout@v3.3.0
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Test
run: sbt ${{ matrix.scala-project }}/test
release:
name: Release
run: sbt +test
update-readme:
name: Update README
runs-on: ubuntu-latest
continue-on-error: false
if: ${{ github.event_name == 'push' }}
steps:
- name: Git Checkout
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Install libuv
run: sudo apt-get update && sudo apt-get install -y libuv1-dev
- name: Setup Scala
uses: actions/setup-java@v4
with:
distribution: corretto
java-version: '17'
check-latest: true
- name: Cache Dependencies
uses: coursier/cache-action@v6
- name: Generate Readme
run: sbt docs/generateReadme
- name: Commit Changes
run: |
git config --local user.email "zio-assistant[bot]@users.noreply.github.com"
git config --local user.name "ZIO Assistant"
git add README.md
git commit -m "Update README.md" || echo "No changes to commit"
- name: Generate Token
id: generate-token
uses: zio/generate-github-app-token@v1.0.0
with:
app_id: ${{ secrets.APP_ID }}
app_private_key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v6
with:
body: |-
Autogenerated changes after running the `sbt docs/generateReadme` command of the [zio-sbt-website](https://zio.dev/zio-sbt) plugin.

I will automatically update the README.md file whenever there is new change for README.md, e.g.
- After each release, I will update the version in the installation section.
- After any changes to the "docs/index.md" file, I will update the README.md file accordingly.
branch: zio-sbt-website/update-readme
commit-message: Update README.md
token: ${{ steps.generate-token.outputs.token }}
delete-branch: true
title: Update README.md
- name: Approve PR
if: ${{ steps.cpr.outputs.pull-request-number }}
run: gh pr review "$PR_URL" --approve
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_URL: ${{ steps.cpr.outputs.pull-request-url }}
- name: Enable Auto-Merge
if: ${{ steps.cpr.outputs.pull-request-number }}
run: gh pr merge --auto --squash "$PR_URL" || gh pr merge --squash "$PR_URL"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_URL: ${{ steps.cpr.outputs.pull-request-url }}
ci:
name: ci
runs-on: ubuntu-latest
continue-on-error: false
needs:
- build
- lint
- test
- build
steps:
- name: Report Successful CI
run: echo "ci passed"
release:
name: Release
runs-on: ubuntu-latest
continue-on-error: false
needs:
- ci
if: ${{ github.event_name != 'pull_request' }}
steps:
- name: Git Checkout
uses: actions/checkout@v3.3.0
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Install libuv
run: sudo apt-get update && sudo apt-get install -y libuv1-dev
- name: Setup Scala
uses: actions/setup-java@v3.10.0
uses: actions/setup-java@v4
with:
distribution: temurin
distribution: corretto
java-version: '17'
check-latest: true
- name: Cache Dependencies
uses: coursier/cache-action@v6
- name: Release
run: sbt ci-release
env:
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
PGP_SECRET: ${{ secrets.PGP_SECRET }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
publish-docs:
name: Publish Docs
release-docs:
name: Release Docs
runs-on: ubuntu-latest
continue-on-error: false
needs:
- release
if: ${{ ((github.event_name == 'release') && (github.event.action == 'published')) || (github.event_name == 'workflow_dispatch') }}
steps:
- name: Git Checkout
uses: actions/checkout@v3.3.0
uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Install libuv
run: sudo apt-get update && sudo apt-get install -y libuv1-dev
- name: Setup Scala
uses: actions/setup-java@v3.10.0
uses: actions/setup-java@v4
with:
distribution: temurin
distribution: corretto
java-version: '17'
check-latest: true
- name: Cache Dependencies
uses: coursier/cache-action@v6
- name: Setup NodeJs
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16.x
registry-url: https://registry.npmjs.org
- name: Publish Docs to NPM Registry
run: sbt docs/publishToNpm
run: sbt docs/publishToNpm
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
generate-readme:
name: Generate README
notify-docs-release:
name: Notify Docs Release
runs-on: ubuntu-latest
continue-on-error: false
needs:
- release
if: ${{ (github.event_name == 'push') || ((github.event_name == 'release') && (github.event.action == 'published')) }}
- release-docs
if: ${{ (github.event_name == 'release') && (github.event.action == 'published') }}
steps:
- name: Git Checkout
uses: actions/checkout@v3.3.0
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
fetch-depth: '0'
- name: Setup Scala
uses: actions/setup-java@v3.10.0
with:
distribution: temurin
java-version: '17'
check-latest: true
- name: Generate Readme
run: sbt docs/generateReadme
- name: Commit Changes
- name: notify the main repo about the new release of docs package
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add README.md
git commit -m "Update README.md" || echo "No changes to commit"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4.2.3
with:
body: |-
Autogenerated changes after running the `sbt docs/generateReadme` command of the [zio-sbt-website](https://zio.dev/zio-sbt) plugin.

I will automatically update the README.md file whenever there is new change for README.md, e.g.
- After each release, I will update the version in the installation section.
- After any changes to the "docs/index.md" file, I will update the README.md file accordingly.
branch: zio-sbt-website/update-readme
commit-message: Update README.md
delete-branch: true
title: Update README.md
PACKAGE_NAME=$(cat docs/package.json | grep '"name"' | awk -F'"' '{print $4}')
PACKAGE_VERSION=$(npm view $PACKAGE_NAME version)
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token ${{ secrets.PAT_TOKEN }}"\
https://api.github.com/repos/zio/zio/dispatches \
-d '{
"event_type":"update-docs",
"client_payload":{
"package_name":"'"${PACKAGE_NAME}"'",
"package_version": "'"${PACKAGE_VERSION}"'"
}
}'
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ ZIO Optics makes it easy to compose more complex optics from simpler ones, to de
In order to use this library, we need to add the following line in our `build.sbt` file:

```scala
libraryDependencies += "dev.zio" %% "zio-optics" % "0.2.0"
libraryDependencies += "dev.zio" %% "zio-optics" % "0.2.1"
```

## Example
Expand Down Expand Up @@ -120,11 +120,11 @@ Learn more on the [ZIO Optics homepage](https://zio.dev/zio-optics)!

## Contributing

For the general guidelines, see ZIO [contributor's guide](https://zio.dev/about/contributing).
For the general guidelines, see ZIO [contributor's guide](https://zio.dev/contributor-guidelines).

## Code of Conduct

See the [Code of Conduct](https://zio.dev/about/code-of-conduct)
See the [Code of Conduct](https://zio.dev/code-of-conduct)

## Support

Expand Down
16 changes: 6 additions & 10 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,7 @@ inThisBuild(
url("https://github.com/adamgfraser")
)
),
supportedScalaVersions :=
Map(
(zioOptics.jvm / thisProject).value.id -> (zioOptics.jvm / crossScalaVersions).value,
(zioOptics.native / thisProject).value.id -> (zioOptics.native / crossScalaVersions).value,
(zioOptics.js / thisProject).value.id -> (zioOptics.js / crossScalaVersions).value.filterNot(_ == scala3.value)
)
scala213 := "2.13.14"
)
)

Expand All @@ -46,7 +41,7 @@ addCommandAlias(
";zioOpticsNative/test:compile"
)

val zioVersion = "2.0.10"
val zioVersion = "2.1.7"

lazy val root = project
.in(file("."))
Expand All @@ -63,10 +58,12 @@ lazy val root = project

lazy val zioOptics = crossProject(JSPlatform, JVMPlatform, NativePlatform)
.in(file("zio-optics"))
.settings(stdSettings(name = "zio-optics", packageName = Some("zio.optics"), enableCrossProject = true))
.settings(stdSettings(name = Some("zio-optics"), packageName = Some("zio.optics"), enableCrossProject = true))
.settings(enableZIO())
.settings(
libraryDependencies += "dev.zio" %%% "zio-test-sbt" % zioVersion % Test
libraryDependencies += "dev.zio" %%% "zio" % zioVersion,
libraryDependencies += "dev.zio" %%% "zio-test-sbt" % zioVersion % Test,
libraryDependencies += "dev.zio" %%% "zio-test" % zioVersion % Test
)
.jvmSettings(scala3Settings)
.jvmSettings(scalaReflectTestSettings)
Expand All @@ -89,7 +86,6 @@ lazy val docs = project
moduleName := "zio-optics-docs",
scalacOptions -= "-Yno-imports",
scalacOptions -= "-Xfatal-warnings",
crossScalaVersions -= scala211.value,
projectName := (ThisBuild / name).value,
mainModuleName := (zioOptics.jvm / moduleName).value,
projectStage := ProjectStage.Development,
Expand Down
Loading