mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 13:39:24 +08:00
chore(ci): create-branch.yml (#5678)
* chore(ci): create branch * fix: bug * fix: bug * fix: secrets * fix: plugins * chore: test * chore: update * chore: update * chore: update * chore: update * chore: update * chore: update * chore: update * chore: update * chore: update * chore: update * chore: update * chore: update * chore: update
This commit is contained in:
parent
8aa65fed5a
commit
4992af56a8
56
.github/workflows/create-branch.yml
vendored
Normal file
56
.github/workflows/create-branch.yml
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
name: Create branch for plugin repos
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
base:
|
||||
description: 'Base branch name'
|
||||
new:
|
||||
description: 'New branch name'
|
||||
|
||||
jobs:
|
||||
get-plugins:
|
||||
uses: nocobase/nocobase/.github/workflows/get-plugins.yml@main
|
||||
secrets: inherit
|
||||
create-branch:
|
||||
needs: get-plugins
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
repo:
|
||||
- 'nocobase'
|
||||
- 'pro-plugins'
|
||||
- ${{ fromJSON(needs.get-plugins.outputs.custom-plugins) }}
|
||||
- ${{ fromJSON(needs.get-plugins.outputs.rc-plugins) }}
|
||||
- ${{ fromJSON(needs.get-plugins.outputs.beta-plugins) }}
|
||||
- ${{ fromJSON(needs.get-plugins.outputs.alpha-plugins) }}
|
||||
- ${{ fromJSON(needs.get-plugins.outputs.unreleased-plugins) }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/create-github-app-token@v1
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.NOCOBASE_APP_ID }}
|
||||
private-key: ${{ secrets.NOCOBASE_APP_PRIVATE_KEY }}
|
||||
repositories: ${{ matrix.repo }}
|
||||
skip-token-revoke: true
|
||||
- name: Get GitHub App User ID
|
||||
id: get-user-id
|
||||
run: echo "user-id=$(gh api "/users/${{ steps.app-token.outputs.app-slug }}[bot]" --jq .id)" >> "$GITHUB_OUTPUT"
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ inputs.base || 'next' }}
|
||||
repository: nocobase/${{ matrix.repo }}
|
||||
fetch-depth: 0
|
||||
token: ${{ steps.app-token.outputs.token }}
|
||||
- name: Create branch ${{ inputs.new }} (nocobase/${{ matrix.repo }})
|
||||
run: |
|
||||
git config --global user.name '${{ steps.app-token.outputs.app-slug }}[bot]'
|
||||
git config --global user.email '${{ steps.get-user-id.outputs.user-id }}+${{ steps.app-token.outputs.app-slug }}[bot]@users.noreply.github.com>'
|
||||
git checkout ${{ inputs.base || 'next' }}
|
||||
git pull origin ${{ inputs.base || 'next' }}
|
||||
git checkout -b ${{ inputs.new || 'develop' }}
|
||||
git push --set-upstream origin ${{ inputs.new || 'develop'}}
|
43
.github/workflows/get-plugins.yml
vendored
Normal file
43
.github/workflows/get-plugins.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
name: Get plugins
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
outputs:
|
||||
custom-plugins:
|
||||
value: ${{ jobs.get-plugins.outputs.custom-plugins }}
|
||||
rc-plugins:
|
||||
value: ${{ jobs.get-plugins.outputs.rc-plugins }}
|
||||
beta-plugins:
|
||||
value: ${{ jobs.get-plugins.outputs.beta-plugins }}
|
||||
alpha-plugins:
|
||||
value: ${{ jobs.get-plugins.outputs.alpha-plugins }}
|
||||
unreleased-plugins:
|
||||
value: ${{ jobs.get-plugins.outputs.unreleased-plugins }}
|
||||
|
||||
jobs:
|
||||
get-plugins:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
custom-plugins: ${{ steps.get-plugins.outputs.custom-plugins }}
|
||||
rc-plugins: ${{ steps.get-plugins.outputs.rc-plugins }}
|
||||
beta-plugins: ${{ steps.get-plugins.outputs.beta-plugins }}
|
||||
alpha-plugins: ${{ steps.get-plugins.outputs.alpha-plugins }}
|
||||
unreleased-plugins: ${{ steps.get-plugins.outputs.unreleased-plugins }}
|
||||
steps:
|
||||
- uses: actions/create-github-app-token@v1
|
||||
id: app-token
|
||||
with:
|
||||
app-id: ${{ vars.NOCOBASE_APP_ID }}
|
||||
private-key: ${{ secrets.NOCOBASE_APP_PRIVATE_KEY }}
|
||||
owner: nocobase
|
||||
skip-token-revoke: true
|
||||
- id: get-plugins
|
||||
shell: bash
|
||||
run: |
|
||||
echo "custom-plugins=$(gh search repos "props.plugin-type:custom" --owner=nocobase --json name | jq -r 'map(.name) | tostring')" >> "$GITHUB_OUTPUT"
|
||||
echo "rc-plugins=$(gh search repos "props.plugin-type:rc" --owner=nocobase --json name | jq -r 'map(.name) | tostring')" >> "$GITHUB_OUTPUT"
|
||||
echo "beta-plugins=$(gh search repos "props.plugin-type:beta" --owner=nocobase --json name | jq -r 'map(.name) | tostring')" >> "$GITHUB_OUTPUT"
|
||||
echo "alpha-plugins=$(gh search repos "props.plugin-type:alpha" --owner=nocobase --json name | jq -r 'map(.name) | tostring')" >> "$GITHUB_OUTPUT"
|
||||
echo "unreleased-plugins=$(gh search repos "props.plugin-type:unreleased" --owner=nocobase --json name | jq -r 'map(.name) | tostring')" >> "$GITHUB_OUTPUT"
|
||||
env:
|
||||
GH_TOKEN: ${{ steps.app-token.outputs.token }}
|
Loading…
x
Reference in New Issue
Block a user