Add the ability to encode and decode a size delimited message collect… #4605
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: [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 }} |