Skip to content

halo-sigs/app-store-release-action

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

App Store release action

这是一个可以自动发布版本到 Halo 应用市场的 GitHub Action。

目前 Halo 应用市场的开发者入驻为内测阶段,详情可见:https://www.halo.run/1724038689087

使用方式

app-store-release:
  runs-on: ubuntu-latest
  needs: build
  if: github.event_name == 'release'
  steps:
    - uses: actions/checkout@v6
      with:
        submodules: true
    - name: Download plugin-foo jar
      uses: actions/download-artifact@v8
      with:
        name: plugin-foo
        path: build/libs
    - name: Sync to Halo App Store
      uses: halo-sigs/app-store-release-action@v4
      with:
        github-token: ${{secrets.GITHUB_TOKEN}}
        app-id: ${{secrets.APP_ID}}
        release-id: ${{ github.event.release.id }}
        assets-dir: "build/libs"
        halo-pat: ${{ secrets.HALO_PAT }}

参数说明:

  • app-id:应用 ID,可以在 Halo 官网后台的应用管理中找到,必须先创建应用。
  • release-id:保持不变即可,用于或者当前 GitHub Release 的信息,以同步到 Halo 应用版本。
  • assets-dir:应用的构建产物目录,在创建版本的时候会将此目录的所有文件上传到应用版本的 Assets 中。
  • halo-pat:Halo 官网的个人令牌(PAT),需要勾选 版本管理 权限。

使用示例

name: Build Plugin JAR File

on:
  push:
    branches: [main]
  release:
    types:
      - created

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
        with:
          submodules: true
      - name: Set up JDK 21
        uses: actions/setup-java@v5
        with:
          distribution: "temurin"
          cache: "gradle"
          java-version: 21
      - name: Build with Gradle
        run: |
          # Set the version with tag name when releasing
          version=${{ github.event.release.tag_name }}
          version=${version#v}
          sed -i "s/version=.*-SNAPSHOT$/version=$version/1" gradle.properties
          ./gradlew clean build -x test
      - name: Archive plugin-starter jar
        uses: actions/upload-artifact@v6
        with:
          name: plugin-starter
          path: |
            build/libs/*.jar
          retention-days: 1

  halo-store-release:
    runs-on: ubuntu-latest
    needs: build
    if: github.event_name == 'release'
    steps:
      - uses: actions/checkout@v6
        with:
          submodules: true
      - name: Download plugin-starter jar
        uses: actions/download-artifact@v8
        with:
          name: plugin-starter
          path: build/libs
      - name: Sync to Halo App Store
        uses: halo-sigs/app-store-release-action@v4
        with:
          github-token: ${{secrets.GITHUB_TOKEN}}
          app-id: ${{secrets.APP_ID}}
          release-id: ${{ github.event.release.id }}
          assets-dir: "build/libs"
          halo-pat: ${{ secrets.HALO_PAT }}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors