diff --git a/.github/workflows/build-master.yml b/.github/workflows/build-master.yml index 9b9640568..e3b523345 100644 --- a/.github/workflows/build-master.yml +++ b/.github/workflows/build-master.yml @@ -5,6 +5,17 @@ on: branches: [master] jobs: + lint: + name: Lint + runs-on: ubuntu-latest + environment: development + + steps: + - uses: actions/checkout@v3 + - name: Setup Node.js + uses: ./.github/actions/setup-node + - run: yarn lint --max-warnings=0 + build-frontend: name: Build frontend runs-on: ubuntu-latest @@ -14,6 +25,14 @@ jobs: - uses: actions/checkout@v3 - name: Setup Node.js uses: ./.github/actions/setup-node + - name: Cache Next.js + uses: actions/cache@v3 + with: + path: | + ${{ github.workspace }}/apps/web/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }} + restore-keys: | + ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- - name: Build run: yarn build diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e3645372a..99ed8912a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,6 +6,17 @@ on: - master jobs: + lint: + name: Lint + runs-on: ubuntu-latest + environment: development + + steps: + - uses: actions/checkout@v3 + - name: Setup Node.js + uses: ./.github/actions/setup-node + - run: yarn lint --max-warnings=0 + build: name: Build on Pull Request runs-on: ubuntu-latest @@ -15,7 +26,14 @@ jobs: - uses: actions/checkout@v3 - name: Setup Node.js uses: ./.github/actions/setup-node - - run: yarn lint --max-warnings=0 + - name: Cache Next.js + uses: actions/cache@v3 + with: + path: | + ${{ github.workspace }}/apps/web/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }} + restore-keys: | + ${{ runner.os }}-nextjs-${{ hashFiles('**/yarn.lock') }}- - name: Build run: yarn build env: @@ -27,9 +45,6 @@ jobs: NEXT_PUBLIC_FIREBASE_APP_ID: ${{ secrets.NEXT_PUBLIC_FIREBASE_APP_ID }} NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID: ${{ secrets.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID }} - - name: Export - run: yarn export - - name: Upload artifact uses: actions/upload-artifact@v3 with: