mirror of
https://github.com/nocobase/nocobase
synced 2024-11-15 07:45:18 +00:00
ci(workflows): support deploy fork pr
This commit is contained in:
parent
c94f29a8ce
commit
51c4ba0a04
111
.github/workflows/manual_deploy_fork_pr.yml
vendored
Normal file
111
.github/workflows/manual_deploy_fork_pr.yml
vendored
Normal file
@ -0,0 +1,111 @@
|
||||
name: manual_down_deploy_pr
|
||||
# deploy_host
|
||||
# deploy_host_username
|
||||
# deploy_host_password
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
pr_number:
|
||||
description: 'fork pr number is '
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
up_deploy:
|
||||
runs-on: ubuntu-latest
|
||||
services:
|
||||
verdaccio:
|
||||
image: verdaccio/verdaccio
|
||||
ports:
|
||||
- 4873:4873
|
||||
steps:
|
||||
- name: Download artifact
|
||||
id: download-artifact
|
||||
uses: dawidd6/action-download-artifact@v2
|
||||
with:
|
||||
# Optional, GitHub token, a Personal Access Token with `public_repo` scope if needed
|
||||
# Required, if the artifact is from a different repo
|
||||
# Required, if the repo is private a Personal Access Token with `repo` scope is needed
|
||||
github_token: ${{secrets.GITHUB_TOKEN}}
|
||||
# Optional, workflow file name or ID
|
||||
# If not specified, will be inferred from run_id (if run_id is specified), or will be the current workflow
|
||||
workflow: upload_fork_pr_files.yml
|
||||
# Optional, the status or conclusion of a completed workflow to search for
|
||||
# Can be one of a workflow conclusion:
|
||||
# "failure", "success", "neutral", "cancelled", "skipped", "timed_out", "action_required"
|
||||
# Or a workflow status:
|
||||
# "completed", "in_progress", "queued"
|
||||
# Use the empty string ("") to ignore status or conclusion in the search
|
||||
workflow_conclusion: success
|
||||
# Optional, will get head commit SHA
|
||||
pr: ${{ inputs.pr_number }}
|
||||
# Optional, no need to specify if PR is
|
||||
# commit: ${{github.event.pull_request.head.sha}}
|
||||
# Optional, will use the specified branch. Defaults to all branches
|
||||
# branch: master
|
||||
# Optional, defaults to all types
|
||||
# event: push
|
||||
# Optional, will use specified workflow run
|
||||
# run_id: 1122334455
|
||||
# Optional, run number from the workflow
|
||||
# run_number: 34
|
||||
# Optional, uploaded artifact name,
|
||||
# will download all artifacts if not specified
|
||||
# and extract them into respective subdirectories
|
||||
# https://github.com/actions/download-artifact#download-all-artifacts
|
||||
name: pr_files
|
||||
# Optional, a directory where to extract artifact(s), defaults to the current directory
|
||||
# path: extract_here
|
||||
# Optional, defaults to current repo
|
||||
# repo: ${{ github.repository }}
|
||||
# Optional, check the workflow run to whether it has an artifact
|
||||
# then will get the last available artifact from the previous workflow
|
||||
# default false, just try to download from the last one
|
||||
# check_artifacts: false
|
||||
# Optional, search for the last workflow run whose stored an artifact named as in `name` input
|
||||
# default false
|
||||
search_artifacts: false
|
||||
# Optional, choose to skip unpacking the downloaded artifact(s)
|
||||
# default false
|
||||
skip_unpack: false
|
||||
# Optional, choose how to exit the action if no artifact is found
|
||||
# can be one of:
|
||||
# "fail", "warn", "ignore"
|
||||
# default fail
|
||||
if_no_artifact_found: fail
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
with:
|
||||
driver-opts: network=host
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ${{ secrets.ALI_DOCKER_REGISTRY }}
|
||||
username: ${{ secrets.ALI_DOCKER_USERNAME }}
|
||||
password: ${{ secrets.ALI_DOCKER_PASSWORD }}
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: .
|
||||
file: Dockerfile
|
||||
build-args: |
|
||||
VERDACCIO_URL=http://localhost:4873/
|
||||
COMMIT_HASH=${GITHUB_SHA}
|
||||
push: true
|
||||
tags: ${{ secrets.ALI_DOCKER_REGISTRY }}/nocobase/nocobase:pr-${{ inputs.pr_number }}
|
||||
|
||||
|
||||
- name: ssh deploy
|
||||
uses: appleboy/ssh-action@master
|
||||
env:
|
||||
pr_number: ${{ inputs.pr_number }}
|
||||
with:
|
||||
host: ${{ secrets.deploy_host }}
|
||||
username: ${{ secrets.deploy_host_username }}
|
||||
password: ${{ secrets.deploy_host_password }}
|
||||
script: |
|
||||
${{ env.nocobase_deploy_sh }} up ${{ env.pr_number }}
|
20
.github/workflows/upload_fork_pr_files.yml
vendored
Normal file
20
.github/workflows/upload_fork_pr_files.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
name: Upload fork pr files
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- '**'
|
||||
paths:
|
||||
- 'packages/**'
|
||||
|
||||
jobs:
|
||||
upload-fork-pr-files:
|
||||
if: github.event.pull_request.head.repo.fork == true
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: pr_files
|
||||
path: ./
|
Loading…
Reference in New Issue
Block a user