From 7dbc1986f71dd7d79a5a5e3c90549bb25b5b0da3 Mon Sep 17 00:00:00 2001 From: guqing <38999863+guqing@users.noreply.github.com> Date: Tue, 2 Jul 2024 18:37:24 +0800 Subject: [PATCH] chore: update workflows config (#20) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### What this PR does? 更新 workflow 配置 ```release-note None ``` --- .github/workflows/cd.yaml | 19 ++++++ .github/workflows/ci.yaml | 15 +++++ .github/workflows/workflow.yaml | 105 -------------------------------- build.gradle | 12 ++-- src/main/resources/plugin.yaml | 2 + 5 files changed, 44 insertions(+), 109 deletions(-) create mode 100644 .github/workflows/cd.yaml create mode 100644 .github/workflows/ci.yaml delete mode 100644 .github/workflows/workflow.yaml diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml new file mode 100644 index 0000000..d65481c --- /dev/null +++ b/.github/workflows/cd.yaml @@ -0,0 +1,19 @@ +name: CD + +on: + release: + types: + - published + +jobs: + cd: + uses: halo-sigs/reusable-workflows/.github/workflows/plugin-cd.yaml@v1 + secrets: + halo-username: ${{ secrets.HALO_USERNAME }} + halo-password: ${{ secrets.HALO_PASSWORD }} + permissions: + contents: write + with: + app-id: app-OoggD + ui-path: "assets" + diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..6c8af0b --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,15 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + ci: + uses: halo-sigs/reusable-workflows/.github/workflows/plugin-ci.yaml@v1 + with: + ui-path: "assets" diff --git a/.github/workflows/workflow.yaml b/.github/workflows/workflow.yaml deleted file mode 100644 index 3cdb430..0000000 --- a/.github/workflows/workflow.yaml +++ /dev/null @@ -1,105 +0,0 @@ -name: Build Plugin JAR File - -on: - push: - branches: [ main ] - release: - types: - - created - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Set up JDK 17 - uses: actions/setup-java@v2 - with: - distribution: 'temurin' - cache: 'gradle' - java-version: 17 - - name: Set up Node.js - uses: actions/setup-node@v3 - with: - node-version: 18 - - uses: pnpm/action-setup@v2.0.1 - name: Install pnpm - id: pnpm-install - with: - version: 8 - run_install: false - - name: Get pnpm store directory - id: pnpm-cache - run: | - echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/assets/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - name: Install Frontend Dependencies - run: | - ./gradlew pnpmInstall - - 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-lightgallery jar - uses: actions/upload-artifact@v2 - with: - name: plugin-lightgallery - path: | - build/libs/*.jar - retention-days: 1 - - github-release: - runs-on: ubuntu-latest - needs: build - if: github.event_name == 'release' - steps: - - name: Download plugin-lightgallery jar - uses: actions/download-artifact@v2 - with: - name: plugin-lightgallery - path: build/libs - - name: Get Name of Artifact - id: get_artifact - run: | - ARTIFACT_PATHNAME=$(ls build/libs/*.jar | head -n 1) - ARTIFACT_NAME=$(basename ${ARTIFACT_PATHNAME}) - echo "Artifact pathname: ${ARTIFACT_PATHNAME}" - echo "Artifact name: ${ARTIFACT_NAME}" - echo "ARTIFACT_PATHNAME=${ARTIFACT_PATHNAME}" >> $GITHUB_ENV - echo "ARTIFACT_NAME=${ARTIFACT_NAME}" >> $GITHUB_ENV - echo "RELEASE_ID=${{ github.event.release.id }}" >> $GITHUB_ENV - - name: Upload a Release Asset - uses: actions/github-script@v2 - if: github.event_name == 'release' - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - console.log('environment', process.versions); - - const fs = require('fs').promises; - - const { repo: { owner, repo }, sha } = context; - console.log({ owner, repo, sha }); - - const releaseId = process.env.RELEASE_ID - const artifactPathName = process.env.ARTIFACT_PATHNAME - const artifactName = process.env.ARTIFACT_NAME - console.log('Releasing', releaseId, artifactPathName, artifactName) - - await github.repos.uploadReleaseAsset({ - owner, repo, - release_id: releaseId, - name: artifactName, - data: await fs.readFile(artifactPathName) - }); diff --git a/build.gradle b/build.gradle index 39e6824..c8d56d0 100644 --- a/build.gradle +++ b/build.gradle @@ -35,13 +35,17 @@ node { nodeProjectDir = file("${project.projectDir}/assets") } -task buildFrontend(type: PnpmTask) { +tasks.register('installDepsForUI', PnpmTask) { + args = ['install'] +} + +tasks.register('buildFrontend', PnpmTask) { args = ['build'] + dependsOn('installDepsForUI') } -build { - // build frontend before build - tasks.getByName('compileJava').dependsOn('buildFrontend') +tasks.named('build').configure { + dependsOn('buildFrontend') } halo { diff --git a/src/main/resources/plugin.yaml b/src/main/resources/plugin.yaml index adf6371..ef4778d 100644 --- a/src/main/resources/plugin.yaml +++ b/src/main/resources/plugin.yaml @@ -2,6 +2,8 @@ apiVersion: plugin.halo.run/v1alpha1 kind: Plugin metadata: name: PluginLightGallery + annotations: + store.halo.run/app-id: app-OoggD spec: enabled: true requires: ">=2.10.0"