release: v4.0.4 #2
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: Deploy Publish Release | |
on: | |
push: | |
tags: | |
- '*' | |
jobs: | |
# test: | |
# name: Unit tests | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Check out the repository | |
# uses: actions/checkout@v2 | |
# | |
# - name: Set up JDK | |
# uses: actions/setup-java@v4 | |
# with: | |
# distribution: temurin | |
# java-version: 17 | |
# | |
# - name: Run desktop test | |
# run: ./gradlew desktopTest | |
package-android: | |
name: Package android | |
# needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the repository | |
uses: actions/checkout@v2 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Set up Android SDK | |
uses: android-actions/setup-android@v3 | |
- name: Run package | |
run: ./gradlew sample:assembleRelease | |
- name: Upload APK artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: apk-files | |
path: sample/build/outputs/apk/release/*.apk | |
package-ios: | |
name: Package ios | |
# needs: test | |
runs-on: macos-latest | |
steps: | |
- name: Check out the repository | |
uses: actions/checkout@v2 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Run package | |
run: xcodebuild -project sample/iosApp/iosApp.xcodeproj -scheme iosApp -destination 'platform=iOS Simulator,name=iPhone 16,OS=latest' CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO | |
package-linux: | |
name: Package linux desktop | |
# needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the repository | |
uses: actions/checkout@v2 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Run package | |
run: ./gradlew sample:packageReleaseDeb | |
package-macos: | |
name: Package macos desktop | |
# needs: test | |
runs-on: macos-latest | |
steps: | |
- name: Check out the repository | |
uses: actions/checkout@v2 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Run package | |
run: ./gradlew sample:packageReleaseDmg | |
package-windows: | |
name: Package windows desktop | |
# needs: test | |
runs-on: windows-latest | |
steps: | |
- name: Check out the repository | |
uses: actions/checkout@v2 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Run package | |
run: ./gradlew sample:packageReleaseMsi | |
package-js: | |
name: Package js browser | |
# needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the repository | |
uses: actions/checkout@v2 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Run package | |
run: ./gradlew sample:jsBrowserDistribution | |
package-wasm-js: | |
name: Package wasm js browser | |
# needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the repository | |
uses: actions/checkout@v2 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Run package | |
run: ./gradlew sample:wasmJsBrowserDistribution | |
deploy-api-docs: | |
name: Deploy API docs | |
needs: [ package-android, package-ios, package-linux, package-macos, package-windows, package-js, package-wasm-js ] | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Check out the repository | |
uses: actions/checkout@v2 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Build the api docs | |
run: ./gradlew dokkaHtmlMultiModule | |
- name: Check out the gh-pages branch | |
run: | | |
git fetch origin gh-pages:gh-pages | |
git checkout gh-pages | |
- name: Remove old api directory | |
run: | | |
rm -rf api/* | |
- name: Create api directory | |
run: mkdir -p api | |
- name: Move build artifacts to api directory | |
run: | | |
mv build/dokka/htmlMultiModule/* api/ | |
- name: Commit and push changes | |
uses: stefanzweifel/git-auto-commit-action@v4 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
commit_message: "Update api docs" | |
branch: gh-pages | |
file_pattern: api/* | |
publish: | |
name: Publish and release to maven central | |
needs: deploy-api-docs | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
id: check | |
uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Set up Android SDK | |
uses: android-actions/setup-android@v3 | |
- name: Run publish | |
env: | |
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} | |
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} | |
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_IN_MEMORY_KEY }} | |
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_IN_MEMORY_KEY_PASSWORD }} | |
run: ./gradlew publishAndReleaseToMavenCentral --no-configuration-cache | |
# run: ./gradlew publishToMavenCentral --no-configuration-cache | |
release: | |
name: Release new version | |
needs: publish | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Download APK artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: apk-files | |
path: ./downloaded-apks | |
- name: Release | |
uses: softprops/action-gh-release@v2 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
if: startsWith(github.ref, 'refs/tags/') # Only run on tag push | |
with: | |
body: | | |
Please check the [CHANGELOG.md](https://github.com/panpf/sketch/blob/main/CHANGELOG.md) file for updated log | |
Sample App: | |
* Android:For the Android platform sample app, please see the attachment. | |
* Web:https://panpf.github.io/sketch/app | |
* For other platform sample apps, please refer to the document [Run Sample App](https://github.com/panpf/sketch?tab=readme-ov-file#run-sample-app) running source code experience | |
\---------- | |
更新日志请查看 [CHANGELOG.md](https://github.com/panpf/sketch/blob/main/CHANGELOG_zh.md) 文件 | |
示例 App: | |
* Android:Android 平台示例 App 见附件 | |
* Web:https://panpf.github.io/sketch/app | |
* 其它平台示例 App 请参考文档 [运行示例 App](https://github.com/panpf/sketch/blob/main/README_zh.md#%E8%BF%90%E8%A1%8C%E7%A4%BA%E4%BE%8B-app) 运行源代码体验 | |
files: ./downloaded-apks/*.apk | |
make_latest: true |