Skip to content
Open
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
164 changes: 140 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,12 @@ jobs:
matrix:
os: [ubuntu-22.04]
scala: [2.12, 2.13, 3]
java: [temurin@11, temurin@17]
project: [rootJS, rootJVM]
java:
- temurin@11
- temurin@17
- temurin@21
- temurin@25
project: [log-effectJS, log-effectNative, log-effectJVM]
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
Expand Down Expand Up @@ -68,6 +72,32 @@ jobs:
if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false'
run: sbt +update

- name: Setup Java (temurin@21)
id: setup-java-temurin-21
if: matrix.java == 'temurin@21'
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false'
run: sbt +update

- name: Setup Java (temurin@25)
id: setup-java-temurin-25
if: matrix.java == 'temurin@25'
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 25
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@25' && steps.setup-java-temurin-25.outputs.cache-hit == 'false'
run: sbt +update

- name: Check that workflows are up to date
run: sbt githubWorkflowCheck

Expand All @@ -76,9 +106,13 @@ jobs:
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck

- name: scalaJSLink
if: matrix.project == 'rootJS'
if: matrix.project == 'log-effectJS'
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' Test/scalaJSLinkerResult

- name: nativeLink
if: matrix.project == 'log-effectNative'
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' Test/nativeLink

- name: Test
run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' test

Expand All @@ -92,11 +126,11 @@ jobs:

- name: Make target directories
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master')
run: mkdir -p zio/.js/target interop/.jvm/target interop/.js/target core/.js/target zio/.jvm/target core/.jvm/target fs2/.js/target fs2/.jvm/target project/target
run: mkdir -p zio/js/target fs2/native/target fs2/jvm/target core/native/target interop/.js/target core/js/target zio/jvm/target fs2/js/target core/jvm/target zio/native/target interop/.jvm/target project/target

- name: Compress target directories
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master')
run: tar cf targets.tar zio/.js/target interop/.jvm/target interop/.js/target core/.js/target zio/.jvm/target core/.jvm/target fs2/.js/target fs2/.jvm/target project/target
run: tar cf targets.tar zio/js/target fs2/native/target fs2/jvm/target core/native/target interop/.js/target core/js/target zio/jvm/target fs2/js/target core/jvm/target zio/native/target interop/.jvm/target project/target

- name: Upload target directories
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master')
Expand Down Expand Up @@ -149,62 +183,118 @@ jobs:
if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false'
run: sbt +update

- name: Download target directories (2.12, rootJS)
- name: Setup Java (temurin@21)
id: setup-java-temurin-21
if: matrix.java == 'temurin@21'
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false'
run: sbt +update

- name: Setup Java (temurin@25)
id: setup-java-temurin-25
if: matrix.java == 'temurin@25'
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 25
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@25' && steps.setup-java-temurin-25.outputs.cache-hit == 'false'
run: sbt +update

- name: Download target directories (2.12, log-effectJS)
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-log-effectJS

- name: Inflate target directories (2.12, log-effectJS)
run: |
tar xf targets.tar
rm targets.tar

- name: Download target directories (2.12, log-effectNative)
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-log-effectNative

- name: Inflate target directories (2.12, log-effectNative)
run: |
tar xf targets.tar
rm targets.tar

- name: Download target directories (2.12, log-effectJVM)
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-rootJS
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-log-effectJVM

- name: Inflate target directories (2.12, rootJS)
- name: Inflate target directories (2.12, log-effectJVM)
run: |
tar xf targets.tar
rm targets.tar

- name: Download target directories (2.12, rootJVM)
- name: Download target directories (2.13, log-effectJS)
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.12-rootJVM
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-log-effectJS

- name: Inflate target directories (2.12, rootJVM)
- name: Inflate target directories (2.13, log-effectJS)
run: |
tar xf targets.tar
rm targets.tar

- name: Download target directories (2.13, rootJS)
- name: Download target directories (2.13, log-effectNative)
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootJS
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-log-effectNative

- name: Inflate target directories (2.13, rootJS)
- name: Inflate target directories (2.13, log-effectNative)
run: |
tar xf targets.tar
rm targets.tar

- name: Download target directories (2.13, rootJVM)
- name: Download target directories (2.13, log-effectJVM)
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-rootJVM
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13-log-effectJVM

- name: Inflate target directories (2.13, rootJVM)
- name: Inflate target directories (2.13, log-effectJVM)
run: |
tar xf targets.tar
rm targets.tar

- name: Download target directories (3, rootJS)
- name: Download target directories (3, log-effectJS)
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootJS
name: target-${{ matrix.os }}-${{ matrix.java }}-3-log-effectJS

- name: Inflate target directories (3, rootJS)
- name: Inflate target directories (3, log-effectJS)
run: |
tar xf targets.tar
rm targets.tar

- name: Download target directories (3, rootJVM)
- name: Download target directories (3, log-effectNative)
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-3-rootJVM
name: target-${{ matrix.os }}-${{ matrix.java }}-3-log-effectNative

- name: Inflate target directories (3, rootJVM)
- name: Inflate target directories (3, log-effectNative)
run: |
tar xf targets.tar
rm targets.tar

- name: Download target directories (3, log-effectJVM)
uses: actions/download-artifact@v6
with:
name: target-${{ matrix.os }}-${{ matrix.java }}-3-log-effectJVM

- name: Inflate target directories (3, log-effectJVM)
run: |
tar xf targets.tar
rm targets.tar
Expand Down Expand Up @@ -276,8 +366,34 @@ jobs:
if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false'
run: sbt +update

- name: Setup Java (temurin@21)
id: setup-java-temurin-21
if: matrix.java == 'temurin@21'
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@21' && steps.setup-java-temurin-21.outputs.cache-hit == 'false'
run: sbt +update

- name: Setup Java (temurin@25)
id: setup-java-temurin-25
if: matrix.java == 'temurin@25'
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 25
cache: sbt

- name: sbt update
if: matrix.java == 'temurin@25' && steps.setup-java-temurin-25.outputs.cache-hit == 'false'
run: sbt +update

- name: Submit Dependencies
uses: scalacenter/sbt-dependency-submission@v2
with:
modules-ignore: rootjs_2.12 rootjs_2.13 rootjs_3 rootjvm_2.12 rootjvm_2.13 rootjvm_3 rootnative_2.12 rootnative_2.13 rootnative_3
modules-ignore: log-effectjs_2.12 log-effectjs_2.13 log-effectjs_3 log-effectnative_2.12 log-effectnative_2.13 log-effectnative_3 log-effectjvm_2.12 log-effectjvm_2.13 log-effectjvm_3
configs-ignore: test scala-tool scala-doc-tool test-internal
3 changes: 3 additions & 0 deletions .sbtopts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-J-Xms2g
-J-Xmx4g
-J-XX:MaxMetaspaceSize=512m
2 changes: 1 addition & 1 deletion .scalafmt.conf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
version=3.10.7

runner.dialect = scala213
runner.dialect = scala213source3

align.preset = more
maxColumn = 100
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2018 laserdisc-io
Copyright (c) 2018-2026 LaserDisc

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
[![log-effect-interop Scala version support](https://index.scala-lang.org/laserdisc-io/log-effect/log-effect-interop/latest-by-scala-version.svg?platform=jvm&color=009933)](https://index.scala-lang.org/laserdisc-io/log-effect/log-effect-interop)

## Start
Log Effect is available for Scala **_2.12_**, **_2.13_** and **_3_**. Helper constructors are provided for **Cats Effect**'s `Sync` `F[_]`, for **Fs2**'s `Stream` and for **ZIO**'s `Task`.
Log Effect is available for Scala **_2.12_**, **_2.13_** and **_3_** on JVM, JavaScript and Native. Helper constructors are provided for **Cats Effect**'s `Sync` `F[_]`, for **Fs2**'s `Stream` and for **ZIO**'s `Task`.
Add
```scala
libraryDependencies += "io.laserdisc" %% "log-effect-fs2" % <latest-fs2-version>
Expand All @@ -32,7 +32,7 @@ will be enough. For the latest versions available please refer to the badges bel

## Backends
Currently Log Effect supports the following backends
- Log4s
- Log4s (on JVM and JS)
- Java Logging (Jul)
- Scribe
- Console
Expand Down
Loading