Add support for mutable messages in Wire's Kotlin Generator. #7031
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: build | |
on: | |
pull_request: {} | |
workflow_dispatch: {} | |
push: | |
branches: | |
- 'master' | |
tags-ignore: | |
- '**' | |
env: | |
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false" | |
jobs: | |
jvm: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
java-version: | |
- 17 | |
- 18 | |
- 19 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Configure JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java-version }} | |
- name: Check test files | |
run: | | |
./gradlew generateTests -Pswift=false --stacktrace --warning-mode all | |
if [ ! -z "$(git status --porcelain)" ]; then git diff; echo -e "\nTest files changed. Did you run ./gradlew generateTests?"; exit 1; fi | |
- name: Test Native and JS | |
run: | | |
./gradlew -Dkjs=true -Dknative=true -Pswift=false samples:native:build samples:js:build samples:multi-target:build --stacktrace --warning-mode all | |
- name: Test | |
run: | | |
./gradlew -Dkjs=false -Dknative=false -Pswift=false build --stacktrace --warning-mode all -x samples:native:build -x samples:js:build -x samples:multi-target:build | |
multiplatform: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Configure JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: 19 | |
- name: Setup Xcode | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
# We set `SDKROOT` as a workaround for https://github.com/gradle/gradle/pull/29227 | |
- name: Check test files | |
run: | | |
SDKROOT=$(xcrun -sdk macosx --show-sdk-path) ./gradlew generateTests --stacktrace --warning-mode all | |
if [ ! -z "$(git status --porcelain)" ]; then git diff; echo -e "\nTest files changed. Did you run ./gradlew generateTests?"; exit 1; fi | |
- name: Install Chrome | |
uses: browser-actions/setup-chrome@latest | |
- name: Test | |
run: | | |
./gradlew -Pswift=false build --stacktrace --warning-mode all | |
windows: | |
runs-on: windows-latest | |
steps: | |
- name: Set git to use LF and not automatically replace them with CRLF. | |
run: | | |
git config --global core.autocrlf false | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Configure JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: 19 | |
- name: Check test files | |
run: | | |
./gradlew generateTests --stacktrace --warning-mode all | |
if [ ! -z "$(git status --porcelain)" ]; then git diff; echo -e "\nTest files changed. Did you run ./gradlew generateTests?"; exit 1; fi | |
shell: bash | |
- name: Install Chrome | |
uses: browser-actions/setup-chrome@latest | |
- name: Test | |
uses: nick-fields/retry@v3.0.0 | |
with: | |
max_attempts: 5 | |
timeout_minutes: 90 | |
shell: bash | |
command: | | |
./gradlew -Pswift=false build --stacktrace --warning-mode all | |
swift: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Configure JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: 19 | |
- name: Setup Xcode | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
# We set `SDKROOT` as a workaround for https://github.com/gradle/gradle/pull/29227 | |
- name: Test Swift Runtime | |
# This builds the wire-swift-runtime, verifies that generated protos match what's currently | |
# checked into the repo both for the runtime itself and for its tests, and runs the tests. | |
run: | | |
SDKROOT=$(xcrun -sdk macosx --show-sdk-path) ./gradlew :wire-runtime-swift:build --warning-mode all | |
if [ ! -z "$(git status --porcelain)" ]; then git diff; echo -e "\nGenerated files changed. Did you run ./gradlew generateSwiftProtos?"; exit 1; fi | |
- name: Generate Swift from golden proto files | |
# This compiles the golden proto files into Swift files and ensures that those outputs match | |
# what's currently checked into the repo. These generated files are compiled during the | |
# wire-tests-swift build but should still be reviewed manually. Finally, run the associated | |
# unit tests. | |
run: | | |
SDKROOT=$(xcrun -sdk macosx --show-sdk-path) ./gradlew generateSwiftTests --warning-mode all | |
if [ ! -z "$(git status --porcelain)" ]; then git diff; echo -e "\nGenerated files changed. Did you run ./gradlew generateSwiftProtos and generateSwiftTests?"; exit 1; fi | |
SDKROOT=$(xcrun -sdk macosx --show-sdk-path) ./gradlew -p wire-tests-swift build --warning-mode all | |
- name: Test Swift Package Manager | |
run: swift test | |
android: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
api-level: | |
- 21 | |
- 24 | |
- 26 | |
- 29 | |
steps: | |
- 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@v4 | |
- name: Run Tests | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: ${{ matrix.api-level }} | |
script: ./gradlew --stacktrace -Pswift=false connectedCheck | |
env: | |
API_LEVEL: ${{ matrix.api-level }} | |
publish-snapshot: | |
runs-on: macos-latest | |
if: github.repository == 'square/wire' && github.ref == 'refs/heads/master' | |
needs: [jvm, multiplatform, swift] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Configure JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: 19 | |
- name: Setup Xcode | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: latest-stable | |
# We set `SDKROOT` as a workaround for https://github.com/gradle/gradle/pull/29227 | |
- name: Upload Artifacts | |
run: | | |
SDKROOT=$(xcrun -sdk macosx --show-sdk-path) ./gradlew publish --stacktrace --warning-mode all --no-daemon | |
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 }} |