Add Blue Insight Digital to Adopters list #10253
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
env: | |
JDK_JAVA_OPTIONS: -XX:+PrintCommandLineFlags -Xmx6G -Xss4M -XX:+UseG1GC # JDK_JAVA_OPTIONS is _the_ env. variable to use for modern Java | |
JVM_OPTS: -XX:+PrintCommandLineFlags -Xmx6G -Xss4M -XX:+UseG1GC # for Java 8 only (sadly, it is not modern enough for JDK_JAVA_OPTIONS) | |
NODE_OPTIONS: --max_old_space_size=6144 | |
on: | |
pull_request: | |
push: | |
branches: | |
- 'series/2.x' | |
release: | |
types: | |
- published | |
repository_dispatch: | |
types: [update-docs] | |
jobs: | |
lint: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 60 | |
if: ${{ ((github.event_name != 'repository_dispatch') && (github.event.action != 'update-docs')) }} | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3.0.2 | |
- name: Setup Java | |
uses: actions/setup-java@v2.5.0 | |
with: | |
distribution: temurin | |
java-version: 17 | |
check-latest: true | |
- name: Cache scala dependencies | |
uses: coursier/cache-action@v6 | |
- name: Install libuv | |
run: sudo apt-get update && sudo apt-get install -y libuv1-dev | |
- name: Lint code | |
run: ./sbt check | |
compile: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 120 | |
if: ${{ ((github.event_name != 'repository_dispatch') && (github.event.action != 'update-docs')) }} | |
strategy: | |
fail-fast: false | |
matrix: | |
scala: ['2.12.*', '2.13.*', '3.*'] | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3.0.2 | |
- name: Setup Java | |
uses: actions/setup-java@v2.5.0 | |
with: | |
distribution: temurin | |
java-version: 17 | |
check-latest: true | |
- name: Cache scala dependencies | |
uses: coursier/cache-action@v6 | |
- name: Install libuv | |
run: sudo apt-get update && sudo apt-get install -y libuv1-dev | |
- name: Set Swap Space | |
uses: pierotofy/set-swap-space@master | |
with: | |
swap-size-gb: 7 | |
- name: Test/compile 2.12 | |
if: ${{ startsWith(matrix.scala, '2.12.') }} | |
run: free --si -tmws 10 & ./sbt ++${{ matrix.scala }} root212/Test/compile | |
- name: Test/compile 2.13 | |
if: ${{ startsWith(matrix.scala, '2.13.') }} | |
run: free --si -tmws 10 & ./sbt ++${{ matrix.scala }} root213/Test/compile | |
- name: Test/compile 3 | |
if: ${{ startsWith(matrix.scala, '3.') }} | |
run: free --si -tmws 10 & ./sbt ++${{ matrix.scala }} root3/Test/compile | |
publishLocal: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 60 | |
if: ${{ ((github.event_name != 'repository_dispatch') && (github.event.action != 'update-docs')) }} | |
strategy: | |
fail-fast: false | |
matrix: | |
scala: ['2.12.*', '2.13.*', '3.*'] | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3.0.2 | |
- name: Setup Java | |
uses: actions/setup-java@v2.5.0 | |
with: | |
distribution: temurin | |
java-version: 8 | |
check-latest: true | |
- name: Cache scala dependencies | |
uses: coursier/cache-action@v6 | |
- name: Install libuv | |
run: sudo apt-get update && sudo apt-get install -y libuv1-dev | |
- name: publishLocal 2.12 | |
if: ${{ startsWith(matrix.scala, '2.12.') }} | |
run: ./sbt ++${{ matrix.scala }} root212/publishLocal | |
- name: publishLocal 2.13 | |
if: ${{ startsWith(matrix.scala, '2.13.') }} | |
run: ./sbt ++${{ matrix.scala }} root213/publishLocal | |
- name: publishLocal 3 | |
if: ${{ startsWith(matrix.scala, '3.') }} | |
run: ./sbt ++${{ matrix.scala }} root3/publishLocal | |
build-website: | |
runs-on: ubuntu-20.04 | |
if: ${{ ((github.event_name != 'repository_dispatch') && (github.event.action != 'update-docs')) }} | |
steps: | |
- name: Checkout Current Branch | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: '0' | |
- name: Setup Scala and Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Install NodeJS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Compile Docs | |
run: | | |
while true; do free -h; sleep 5; done & | |
sbt -mem 2048 docs/mdoc -verbose | |
sbt -mem 2048 docs/unidoc -verbose | |
- name: Build The Website | |
working-directory: ./website | |
run: | | |
rm -Rf node_modules | |
yarn install | |
yarn build | |
- name: Cache Website's Build Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: website-artifact | |
path: ./website/build | |
- name: Print All Generated Files | |
run: find ./website/build -print | |
test: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 60 | |
if: ${{ ((github.event_name != 'repository_dispatch') && (github.event.action != 'update-docs')) }} | |
strategy: | |
fail-fast: false | |
matrix: | |
scala: ['2.12.17', '2.13.10', '3.3.0'] | |
java: ['17'] | |
platform: ['JVM'] | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3.0.2 | |
- name: Setup Java | |
uses: actions/setup-java@v2.5.0 | |
with: | |
distribution: temurin | |
java-version: ${{ matrix.java }} | |
check-latest: true | |
- name: Cache scala dependencies | |
uses: coursier/cache-action@v6 | |
- name: Mima Checks | |
if: ${{ !startsWith(matrix.scala, '3.') }} | |
run: ./sbt ++${{ matrix.scala }}! mimaChecks | |
- name: Test 2.12 | |
if: ${{ startsWith(matrix.scala, '2.12.') }} | |
run: ./sbt ++${{ matrix.scala }}! test${{ matrix.platform }} | |
- name: Test 2.13 | |
if: ${{ startsWith(matrix.scala, '2.13.') }} | |
run: ./sbt ++${{ matrix.scala }}! test${{ matrix.platform }} | |
- name: Test 3 | |
if: ${{ startsWith(matrix.scala, '3.') }} | |
run: ./sbt ++${{ matrix.scala }}! test${{ matrix.platform }}3 | |
- name: Upload Test Results 2.12 | |
if: ${{ startsWith(matrix.scala, '2.12.') }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: zio-test-output-2.12 | |
path: ./**/test-reports-zio/output.json | |
- name: Upload Test Results 3 | |
if: ${{ startsWith(matrix.scala, '3.') }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: zio-test-output-3 | |
path: ./**/test-reports-zio/output.json | |
- name: Report Test Death 2.12 | |
if: ${{ failure() && startsWith(matrix.scala, '2.12.') }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: zio-test-debug-2.12 | |
path: ./**/test-reports-zio/**_debug.txt | |
- name: Report Test Death 2.13 | |
if: ${{ failure() && startsWith(matrix.scala, '2.13.') }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: zio-test-debug-2.13 | |
path: ./**/test-reports-zio/**_debug.txt | |
- name: Report Test Death 3.x | |
if: ${{ failure() && startsWith(matrix.scala, '3.') }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: zio-test-debug-3.x | |
path: ./**/test-reports-zio/**_debug.txt | |
testJvms: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 60 | |
if: ${{ ((github.event_name != 'repository_dispatch') && (github.event.action != 'update-docs')) }} | |
strategy: | |
fail-fast: false | |
matrix: | |
java: ['8', '11'] | |
platform: ['JVM'] | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3.0.2 | |
- name: Setup Java | |
uses: actions/setup-java@v2.5.0 | |
with: | |
distribution: temurin | |
java-version: ${{ matrix.java }} | |
check-latest: true | |
- name: Cache scala dependencies | |
uses: coursier/cache-action@v6 | |
- name: Test on different JVM versions | |
run: ./sbt test${{ matrix.platform }} | |
- name: Report Test Death JVM 8 | |
if: ${{ failure() && startsWith(matrix.java, '8') }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: zio-test-debug-JVM-8 | |
path: ./**/test-reports-zio/**_debug.txt | |
- name: Report Test Death JVM 11 | |
if: ${{ failure() && startsWith(matrix.java, '11') }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: zio-test-debug-JVM-11 | |
path: ./**/test-reports-zio/**_debug.txt | |
testPlatforms: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 60 | |
if: ${{ ((github.event_name != 'repository_dispatch') && (github.event.action != 'update-docs')) }} | |
strategy: | |
fail-fast: false | |
matrix: | |
java: ['17'] | |
platform: ['JS', 'Native'] | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3.0.2 | |
- name: Setup Java | |
uses: actions/setup-java@v2.5.0 | |
with: | |
distribution: temurin | |
java-version: ${{ matrix.java }} | |
check-latest: true | |
- name: Cache scala dependencies | |
uses: coursier/cache-action@v6 | |
- name: Install libuv | |
run: sudo apt-get update && sudo apt-get install -y libuv1-dev | |
- name: Set Swap Space | |
uses: pierotofy/set-swap-space@master | |
with: | |
swap-size-gb: 9 | |
- name: Test on different Scala target platforms | |
run: free --si -tmws 10 & ./sbt test${{ matrix.platform }} | |
ci: | |
runs-on: ubuntu-20.04 | |
needs: [lint, compile, publishLocal, build-website, test, testJvms, testPlatforms] | |
steps: | |
- name: Aggregate of lint, mdoc and all tests | |
run: echo "ci passed" | |
publish: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 60 | |
needs: [ci] | |
if: github.event_name != 'pull_request' | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3.0.2 | |
with: | |
fetch-depth: 0 | |
- name: Setup Java | |
uses: actions/setup-java@v2.5.0 | |
with: | |
distribution: temurin | |
java-version: 8 | |
check-latest: true | |
- name: Install libuv | |
run: sudo apt-get update && sudo apt-get install -y libuv1-dev | |
- 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-website: | |
needs: [ci] | |
if: github.event_name != 'pull_request' | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: website-artifact | |
path: website-artifact | |
- name: Release to GitHub Pages | |
uses: JamesIves/github-pages-deploy-action@v4.4.1 | |
with: | |
branch: gh-pages | |
folder: ./website-artifact | |
update-docs: | |
runs-on: ubuntu-latest | |
if: ${{ ((github.event_name == 'repository_dispatch') && (github.event.action == 'update-docs')) }} | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v3.3.0 | |
with: | |
ref: ${{ github.head_ref }} | |
fetch-depth: '0' | |
- name: Commit Changes | |
run: | | |
cd website | |
git config --local user.email "github-actions[bot]@users.noreply.github.com" | |
git config --local user.name "github-actions[bot]" | |
package_name="${{ github.event.client_payload.package_name }}" | |
package_version="${{ github.event.client_payload.package_version }}" | |
yarn add "$package_name@$package_version" | |
git add package.json | |
commit_message="Update $package_name to $package_version" | |
git commit -m "$commit_message" || echo "No changes to commit" | |
- name: Create Pull Request to Update Docs | |
uses: peter-evans/create-pull-request@v4.2.4 | |
with: | |
body: |- | |
The new version of ${{ github.event.client_payload.package_name }} was released. | |
Let's update the zio.dev to reflect the latest docs. | |
branch: zio-sbt/update-docs/${{ github.event.client_payload.package_name }} | |
commit-message: Update ${{ github.event.client_payload.package_name }} docs | |
to ${{ github.event.client_payload.package_version }} | |
delete-branch: true | |
title: Update ${{ github.event.client_payload.package_name }} docs | |
to ${{ github.event.client_payload.package_version }} |