aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r--.github/workflows/build.yml151
1 files changed, 87 insertions, 64 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 26b26894..a4fba896 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,9 +1,16 @@
name: build
-on: [push, pull_request]
+on:
+ pull_request: {}
+ workflow_dispatch: {}
+ push:
+ branches:
+ - 'master'
+ tags-ignore:
+ - '**'
env:
- GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false"
+ GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx2g -Dorg.gradle.daemon=false -Dkotlin.incremental=false"
jobs:
jvm:
@@ -13,134 +20,147 @@ jobs:
fail-fast: false
matrix:
java-version:
- - 1.8
- - 9
- - 10
+ - 8
- 11
- - 12
- - 13
- - 14
- - 15
+ - 17
+ - 19
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Configure JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v4
with:
- java-version: ${{ matrix.java-version }}
+ distribution: 'zulu'
+ java-version: 19
- name: Test
run: |
- ./gradlew -Dkjs=false -Dknative=false build
+ ./gradlew -Dkjs=false -Dknative=false -Dkwasm=false -Dtest.java.version=${{ matrix.java-version }} build --stacktrace
- - name: Upload Japicmp report
- if: failure()
- uses: actions/upload-artifact@master
+ emulator:
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-java@v4.0.0
with:
- name: japicmp-report
- path: okio/jvm/japicmp/build/reports/japi.txt
+ distribution: 'zulu'
+ java-version: 19
+
+ - uses: gradle/gradle-build-action@v2
+
+ - uses: reactivecircus/android-emulator-runner@v2
+ with:
+ api-level: 24
+ script: ./gradlew :okio-assetfilesystem:connectedCheck
+
+ loom:
+ runs-on: ubuntu-latest
- multiplatform:
- runs-on: macOS-latest
+ strategy:
+ fail-fast: false
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Configure JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v4
with:
- java-version: 14
+ distribution: 'zulu'
+ java-version: 19
- name: Test
run: |
- ./gradlew build
+ ./gradlew -DloomEnabled=true build
+
+ all-platforms:
+ runs-on: ${{ matrix.os }}
- windows:
- runs-on: windows-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ macos-11, ubuntu-latest, windows-latest ]
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Configure JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v4
with:
- java-version: 1.8
+ distribution: 'zulu'
+ java-version: 19
- name: Test
+ if: matrix.os != 'windows-latest'
run: |
./gradlew build
- publish:
- runs-on: macOS-latest
- if: github.ref == 'refs/heads/master'
- needs: [jvm, multiplatform, windows]
-
- steps:
- - name: Checkout
- uses: actions/checkout@v2
+ - name: Test (No WASM)
+ if: matrix.os == 'windows-latest'
+ run: |
+ ./gradlew build -Dkwasm=false
- - name: Configure JDK
- uses: actions/setup-java@v1
+ - name: Save Test Reports
+ if: failure()
+ uses: actions/upload-artifact@v4
with:
- java-version: 14
+ name: test-reports
+ path: '**/build/reports'
- - name: Upload Artifacts
- run: |
- ./gradlew clean publish
- env:
- ORG_GRADLE_PROJECT_SONATYPE_NEXUS_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
- ORG_GRADLE_PROJECT_SONATYPE_NEXUS_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
-
- publish-windows:
- runs-on: windows-latest
- if: github.ref == 'refs/heads/master'
- needs: [jvm, multiplatform, windows]
+ publish:
+ runs-on: macos-13
+ if: github.repository == 'square/okio' && github.ref == 'refs/heads/master'
+ needs: [jvm, all-platforms, emulator]
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
- name: Configure JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v4
with:
- java-version: 1.8
+ distribution: 'zulu'
+ java-version: 19
- name: Upload Artifacts
run: |
- ./gradlew clean publishMingwX64PublicationToMavenRepository
+ ./gradlew clean publish --stacktrace
env:
- ORG_GRADLE_PROJECT_SONATYPE_NEXUS_USERNAME: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
- ORG_GRADLE_PROJECT_SONATYPE_NEXUS_PASSWORD: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
+ ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }}
+ ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }}
+ ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.ARTIFACT_SIGNING_PRIVATE_KEY }}
publish-website:
runs-on: ubuntu-latest
- if: github.ref == 'refs/heads/master'
- needs: [jvm, multiplatform]
+ if: github.repository == 'square/okio' && github.ref == 'refs/heads/master'
+ needs: [jvm, all-platforms, emulator]
steps:
- name: Checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
- name: Configure JDK
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v4
with:
- java-version: 14
+ distribution: 'zulu'
+ java-version: 19
- name: Set up Python
- uses: actions/setup-python@v2
+ uses: actions/setup-python@v5
with:
python-version: 3.8
@@ -149,9 +169,12 @@ jobs:
- name: Build mkdocs
run: |
- pip3 install mkdocs-macros-plugin
+ pip3 install mkdocs-material mkdocs-macros-plugin
mkdocs build
+ - name: Restore 1.x docs
+ run: .buildscript/restore_v1_docs.sh
+
- name: Deploy docs
if: success()
uses: JamesIves/github-pages-deploy-action@releases/v3