交叉编译配置 #231
This file contains hidden or 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: Publish Snapshot | |
on: | |
push: | |
branches: | |
- main | |
- dev/ver/** | |
- dev/main | |
paths: | |
- 'buildSrc' | |
- '**src/**/kotlin/**.kt' | |
- '**src/**/java/**.java' | |
- '**/src/**/kotlin/**.kt' | |
- '**/src/**/java/**.java' | |
- '**/build.gradle.kts' | |
- 'build.gradle.kts' | |
- 'settings.gradle.kts' | |
- 'gradle.properties' | |
# 手动触发工作流 | |
workflow_dispatch: | |
env: | |
JAVA_VERSION: 21 | |
JAVA_DISTRIBUTION: zulu | |
IS_CI: true | |
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} | |
GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }} | |
GPG_PASSWORD: ${{ secrets.GPG_PASSWORD }} | |
OSSRH_USER: ${{ secrets.SONATYPE_USERNAME }} | |
OSSRH_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SIMBOT_IS_SNAPSHOT: true | |
SIMBOT_SNAPSHOT_ONLY: true | |
GRADLE_OPTS: "-Dfile.encoding=UTF-8" | |
GRADLE_VERSION: 8.10.2 | |
jobs: | |
run-test: | |
name: Run all tests | |
strategy: | |
matrix: | |
os: [ macos-latest, windows-latest, ubuntu-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: ${{ env.JAVA_DISTRIBUTION }} | |
java-version: ${{ env.JAVA_VERSION }} | |
cache: 'gradle' | |
# setup Gradle | |
- name: Gradle test and publish snapshot | |
uses: gradle/actions/setup-gradle@v3 | |
with: | |
gradle-version: ${{ env.GRADLE_VERSION }} | |
arguments: | | |
assemble | |
allTests | |
--stacktrace | |
--warning-mode all | |
-Pkotlin.native.enableKlibsCrossCompilation=false | |
# - name: Gradle run all tests | |
# run: gradle assemble allTests --stacktrace --warning-mode all -Pkotlin.native.enableKlibsCrossCompilation=false | |
publish-snapshots: | |
name: Publish snapshots | |
needs: run-test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: ${{ env.JAVA_DISTRIBUTION }} | |
java-version: ${{ env.JAVA_VERSION }} | |
cache: 'gradle' | |
# setup Gradle | |
- name: Publish snapshots | |
uses: gradle/actions/setup-gradle@v3 | |
with: | |
gradle-version: ${{ env.GRADLE_VERSION }} | |
arguments: | | |
publishToSonatype | |
closeAndReleaseStagingRepositories | |
--info | |
--warning-mode all | |
-Porg.gradle.jvmargs="-Xmx8g -Xms2g -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8" | |
env: | |
SIMBOT_IS_SNAPSHOT: true | |
deploy-doc: | |
name: Deploy-doc | |
runs-on: ubuntu-latest | |
needs: publish-snapshots | |
steps: | |
# 检出仓库代码 | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
fetch-depth: 0 | |
# setup Java | |
- name: Setup java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: ${{ env.JAVA_DISTRIBUTION }} | |
java-version: ${{ env.JAVA_VERSION }} | |
# setup Gradle | |
- name: Gradle generate documentation | |
uses: gradle/actions/setup-gradle@v3 | |
with: | |
gradle-version: ${{ env.GRADLE_VERSION }} | |
arguments: | | |
-Porg.gradle.jvmargs="-Xmx4g -Xms4g -XX:MaxMetaspaceSize=2g -Dfile.encoding=UTF-8" | |
-Porg.gradle.daemon=false | |
-DisSnapshot=false | |
--info | |
--warning-mode all | |
-x test | |
--build-cache | |
dokkaGenerate | |
- name: Push to doc repository | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
personal_token: ${{ secrets.PUSH_TOKEN }} | |
external_repository: simple-robot-library/simbot3-api-docs | |
publish_branch: kdoc-deploy/snapshots/component-qq-guild | |
publish_dir: ./build/dokka/html | |
# deploy to sub dir | |
destination_dir: snapshots/components/qq-guild |