Skip to content

Initial APIs for FileSystem extensions #2808

Initial APIs for FileSystem extensions

Initial APIs for FileSystem extensions #2808

Workflow file for this run

name: build
on:
pull_request: {}
workflow_dispatch: {}
push:
branches:
- 'master'
tags-ignore:
- '**'
env:
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx2g -Dorg.gradle.daemon=false -Dkotlin.incremental=false"
jobs:
jvm:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java-version:
- 8
- 11
- 17
- 19
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Configure JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 19
- name: Test
run: |
./gradlew -Dkjs=false -Dknative=false -Dkwasm=false -Dtest.java.version=${{ matrix.java-version }} build --stacktrace
emulator:
runs-on: ubuntu-latest
steps:
# https://github.blog/changelog/2023-02-23-hardware-accelerated-android-virtualization-on-actions-windows-and-linux-larger-hosted-runners/
- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
ls /dev/kvm
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 19
- uses: gradle/actions/setup-gradle@v3
- uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 24
script: ./gradlew :okio-assetfilesystem:connectedCheck
loom:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Configure JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 19
- name: Test
run: |
./gradlew -DloomEnabled=true build
all-platforms:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ macos-14, ubuntu-latest, windows-latest ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v3
- name: Configure JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 19
- name: Test
if: matrix.os != 'windows-latest'
run: |
./gradlew build
- name: Test (No WASM)
if: matrix.os == 'windows-latest'
run: |
./gradlew build -Dkwasm=false
- name: Save Test Reports
if: failure()
uses: actions/upload-artifact@v4
with:
name: test-reports
path: '**/build/reports'
publish:
runs-on: macos-14
if: github.repository == 'square/okio' && github.ref == 'refs/heads/master'
needs: [jvm, all-platforms, emulator]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 19
- name: Upload Artifacts
run: |
./gradlew clean publish --stacktrace
env:
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.repository == 'square/okio' && github.ref == 'refs/heads/master'
needs: [jvm, all-platforms, emulator]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 19
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Prepare docs
run: .buildscript/prepare_mkdocs.sh
- name: Build mkdocs
run: |
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
with:
GITHUB_TOKEN: ${{ secrets.GH_CLIPPY_TOKEN }}
BRANCH: gh-pages
FOLDER: site
SINGLE_COMMIT: true