chains/.github/workflows/build_and_deploy.yml
2023-01-23 07:21:57 +01:00

57 lines
1.8 KiB
YAML

name: Build and Deploy
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.1
with:
submodules: recursive
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v35.4.4
- name: Check changed files
run: |
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
./gradlew clean run --args="verbose singleChainCheck $file"
done
- name: Build
run: |
./gradlew run
# deploy to github pages only when on master
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF##*/})"
id: extract_branch
- name: Checkout
uses: actions/checkout@v2.3.1
with:
submodules: recursive
if: ${{ github.event_name != 'pull_request' && steps.extract_branch.outputs.branch == 'master' }}
- name: Run install
uses: borales/actions-yarn@v4
with:
dir: 'website'
cmd: install # will run `yarn install` command
if: ${{ github.event_name != 'pull_request' && steps.extract_branch.outputs.branch == 'master' }}
- name: Test the app
uses: borales/actions-yarn@v4
with:
dir: 'website'
cmd: run build # will run `yarn test` command
if: ${{ github.event_name != 'pull_request' && steps.extract_branch.outputs.branch == 'master' }}
- name: Deploy
uses: JamesIves/github-pages-deploy-action@4.1.4
with:
branch: gh-pages
folder: website/public
if: ${{ github.event_name != 'pull_request' && steps.extract_branch.outputs.branch == 'master' }}