Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Series/0.8 #563

Merged
merged 45 commits into from
Sep 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
a2d6398
The Great Schism: Remove Cats Effect 2 and monix
keynmol Jul 6, 2022
63750a8
Fix docs
keynmol Jul 6, 2022
b6af8a2
Remove compatibility layer
keynmol Jul 6, 2022
f9051ed
Log SBT events to trace those damn failing tests
keynmol Jul 6, 2022
76e71fc
Inline background method
keynmol Jul 7, 2022
f56fb5f
wip
Baccata Sep 12, 2022
33201b2
Merge pull request #543 from disneystreaming/the-great-schism
Baccata Sep 12, 2022
8cfc2c3
WIP
Baccata Sep 12, 2022
0b385a6
Add scala-native test interface
keynmol Sep 12, 2022
f6538c8
Wonky TestOutcome protocol
keynmol Sep 12, 2022
282220b
Stop failing tests from hanging
Baccata Sep 13, 2022
401f777
Cleanup
Baccata Sep 13, 2022
d456a05
Most DogfoodTests run
Baccata Sep 13, 2022
5069b78
All DogFoodTests are green
Baccata Sep 13, 2022
fdc2281
Unify JS/Native implementations
Baccata Sep 13, 2022
4c50642
Merge remote-tracking branch 'origin/master' into scala-native
Baccata Sep 13, 2022
04feadd
Merge remote-tracking branch 'origin/master' into series/0.8
Baccata Sep 13, 2022
79d53df
Merge remote-tracking branch 'origin/series/0.8' into scala-native
Baccata Sep 13, 2022
a5518f9
Enable CI for native, add concurrency
Baccata Sep 13, 2022
9c3ddb1
Fix ZIO
Baccata Sep 13, 2022
4babf21
Scalafix
Baccata Sep 14, 2022
a87236b
Command synthesis
Baccata Sep 14, 2022
94c81dc
Synchronise parallel tests
keynmol Sep 14, 2022
55efa0c
Run CI on series/*
keynmol Sep 14, 2022
d94e9f4
Enforce sequential access
keynmol Sep 14, 2022
a6296b0
Update comment
keynmol Sep 14, 2022
a806e3a
Merge pull request #571 from disneystreaming/parallel-latch-dog-food
Baccata Sep 14, 2022
63a2a6d
Merge remote-tracking branch 'origin/series/0.8' into scala-native
Baccata Sep 14, 2022
f30ccbb
Fix compilation?
keynmol Sep 14, 2022
b61b414
Formatting
keynmol Sep 14, 2022
dbfde91
Drop down to stable CE
keynmol Sep 15, 2022
aa7296e
No patience on Native
Baccata Sep 15, 2022
868278e
Merge branch 'scala-native' of https://github.com/disneystreaming/wea…
Baccata Sep 15, 2022
23fddbb
Dropping a bunch of OOTB modules for 0.8.0.
Baccata Sep 15, 2022
6467ab1
Add version summary
Baccata Sep 15, 2022
eaedb97
More clean-up
Baccata Sep 15, 2022
0067a8c
Update fs2 to 3.3.0
keynmol Sep 15, 2022
1179843
Merge pull request #568 from disneystreaming/scala-native
Baccata Sep 15, 2022
91f5c47
Use sbt-ci-release and setup-java GHA
keynmol Sep 15, 2022
2925fc4
Merge remote-tracking branch 'origin/series/0.8' into the-big-wipe
Baccata Sep 16, 2022
8ea5f6b
Merge pull request #577 from disneystreaming/sbt-ci-release
Baccata Sep 16, 2022
31a14c8
Update docs/other_effects.md
Baccata Sep 16, 2022
c57b405
Update docs/other_effects.md
Baccata Sep 16, 2022
a8cdcb9
Merge pull request #576 from disneystreaming/the-big-wipe
Baccata Sep 16, 2022
78d13f2
Merge branch 'main' into series/0.8
Baccata Sep 16, 2022
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
53 changes: 26 additions & 27 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,28 @@ name: CI

on:
pull_request:
branches: ["*"]
branches: ["main", "series/*"]
push:
branches: ["main"]
branches: ["main", "series/*"]
tags: ["v*"]

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: Test ${{matrix.ceVersion}} ${{matrix.scalaVersion}} (${{matrix.scalaPlatform}})
name: Test ${{matrix.scalaVersion}} (${{matrix.scalaPlatform}})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
java: [adopt@1.8]
java: [8]
scalaVersion: ["2_12", "2_13", "3"]
scalaPlatform: ["jvm", "js"]
ceVersion: ["CE2", "CE3"]
scalaPlatform: ["jvm", "js", "native"]
runs-on: ${{ matrix.os }}
env:
BUILD_KEY: ${{matrix.ceVersion}}_${{matrix.scalaVersion}}_${{matrix.scalaPlatform}}
BUILD_KEY: ${{matrix.scalaVersion}}_${{matrix.scalaPlatform}}
steps:
- name: Checkout current branch
uses: actions/checkout@v2
Expand All @@ -30,10 +33,11 @@ jobs:
with:
extraKey: ${{ env.BUILD_KEY }}

- name: Setup Java and Scala
uses: olafurpg/setup-scala@v10
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'sbt'

- name: Run tests
run: |
Expand Down Expand Up @@ -68,37 +72,33 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout current branch
uses: actions/checkout@v2

- name: Cache
uses: coursier/cache-action@v6
uses: actions/checkout@v3

- name: Setup Java and Scala
uses: olafurpg/setup-scala@v10
- uses: actions/setup-java@v3
with:
java-version: adopt@1.8
distribution: 'temurin'
java-version: '8'
cache: 'sbt'

- name: Run mdoc
run: sbt "docs/mdoc"

publish:
name: Publish
needs: [documentation, build]
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v'))
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || (github.ref == 'refs/heads/main'))
runs-on: ubuntu-latest
steps:
- name: Checkout current branch (full)
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Java and Scala
uses: olafurpg/setup-scala@v10
- uses: actions/setup-java@v3
with:
java-version: adopt@1.8

- name: Cache
uses: coursier/cache-action@v6
distribution: 'temurin'
java-version: '8'
cache: 'sbt'

- name: Download compilation cache
uses: actions/download-artifact@v2
Expand All @@ -110,8 +110,7 @@ jobs:

- name: Publish ${{ github.ref }}
run: |
echo $PGP_SECRET | base64 --decode | gpg --import --no-tty --batch --yes
sbt 'pullRemoteCache; release'
sbt 'pullRemoteCache; ci-release'
env:
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
PGP_SECRET: ${{ secrets.PGP_SECRET }}
Expand All @@ -125,7 +124,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout current branch (full)
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0
lfs: true
Expand Down
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
27 changes: 1 addition & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# Weaver-test

A test-framework built on [cats-effect](https://github.com/typelevel/cats-effect) and
[fs2](https://github.com/functional-streams-for-scala/fs2), with [zio](https://zio.dev) and [monix](https://monix.io) interop.
[fs2](https://github.com/functional-streams-for-scala/fs2)

## Installation

Expand All @@ -23,24 +23,8 @@ Refer yourself to the [releases](https://github.com/disneystreaming/weaver-test/
libraryDependencies += "com.disneystreaming" %% "weaver-cats" % "x.y.z" % Test
testFrameworks += new TestFramework("weaver.framework.CatsEffect")

// optionally (for ZIO usage)
libraryDependencies += "com.disneystreaming" %% "weaver-zio" % "x.y.z" % Test
testFrameworks += new TestFramework("weaver.framework.ZIO")

// optionally (for Monix usage)
libraryDependencies += "com.disneystreaming" %% "weaver-monix" % "x.y.z" % Test
testFrameworks += new TestFramework("weaver.framework.Monix")

// optionally (for Monix BIO usage)
libraryDependencies += "com.disneystreaming" %% "weaver-monix-bio" % "x.y.z" % Test
testFrameworks += new TestFramework("weaver.framework.MonixBIO")

// optionally (for Scalacheck usage)
libraryDependencies += "com.disneystreaming" %% "weaver-scalacheck" % "x.y.z" % Test

// optionally (for specs2 interop)
libraryDependencies += "com.disneystreaming" %% "weaver-specs2" % "x.y.z" % Test

```

## Motivation
Expand Down Expand Up @@ -132,20 +116,11 @@ object MySuite extends IOSuite {

Weaver also includes support for

- `ZIO`-based suites via the optional `weaver-zio` dependency
- `Monix`-based suites via the optional `weaver-monix` dependency
- `Monix BIO`-based suites via the optional `weaver-monix-bio` dependency

| Alias | Suite name | Provided by | Use case |
| ----------------- | ------------------------ | ------------------ | --------------------------------------------- |
| `SimpleIOSuite` | `SimpleMutableIOSuite` | `weaver-cats` | Each test is a standalone `IO` action |
| `IOSuite` | `MutableIOSuite` | `weaver-cats` | Each test needs access to a shared `Resource` |
| `SimpleZIOSuite` | `SimpleMutableZIOSuite` | `weaver-zio` | Each test is a standalone `ZIO` action |
| `ZIOSuite[R]` | `MutableZIOSuite[R]` | `weaver-zio` | Each test needs access to a shared `ZLayer` |
| `SimpleTaskSuite` | `SimpleMutableTaskSuite` | `weaver-monix` | Each test is a standalone `Task` action |
| `TaskSuite` | `MutableTaskSuite` | `weaver-monix` | Each test needs access to a shared `Resource` |
| `SimpleIOSuite` | `SimpleMutableIOSuite` | `weaver-monix-bio` | Each test is a standalone `Task` action |
| `IOSuite` | `MutableIOSuite` | `weaver-monix-bio` | Each test needs access to a shared `Resource` |

### Expectations (assertions)

Expand Down
Loading