Skip to content
New issue

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

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

Already on GitHub? # to your account

Apply ZIO SBT Ecosystem Plugin #1091

Open
wants to merge 60 commits into
base: series/4.x
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 58 commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
8027461
initial work.
khajavi Feb 28, 2023
f0bf7a0
zio config settings.
khajavi Mar 1, 2023
81df7f9
js, jvm and native settings.
khajavi Mar 1, 2023
8ab053f
zioConfigAws.
khajavi Mar 1, 2023
2541259
enable streaming.
khajavi Mar 1, 2023
ac4b135
zioConfigAwsJVM.
khajavi Mar 1, 2023
20f5eec
zioConfigAws.
khajavi Mar 1, 2023
19ef6f3
more setting migration.
khajavi Mar 1, 2023
da087eb
more settings.
khajavi Mar 1, 2023
1cc26da
move most settings to new version.
khajavi Mar 1, 2023
9f43df7
remove scala211.
khajavi Mar 1, 2023
0a7630a
remove build helper.
khajavi Mar 1, 2023
c098265
scala 211.
khajavi Mar 1, 2023
0186d86
stop forcing unsupported scala version.
khajavi Mar 1, 2023
8dc8be8
remove website workflow.
khajavi Mar 1, 2023
3c7292d
update scala versions.
khajavi Mar 1, 2023
3919d9d
remove scala211 from zio config js module.
khajavi Mar 1, 2023
677a7f9
prevent turning warnings to errors.
khajavi Mar 1, 2023
59ba178
generate ci.
khajavi Mar 1, 2023
3a7155a
remove scala211.
khajavi Mar 1, 2023
b821d30
nowarn.
khajavi Mar 1, 2023
6ea9171
update enumeratum.
khajavi Mar 2, 2023
0461b48
remove noindent scalac options.
khajavi Mar 2, 2023
b2ed84f
make the root cross scala version empty.
khajavi Mar 2, 2023
0bc90bb
update zio-sbt plugins.
khajavi Mar 2, 2023
ecc354f
remove scala3 from zioConfigPureJVM module.
khajavi Mar 2, 2023
a632665
remove scala3 from zioConfigTypesafeMagnoliaTestsJVM module.
khajavi Mar 2, 2023
de5e8ce
regenerate ci workflow.
khajavi Mar 2, 2023
34ff498
Revert "remove scala3 from zioConfigPureJVM module."
khajavi Mar 2, 2023
64b62d5
fmt.
khajavi Mar 2, 2023
c37176d
fmt and fix.
khajavi Mar 2, 2023
0141837
remove extra command aliases.
khajavi Mar 2, 2023
713bcd8
update ci.
khajavi Mar 2, 2023
76d60b3
remove scala3 from two modules.
khajavi Mar 4, 2023
6e35536
generate ci.
khajavi Mar 4, 2023
db67037
remove extra commands.
khajavi Mar 7, 2023
23fd7ba
fmt
khajavi Mar 10, 2023
bda9921
update ci.
khajavi Mar 7, 2023
d324327
include master branch for ci trigger.
khajavi Mar 8, 2023
a1fa92d
increase initial and maximum heap size.
khajavi Mar 8, 2023
f72a709
set max parallel test to 4.
khajavi Mar 8, 2023
a6d0131
set max parallel test to 8.
khajavi Mar 8, 2023
8e1f60e
scalafix.
khajavi Mar 8, 2023
eb80de3
fix docs generation warning.
khajavi Mar 8, 2023
43c2bd1
fmt.
khajavi Mar 8, 2023
3deac09
scalafix.
khajavi Mar 8, 2023
f287178
add back scala 3 support for zioConfigMagnoliaJVM and zioConfigRefine…
khajavi Mar 9, 2023
b2636a8
fmt.
khajavi Mar 10, 2023
a9a0a06
update zio-sbt plugins.
khajavi Mar 11, 2023
707ef7a
add utility functions for add dependencies and scalac options.
khajavi Mar 11, 2023
5209534
increase Xmax-inlines to 64.
khajavi Mar 12, 2023
2326962
fix name for docs project.
khajavi Mar 12, 2023
73aeffc
fix build errors.
khajavi Mar 12, 2023
6e5bf5b
remove scala 3 support from refined module.
khajavi Mar 12, 2023
a1b4dc1
update zio-sbt plugins.
khajavi Mar 12, 2023
25b80bf
scalafix.
khajavi Mar 12, 2023
e37453f
remove CheckAllCodeCompiles step from ci.
khajavi Mar 14, 2023
dfbb8df
refined: add support for scala 3.
khajavi Mar 14, 2023
be7e985
Merge branch 'series/4.x' into apply-zio-ecosystem-plugin
afsalthaj Mar 24, 2023
1d8ee07
Merge branch 'series/4.x' into apply-zio-ecosystem-plugin
khajavi May 21, 2024
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
301 changes: 226 additions & 75 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,89 +1,240 @@
name: CI
# This file was autogenerated using `zio-sbt-ci` plugin via `sbt generateGithubWorkflow`
# task and should be included in the git repository. Please do not edit it manually.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍


name: CI
env:
JDK_JAVA_OPTIONS: '-XX:+PrintCommandLineFlags -Xmx4G' # JDK_JAVA_OPTIONS is _the_ env. variable to use for modern Java
JVM_OPTS: '-XX:+PrintCommandLineFlags -Xmx4G' # for Java 8 only (sadly, it is not modern enough for JDK_JAVA_OPTIONS)

on:
pull_request:
push:
branches: ['master', 'series/4.x']
JDK_JAVA_OPTIONS: -XX:+PrintCommandLineFlags -Xmx6G -Xss4M -XX:+UseG1GC
JVM_OPTS: -XX:+PrintCommandLineFlags -Xmx6G -Xss4M -XX:+UseG1GC
NODE_OPTIONS: --max_old_space_size=6144
'on':
workflow_dispatch: {}
release:
types:
- published

- published
push:
branches:
- master
- series/4.x
pull_request: {}
jobs:
website:
runs-on: ubuntu-20.04
timeout-minutes: 60
build:
name: Build
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout current branch
uses: actions/checkout@v3.3.0
- name: Setup Scala and Java
uses: olafurpg/setup-scala@v14
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Check Document Generation
run: ./sbt docs/compileDocs

- name: Git Checkout
uses: actions/checkout@v3.3.0
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
with:
distribution: temurin
java-version: '8'
check-latest: true
- name: Check if the site workflow is up to date
run: sbt -J-XX:+UseG1GC -J-Xmx6g -J-Xms4g -J-Xss16m checkGithubWorkflow
- name: Check artifacts build process
run: sbt -J-XX:+UseG1GC -J-Xmx6g -J-Xms4g -J-Xss16m +publishLocal
- name: Check website build process
run: sbt docs/clean; sbt -J-XX:+UseG1GC -J-Xmx6g -J-Xms4g -J-Xss16m docs/buildWebsite
lint:
name: Lint
runs-on: ubuntu-latest
continue-on-error: false
steps:
- name: Git Checkout
uses: actions/checkout@v3.3.0
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
with:
distribution: temurin
java-version: '8'
check-latest: true
- name: Lint
run: sbt -J-XX:+UseG1GC -J-Xmx6g -J-Xms4g -J-Xss16m lint
test:
runs-on: ubuntu-20.04
timeout-minutes: 30
name: Test
runs-on: ubuntu-latest
continue-on-error: false
strategy:
fail-fast: false
max-parallel: 8
matrix:
java: ['adopt@1.8', 'adopt@1.11']
scala: ['2.11.12', '2.12.16', '2.13.8', '3.2.2']
platform: ['JS', 'JVM', 'Native']
java:
- '8'
- '11'
- '17'
scala-project:
- ++2.12.17 zioConfigJVM
- ++2.13.10 zioConfigJVM
- ++3.2.2 zioConfigJVM
- ++2.12.17 zioConfigMagnoliaJVM
- ++2.13.10 zioConfigMagnoliaJVM
- ++2.13.10 zioConfigScalazJVM
- ++3.2.2 zioConfigScalazJVM
- ++2.12.17 zioConfigCatsJVM
- ++2.13.10 zioConfigCatsJVM
- ++3.2.2 zioConfigCatsJVM
- ++2.12.17 zioConfigTypesafeMagnoliaTestsJVM
- ++2.13.10 zioConfigTypesafeMagnoliaTestsJVM
- ++2.12.17 zioConfigEnumeratumJVM
- ++2.13.10 zioConfigEnumeratumJVM
- ++3.2.2 zioConfigEnumeratumJVM
- ++2.12.17 zioConfigPureconfigJVM
- ++2.13.10 zioConfigPureconfigJVM
- ++2.12.17 zioConfigDerivationJVM
- ++2.13.10 zioConfigDerivationJVM
- ++3.2.2 zioConfigDerivationJVM
- ++2.12.17 zioConfigAwsJVM
- ++2.13.10 zioConfigAwsJVM
- ++3.2.2 zioConfigAwsJVM
- ++2.12.17 zioConfigTypesafeJVM
- ++2.13.10 zioConfigTypesafeJVM
- ++3.2.2 zioConfigTypesafeJVM
- ++2.12.17 zioConfigNative
- ++2.13.10 zioConfigNative
- ++3.2.2 zioConfigNative
- ++2.12.17 zioConfigXmlJVM
- ++2.13.10 zioConfigXmlJVM
- ++3.2.2 zioConfigXmlJVM
- ++2.12.17 zioConfigYamlJVM
- ++2.13.10 zioConfigYamlJVM
- ++3.2.2 zioConfigYamlJVM
- ++2.12.17 zioConfigJS
- ++2.13.10 zioConfigJS
- ++3.2.2 zioConfigJS
- ++2.12.17 zioConfigRefinedJVM
- ++2.13.10 zioConfigRefinedJVM
steps:
- name: Checkout current branch
uses: actions/checkout@v3.3.0
with:
fetch-depth: 0
- name: Setup Scala and Java
uses: olafurpg/setup-scala@v14
with:
java-version: ${{ matrix.java }}
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Run JS tests
if: ${{ matrix.platform == 'JS' && !startsWith(matrix.scala, '3.') }}
run: sbt ++${{ matrix.scala }}! testJS
- name: Run 2.12 JVM tests
if: ${{ matrix.platform == 'JVM' && startsWith(matrix.scala, '2.12') }}
run: sbt ++${{ matrix.scala }}! testJVM212
- name: Run 2.13 JVM tests
if: ${{ matrix.platform == 'JVM' && startsWith(matrix.scala, '2.13') }}
run: sbt ++${{ matrix.scala }}! testJVM213
- name: Run 3.x JVM tests
if: ${{ matrix.platform == 'JVM' && startsWith(matrix.scala, '3.') }}
run: sbt ++${{ matrix.scala }}! testJVM3x

- 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
with:
distribution: temurin
java-version: ${{ matrix.java }}
check-latest: true
- name: Git Checkout
uses: actions/checkout@v3.3.0
with:
fetch-depth: '0'
- name: Test
run: sbt -J-XX:+UseG1GC -J-Xmx6g -J-Xms4g -J-Xss16m ${{ matrix.scala-project }}/test
ci:
runs-on: ubuntu-20.04
needs: [website, test]
name: ci
runs-on: ubuntu-latest
continue-on-error: false
needs:
- lint
- test
- build
steps:
- name: Report successful build
run: echo "ci passed"

publish:
runs-on: ubuntu-20.04
timeout-minutes: 30
needs: [ci]
if: github.event_name != 'pull_request'
- name: Report Successful CI
run: echo "ci passed"
release:
name: Release
runs-on: ubuntu-latest
continue-on-error: false
needs:
- build
- lint
- test
if: ${{ github.event_name != 'pull_request' }}
steps:
- name: Checkout current branch
uses: actions/checkout@v3.3.0
with:
fetch-depth: 0
- name: Setup Scala and Java
uses: olafurpg/setup-scala@v14
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Release artifacts
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 }}
- name: Git Checkout
uses: actions/checkout@v3.3.0
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
with:
distribution: temurin
java-version: '8'
check-latest: true
- name: Release
run: sbt -J-XX:+UseG1GC -J-Xmx6g -J-Xms4g -J-Xss16m 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
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
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
with:
distribution: temurin
java-version: '8'
check-latest: true
- name: Setup NodeJs
uses: actions/setup-node@v3
with:
node-version: 16.x
registry-url: https://registry.npmjs.org
- name: Publish Docs to NPM Registry
run: sbt -J-XX:+UseG1GC -J-Xmx6g -J-Xms4g -J-Xss16m docs/publishToNpm
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
generate-readme:
name: Generate README
runs-on: ubuntu-latest
continue-on-error: false
needs:
- release
if: ${{ (github.event_name == 'push') || ((github.event_name == 'release') && (github.event.action == 'published')) }}
steps:
- name: Git Checkout
uses: actions/checkout@v3.3.0
with:
ref: ${{ github.head_ref }}
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
with:
distribution: temurin
java-version: '8'
check-latest: true
- name: Generate Readme
run: sbt -J-XX:+UseG1GC -J-Xmx6g -J-Xms4g -J-Xss16m docs/generateReadme
- name: Commit Changes
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
Loading