Merge pull request #122 from onflow/block-seal-protobuf #37
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 Snapshot | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build: | |
name: Build and publish snapshot | |
runs-on: ubuntu-latest | |
env: | |
JAVA_OPTS: -Xmx2g -Dorg.gradle.daemon=false | |
#services: | |
# flow-emulator: | |
# image: gcr.io/flow-container-registry/emulator | |
# env: | |
# FLOW_VERBOSE: true | |
# FLOW_PORT: 3569 | |
# FLOW_INTERVAL: 5s | |
# FLOW_PERSIST: false | |
# ports: | |
# - 3569:3569 | |
steps: | |
- name: Get current date | |
id: date | |
run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')" | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v2 | |
with: | |
java-version: '21' | |
java-package: jdk | |
distribution: 'adopt' | |
- name: Install flow emulator | |
run: sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" | |
- name: Make gradle executable | |
run: chmod +x ./gradlew | |
- name: Build | |
id: build | |
run: ./gradlew --warning-mode all check build -x test -x integrationTest | |
- name: Run Unit Tests | |
id: unit_test | |
if: ${{ steps.build.outcome == 'success' }} | |
run: | | |
export PATH="$HOME/.local/bin:$PATH" | |
./gradlew --no-daemon --max-workers=2 --warning-mode=all :sdk:test --continue --stacktrace | |
- name: Publish Unit Test Results | |
uses: EnricoMi/[email protected] | |
if: always() | |
with: | |
check_name: "Unit Test Results" | |
files: "**/test-results/test/**/*.xml" | |
seconds_between_github_writes: 5 | |
secondary_rate_limit_wait_seconds: 120 | |
- name: Run Integration Tests | |
if: ${{ steps.unit_test.outcome == 'success' }} | |
run: | | |
export PATH="$HOME/.local/bin:$PATH" | |
./gradlew --no-daemon --max-workers=2 --warning-mode=all :sdk:integrationTest --continue --stacktrace | |
- name: Publish Integration Test Results | |
uses: EnricoMi/[email protected] | |
if: always() | |
with: | |
check_name: "Integration Test Results" | |
files: "**/test-results/integrationTest/**/*.xml" | |
seconds_between_github_writes: 5 | |
secondary_rate_limit_wait_seconds: 120 | |
- name: Publish snapshot | |
env: | |
JAVA_OPTS: -Xmx2g -Dorg.gradle.daemon=false | |
ORG_GRADLE_PROJECT_mavenCentralUsername: '${{ secrets.FLOW_JVM_SDK_SONATYPE_USERNAME }}' | |
ORG_GRADLE_PROJECT_mavenCentralPassword: '${{ secrets.FLOW_JVM_SDK_SONATYPE_PASSWORD }}' | |
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.FLOW_JVM_SDK_SIGNING_KEY }} | |
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.FLOW_JVM_SDK_SIGNING_PASSWORD }} | |
run: | | |
if [[ "${{ secrets.FLOW_JVM_SDK_CICD_PUBLISH_ENABLED }}" != "true" ]]; | |
then | |
exit 0; | |
fi | |
./gradlew \ | |
-Psigning.key="${{ secrets.FLOW_JVM_SDK_SIGNING_KEY }}" \ | |
-Psigning.password="${{ secrets.FLOW_JVM_SDK_SIGNING_PASSWORD }}" \ | |
:sdk:publishToMavenCentral --no-configuration-cache |