Skip to content

ECOPROJECT-2327: Add Github action to validate PRs before merge it to main #8

ECOPROJECT-2327: Add Github action to validate PRs before merge it to main

ECOPROJECT-2327: Add Github action to validate PRs before merge it to main #8

Workflow file for this run

name: Pull request
on:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review
branches:
- main
- releases/*
env:
NODE_OPTIONS: '--max-old-space-size=8192'
# See https://github.com/cypress-io/cypress/issues/25357
ELECTRON_EXTRA_LAUNCH_ARGS: --disable-gpu
jobs:
preflight-check:
# Prevents running the workflow when a PR is marked as draft.
runs-on: ubuntu-latest
outputs:
skip: ${{ steps.check.outputs.skip }}
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Enable Corepack
run: |
corepack enable
corepack prepare yarn@4.5.0 --activate
- name: Check if PR is draft
id: check
run: |
if [[ "${{ github.event.pull_request.draft }}" == "true" ]]; then
skip=true
else
skip=false
fi
echo "skip=${skip}" >> $GITHUB_OUTPUT
echo "skip=${skip}"
needs: [dco-check]
dco-check:
runs-on: ubuntu-latest
steps:
- name: Check DCO
uses: dcoapp/action@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
lint-and-build:
# Execute lint and build when a PR is ready
needs: preflight-check
if: needs.preflight-check.outputs.skip == 'false'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Enable Corepack
run: |
corepack enable
corepack prepare yarn@4.5.0 --activate
- run: yarn install --immutable
- run: yarn all:lint
- run: yarn all:build