Skip to content

Release/4.0.0 beta2 (#18) #9

Release/4.0.0 beta2 (#18)

Release/4.0.0 beta2 (#18) #9

Workflow file for this run

name: CI Release
# run UT, Build, Publish
on:
push:
tags:
- '*.*.*'
jobs:
test:
name: Run Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v4
with:
distribution: "oracle"
java-version: '17'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
gradle-version: 8.7
cache-read-only: true
- name: Clean
run: ./gradlew :flagship:clean
- name: Build with Gradle
run: ./gradlew :flagship:assembleDebug
- name: Unit tests
run: bash ./gradlew flagship:testJacocoUnitTestCoverage -i --stacktrace
- name: Get version
run: |
echo "FLAGSHIP_VERSION_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Generate report
run: bash ./gradlew flagship:createJacocoUnitTestCoverageReport
- name: Upload coverage to codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: flagship/build/reports/coverage/test/jacoco/report.xml
- name: Build and Publish
env:
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGINMEMORYKEYID }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGINMEMORYKEYPASSWORD }}
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.ORG_GRADLE_PROJECT_MAVENCENTRALUSERNAME}}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.ORG_GRADLE_PROJECT_MAVENCENTRALPASSWORD }}
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGINMEMORYKEY }}
run: |
bash ./gradlew clean
bash ./gradlew flagship:assembleRelease
bash ./gradlew publishToMavenCentral --stacktrace