From d2e54e6940b18cc4ca63ad7e3a42f26288d796bd Mon Sep 17 00:00:00 2001 From: Reza Rahemtola Date: Sun, 14 Jul 2024 01:43:47 +0200 Subject: [PATCH] feat: GitHub Action --- .github/workflows/main.yaml | 81 +++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .github/workflows/main.yaml diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml new file mode 100644 index 0000000..fb19ddb --- /dev/null +++ b/.github/workflows/main.yaml @@ -0,0 +1,81 @@ +name: Main workflow + +on: [ push ] + +jobs: + build: + name: "Front: Build" + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./front + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Use Node.js 20 + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'yarn' + cache-dependency-path: 'front/yarn.lock' + + - name: Install dependencies + run: yarn + + - name: Build + run: yarn build + + lint: + name: "Front: Lint" + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./front + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Use Node.js 20 + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'yarn' + cache-dependency-path: 'front/yarn.lock' + + - name: Install dependencies + run: yarn + + - name: Run ESLint + run: yarn lint > eslint-results + + - name: Get eslint results + uses: actions/upload-artifact@v4 + if: failure() + with: + name: eslint-results + path: eslint-results + retention-days: 5 + + format: + name: "Front: Format" + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./front + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Use Node.js 20 + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'yarn' + cache-dependency-path: 'front/yarn.lock' + + - name: Install dependencies + run: yarn + + - name: Run Prettier + run: yarn format