mirror of
https://github.com/revoltchat/revite.git
synced 2024-11-26 00:50:56 -05:00
Add support for external repositories with pull request previews
This commit is contained in:
parent
45c7cd0307
commit
f28fd40a78
3 changed files with 53 additions and 16 deletions
34
.github/actions/build/action.yml
vendored
Normal file
34
.github/actions/build/action.yml
vendored
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
name: Build
|
||||||
|
description: Builds a project instance, assuming all the correct project files are in the build folder
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
base:
|
||||||
|
name: Base path
|
||||||
|
description: The path to use as a base for linking
|
||||||
|
required: true
|
||||||
|
default: /
|
||||||
|
folder:
|
||||||
|
name: Build Folder
|
||||||
|
description: The folder to try to build from
|
||||||
|
required: true
|
||||||
|
default: .
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: composite
|
||||||
|
steps:
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 15
|
||||||
|
cache: "yarn"
|
||||||
|
|
||||||
|
- run: yarn install
|
||||||
|
# - run: yarn check
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
env:
|
||||||
|
BUILD_FOLDER: ${{ inputs.folder }}
|
||||||
|
BASE: ${{ inputs.base }}
|
||||||
|
run: |
|
||||||
|
cd "$BUILD_FOLDER"
|
||||||
|
yarn build --base "$BASE"
|
4
.github/workflows/preview_cleanup.yml
vendored
4
.github/workflows/preview_cleanup.yml
vendored
|
@ -1,8 +1,8 @@
|
||||||
name: Clean Preview
|
name: Clean Preview
|
||||||
|
|
||||||
#! Safety:
|
#! Safety:
|
||||||
#! this workflow should not execute any code at all
|
#! this workflow should not execute any untrusted input at all
|
||||||
#! see githubs docs on pull_request_target for more
|
#! see the docs on `pull_request_target` for more
|
||||||
on:
|
on:
|
||||||
pull_request_target:
|
pull_request_target:
|
||||||
types: [unlabeled]
|
types: [unlabeled]
|
||||||
|
|
31
.github/workflows/preview_pull_request.yml
vendored
31
.github/workflows/preview_pull_request.yml
vendored
|
@ -1,40 +1,43 @@
|
||||||
name: Preview Pull Request
|
name: Preview Pull Request
|
||||||
|
|
||||||
|
#! Safety:
|
||||||
|
#! this workflow should not execute any untrusted input at all
|
||||||
|
#! see the docs on `pull_request_target` for more
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request_target:
|
||||||
types: [synchronize, reopened, labeled]
|
types: [synchronize, reopened, labeled]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
preview:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# make sure the pull request is labeled with 'use-preview'
|
# make sure the pull request is labeled with 'use-preview'
|
||||||
if: github.event.label.name == 'use-preview' || contains(github.event.pull_request.labels.*.name, 'use-preview')
|
if: github.event.label.name == 'use-preview' || contains(github.event.pull_request.labels.*.name, 'use-preview')
|
||||||
|
env:
|
||||||
|
BASE: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||||
|
REPO: ${{ github.event.repository.name }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
# Head commit of the pull request
|
# Head commit of the pull request
|
||||||
ref: ${{ github.event.pull_request.head.sha }}
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
path: pull
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
|
|
||||||
- name: Setup Node
|
|
||||||
uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: 15
|
|
||||||
cache: "yarn"
|
|
||||||
|
|
||||||
- run: yarn install
|
|
||||||
# - run: yarn check
|
|
||||||
|
|
||||||
- name: build
|
- name: build
|
||||||
run: yarn build --base "/revite/${{ github.ref }}/"
|
uses: ./.github/actions/build_preview
|
||||||
|
with:
|
||||||
|
base: /${{ env.REPO }}/${{ env.BASE }}/
|
||||||
|
folder: pull
|
||||||
|
|
||||||
- name: publish preview
|
- name: publish preview
|
||||||
uses: JamesIves/github-pages-deploy-action@4.1.5
|
uses: JamesIves/github-pages-deploy-action@4.1.5
|
||||||
with:
|
with:
|
||||||
folder: dist
|
folder: dist
|
||||||
branch: build-previews
|
branch: build-previews
|
||||||
target-folder: ${{ github.ref }}
|
target-folder: ${{ env.BASE }}
|
||||||
single-commit: true
|
single-commit: true
|
||||||
|
|
||||||
- name: send comment
|
- name: send comment
|
||||||
|
@ -43,6 +46,6 @@ jobs:
|
||||||
header: Preview environment
|
header: Preview environment
|
||||||
message: |
|
message: |
|
||||||
## Preview environment
|
## Preview environment
|
||||||
https://${{ github.repository_owner }}.github.io/revite/${{ github.ref }}/
|
https://${{ github.repository_owner }}.github.io/${{ env.REPO }}/${{ env.BASE }}/
|
||||||
|
|
||||||
This link will remain active until the `use-preview` label is removed.
|
This link will remain active until the `use-preview` label is removed.
|
||||||
|
|
Loading…
Reference in a new issue