Skip to content

Add the ability to encode and decode a size delimited message collect… #4605

Add the ability to encode and decode a size delimited message collect…

Add the ability to encode and decode a size delimited message collect… #4605

Workflow file for this run

name: build
on: [push, pull_request]
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:
#- 8
#- 9
#- 10
- 11
- 12
- 14
- 15
- 16
- 17
- 18
- 19
#- 20
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Configure JDK
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: ${{ matrix.java-version }}
- name: Check test files
run: |
./gradlew clean generateTests --stacktrace
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 --stacktrace
- name: Test
run: |
./gradlew -Dkjs=false -Dknative=false -Pswift=false build --stacktrace -x samples:native:build -x samples:js:build
multiplatform:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Configure JDK
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 19
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Check test files
run: |
./gradlew clean generateTests --stacktrace
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
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@v3
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Configure JDK
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 19
- name: Check test files
run: |
./gradlew clean generateTests --stacktrace
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
run: |
./gradlew -Pswift=false build --stacktrace
shell: bash
swift:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Configure JDK
uses: actions/setup-java@v1
with:
java-version: 14
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- 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: |
./gradlew :wire-runtime-swift:build --stacktrace
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: |
./gradlew generateSwiftTests --stacktrace
if [ ! -z "$(git status --porcelain)" ]; then git diff; echo -e "\nGenerated files changed. Did you run ./gradlew generateSwiftProtos and generateSwiftTests?"; exit 1; fi
./gradlew :wire-tests-swift:build --stacktrace
- name: Test Swift Package Manager
run: swift test
publish:
runs-on: macos-latest
if: github.repository == 'square/wire' && github.ref == 'refs/heads/master'
needs: [jvm, multiplatform, windows, swift]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Configure JDK
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 19
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Upload Artifacts
run: |
./gradlew clean publish --stacktrace --no-parallel --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 }}
- name: Plublish plugin to Gradle portal
run: |
./gradlew publishPluginToGradlePortalIfRelease --stacktrace
env:
GRADLE_PUBLISH_KEY: ${{ secrets.GRADLE_PUBLISH_KEY }}
GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }}
# TODO(egorand): Publish website
#
# - name: Prep mkdocs
# run: .buildscript/prepare_mkdocs.sh
#
# - name: Deploy docs
# uses: mhausenblas/mkdocs-deploy-gh-pages@master
# env:
# PERSONAL_TOKEN: ${{ secrets.PERSONAL_TOKEN }}