Merge pull request #251 from brecert/actions-demo-test

This commit is contained in:
Paul Makles 2021-09-17 09:40:23 +01:00 committed by GitHub
commit 2ff9c91287
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 87 additions and 39 deletions

33
.github/actions/build/action.yml vendored Normal file
View file

@ -0,0 +1,33 @@
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"
- name: Install Dependencies and Build
shell: bash -l {0}
env:
BUILD_FOLDER: ${{ inputs.folder }}
BASE: ${{ inputs.base }}
run: |
cd "$BUILD_FOLDER"
yarn install
yarn build --base "$BASE"

View file

@ -9,6 +9,7 @@ on:
paths-ignore:
- ".github/**"
- "!.github/workflows/docker.yml"
- "!.github/workflows/preview_*.yml"
- ".vscode/**"
- ".gitignore"
- ".gitlab-ci.yml"
@ -17,14 +18,23 @@ on:
pull_request:
branches:
- "master"
paths-ignore:
- ".github/**"
- "!.github/workflows/docker.yml"
- "!.github/workflows/preview_*.yml"
- ".vscode/**"
- ".gitignore"
- ".gitlab-ci.yml"
- "LICENSE"
- "README"
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
architecture: [linux/amd64]
matrix:
architecture: [linux/amd64]
steps:
- name: Checkout
uses: actions/checkout@v2
@ -37,8 +47,8 @@ jobs:
- name: Cache Docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache/${{ matrix.architecture }}
key: ${{ runner.os }}-buildx-${{ matrix.architecture }}-${{ github.sha }}
path: /tmp/.buildx-cache/${{ matrix.architecture }}
key: ${{ runner.os }}-buildx-${{ matrix.architecture }}-${{ github.sha }}
- name: Build
uses: docker/build-push-action@v2
with:
@ -48,8 +58,8 @@ jobs:
cache-to: type=local,dest=/tmp/.buildx-cache-new/${{ matrix.architecture }},mode=max
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache/${{ matrix.architecture }}
mv /tmp/.buildx-cache-new/${{ matrix.architecture }} /tmp/.buildx-cache/${{ matrix.architecture }}
rm -rf /tmp/.buildx-cache/${{ matrix.architecture }}
mv /tmp/.buildx-cache-new/${{ matrix.architecture }} /tmp/.buildx-cache/${{ matrix.architecture }}
publish:
needs: [test]
@ -67,8 +77,8 @@ jobs:
- name: Cache amd64 Docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache/linux/amd64
key: ${{ runner.os }}-buildx-linux/amd64-${{ github.sha }}
path: /tmp/.buildx-cache/linux/amd64
key: ${{ runner.os }}-buildx-linux/amd64-${{ github.sha }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v3
@ -97,5 +107,5 @@ jobs:
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

View file

@ -3,13 +3,12 @@ name: Mirroring
on: [push, delete]
jobs:
to_gitlab:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- uses: pixta-dev/repository-mirroring-action@v1
with:
target_repo_url:
git@gitlab.com:insert/revolt-vite.git
ssh_private_key:
${{ secrets.GITLAB_SSH_PRIVATE_KEY }}
to_gitlab:
runs-on: ubuntu-18.04
if: secrets.GITLAB_SSH_PRIVATE_KEY
steps:
- uses: actions/checkout@v1
- uses: pixta-dev/repository-mirroring-action@v1
with:
target_repo_url: git@gitlab.com:insert/revolt-vite.git
ssh_private_key: ${{ secrets.GITLAB_SSH_PRIVATE_KEY }}

View file

@ -1,8 +1,8 @@
name: Clean Preview
#! Safety:
#! this workflow should not execute any code at all
#! see githubs docs on pull_request_target for more
#! this workflow should not execute any untrusted input at all
#! see the docs on `pull_request_target` for more
on:
pull_request_target:
types: [unlabeled]
@ -11,6 +11,8 @@ jobs:
clean:
runs-on: ubuntu-latest
if: github.event.label.name == 'use-preview'
env:
BASE: refs/pull/${{ github.event.pull_request.number }}
steps:
- uses: actions/checkout@v2
@ -19,14 +21,14 @@ jobs:
persist-credentials: false
- name: clean previews
run: 'rm -rf "./refs/pull/${{ github.event.pull_request.number }}"'
run: rm -rf "$BASE"
- name: publish cleaned previews
uses: JamesIves/github-pages-deploy-action@4.1.5
with:
folder: .
branch: build-previews
single-commit: true
commit-message: "Cleaning up build result for #${{ github.event.pull_request.number }}"
- name: send comment
uses: marocchino/sticky-pull-request-comment@v2

View file

@ -1,41 +1,45 @@
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:
pull_request:
pull_request_target:
types: [synchronize, reopened, labeled]
jobs:
build:
preview:
runs-on: ubuntu-latest
# 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')
env:
BASE: refs/pull/${{ github.event.pull_request.number }}/merge
REPO: ${{ github.event.repository.name }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2
with:
# Head commit of the pull request
ref: ${{ github.event.pull_request.head.sha }}
path: pull
submodules: recursive
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 15
cache: "yarn"
- run: yarn install
# - run: yarn check
- name: build
run: yarn build --base "/revite/${{ github.ref }}/"
uses: ./.github/actions/build
with:
base: /${{ env.REPO }}/${{ env.BASE }}/
folder: pull
- name: publish preview
uses: JamesIves/github-pages-deploy-action@4.1.5
with:
folder: dist
folder: pull/dist
branch: build-previews
target-folder: ${{ github.ref }}
target-folder: ${{ env.BASE }}
single-commit: true
commit-message: "Publishing build result from #${{ github.event.pull_request.number }}"
- name: send comment
uses: marocchino/sticky-pull-request-comment@v2
@ -43,6 +47,6 @@ jobs:
header: Preview environment
message: |
## 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.