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' }}