Skip to content

Update gradle/java/kotlin/grpc/protobuf (#67) #326

Update gradle/java/kotlin/grpc/protobuf (#67)

Update gradle/java/kotlin/grpc/protobuf (#67) #326

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