Update gradle/java/kotlin/grpc/protobuf #325
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 and Publish | |
on: | |
release: | |
types: [created] | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
sdk_build: | |
name: Build and Publish Jar | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get Version | |
run: | | |
# Strip git ref prefix from version | |
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') | |
# Strip "v" prefix from tag name | |
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') | |
echo "VERSION=$VERSION" >> $GITHUB_ENV | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 17 | |
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml | |
distribution: zulu | |
- name: Build with Gradle | |
run: ./gradlew clean build --refresh-dependencies -Pversion=$VERSION | |
- name: Install gpg secret key | |
run: | | |
export GPG_TTY=$(tty) | |
echo -n "${{ secrets.OSSRH_GPG_SECRET_KEY }}" | base64 --decode | gpg --batch --import | |
gpg --list-secret-keys --keyid-format LONG | |
echo -n "${{ secrets.OSSRH_GPG_SECRET_KEY }}" | base64 --decode > $GITHUB_WORKSPACE/release.gpg | |
if: github.event_name == 'release' | |
- name: Publish to Maven Central | |
run: | | |
./gradlew publishToSonatype $(if [ "${{github.event.release.prerelease}}" = "true" ]; then echo 'closeSonatypeStagingRepository'; else echo 'closeAndReleaseSonatypeStagingRepository'; fi) \ | |
-Pversion=$VERSION \ | |
-Psigning.keyId=B7D30ABE -Psigning.password="${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}" -Psigning.secretKeyRingFile=$GITHUB_WORKSPACE/release.gpg \ | |
--info | |
env: | |
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} | |
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} | |
if: github.event_name == 'release' | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v1.2.2 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: build/reports/jacoco/jacocoRootReport/*.xml | |
build_integration_test: | |
name: Compile Integration Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 17 | |
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml | |
distribution: zulu | |
- name: Build with Gradle | |
run: ./gradlew clean build --refresh-dependencies | |
- name: Publish to Maven Local | |
run: ./gradlew publishToMavenLocal -xsignMavenPublication --info | |
- name: Build Contracts | |
run: ./gradlew clean build --refresh-dependencies | |
working-directory: ./integration-test/sdkContracts | |
env: | |
OS_GRPC_URL: grpc://localhost:5000 | |
PROVENANCE_GRPC_URL: grpc://rpc-0.test.provenance.io:9090 | |
CHAIN_ID: pio-testnet-1 | |
# - name: Bootstrap Contracts | |
# run: ./gradlew p8eClean p8eCheck p8eBootstrap --info | |
# working-directory: ./integration-test/sdkContracts | |
# env: | |
# OS_GRPC_URL: grpc://localhost:5000 | |
# PROVENANCE_GRPC_URL: grpc://rpc-0.test.provenance.io:9090 | |
# CHAIN_ID: pio-testnet-1 | |
- name: Publish Contracts | |
run: ./gradlew publishToMavenLocal --info | |
working-directory: ./integration-test/sdkContracts | |
env: | |
OS_GRPC_URL: grpc://localhost:5000 | |
PROVENANCE_GRPC_URL: grpc://rpc-0.test.provenance.io:9090 | |
CHAIN_ID: pio-testnet-1 | |
- name: Compile Tests | |
run: ./gradlew clean compileKotlin --refresh-dependencies | |
working-directory: ./integration-test | |
examples_build: | |
name: Build Examples | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 17 | |
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml | |
distribution: zulu | |
- name: Build with Gradle | |
run: ./gradlew clean build --refresh-dependencies | |
- name: Publish to Maven Local | |
run: ./gradlew publishToMavenLocal -xsignMavenPublication --info | |
- name: Build Source Code | |
run: ./gradlew clean build --refresh-dependencies | |
working-directory: ./examples | |
- name: Check P8eContract Syntax | |
run: ./gradlew p8eClean p8eCheck --info | |
working-directory: ./examples |