Skip to content

Refactor: 라우팅 시 즉각적인 loading 피드백, lint 수정, Footer를 layout으로 #1089

Refactor: 라우팅 시 즉각적인 loading 피드백, lint 수정, Footer를 layout으로

Refactor: 라우팅 시 즉각적인 loading 피드백, lint 수정, Footer를 layout으로 #1089

Workflow file for this run

name: CI
on:
pull_request:
branches: [develop]
types: [opened, reopened, edited]
push:
branches: [develop]
env:
CACHED_DEPENDENCY_PATHS: ${{ github.workspace }}/**/node_modules
CACHED_BUILD_PATHS: ${{ github.workspace }}/.next
BUILD_CACHE_KEY: ${{ github.sha }}
DEFAULT_NODE_VERSION: '16'
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
jobs:
job_install_dependencies:
name: Install Dependencies
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Check out current commit (${{ github.sha }})
uses: actions/checkout@v2
- name: Set up Node
uses: actions/setup-node@v2
with:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- name: Compute dependency cache key
id: compute_lockfile_hash
run: echo "::set-output name=hash::${{ hashFiles('yarn.lock') }}"
- name: Check dependency cache
uses: actions/cache@v3
id: cache_dependencies
with:
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
key: ${{ steps.compute_lockfile_hash.outputs.hash }}
- name: Install dependencies
if: steps.cache_dependencies.outputs.cache-hit == ''
run: yarn install --immutable
outputs:
dependency_cache_key: ${{ steps.compute_lockfile_hash.outputs.hash }}
job_build:
name: Build
needs: [job_install_dependencies]
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Check out current commit (${{ github.sha }})
uses: actions/checkout@v2
- name: Set up Node
uses: actions/setup-node@v2
with:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- name: Check dependency cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
key: ${{ needs.job_install_dependencies.outputs.dependency_cache_key }}
- name: Check build cache
uses: actions/cache@v3
id: cache_built_packages
with:
path: ${{ env.CACHED_BUILD_PATHS }}
key: ${{ env.BUILD_CACHE_KEY }}
- name: Build
if: steps.cache_built_packages.outputs.cache-hit == ''
run: |
ls -al
yarn workspace @gloddy/web build
- name: Output build cache key
run: echo "build_cache_key=${{ env.BUILD_CACHE_KEY }}" >> $GITHUB_OUTPUT
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
outputs:
dependency_cache_key: ${{ needs.job_install_dependencies.outputs.dependency_cache_key }}
build_cache_key: ${{ env.BUILD_CACHE_KEY }}
job_continuous_integration:
runs-on: ubuntu-latest
name: Check test & lint
needs: [job_install_dependencies]
steps:
- name: Check out current commit (${{ github.sha }})
uses: actions/checkout@v2
- name: Set up Node
uses: actions/setup-node@v2
with:
node-version: ${{ env.DEFAULT_NODE_VERSION }}
- name: Check dependency cache
uses: actions/cache@v3
with:
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
key: ${{ needs.job_install_dependencies.outputs.dependency_cache_key }}
- name: Check Lint
if: github.event_name != 'push'
run: yarn web lint
- name: fix Lint
if: github.event_name != 'push'
run: yarn web lint:fix
- name: Run Prettier
if: github.event_name != 'push'
run: yarn web format
# job_nextjs_bundle_analysis:
# name: Nextjs bundle analysis
# runs-on: ubuntu-latest
# needs: [job_build]
# steps:
# - name: Check out current commit (${{ github.sha }})
# uses: actions/checkout@v2
# - name: Set up Node
# uses: actions/setup-node@v2
# with:
# node-version: ${{ env.DEFAULT_NODE_VERSION }}
# - name: Check dependency cache
# uses: actions/cache@v3
# with:
# path: ${{ env.CACHED_DEPENDENCY_PATHS }}
# key: ${{ needs.job_build.outputs.dependency_cache_key }}
# - name: Check build cache
# uses: actions/cache@v3
# with:
# path: ${{ env.CACHED_BUILD_PATHS }}
# key: ${{ needs.job_build.outputs.build_cache_key }}
# - name: Analyze bundle sizes
# uses: transferwise/actions-next-bundle-analyzer@master
# with:
# workflow-id: ci.yml
# base-branch: main
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}