버전 업 (1.2.0) (#625) #950
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
- develop | |
pull_request: | |
branches: | |
- main | |
- develop | |
jobs: | |
run-bundle-analysis: | |
runs-on: ubuntu-latest | |
env: | |
YARN_ENABLE_IMMUTABLE_INSTALLS: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
run: yarn | |
- name: Build | |
run: yarn build | |
- 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 }} | |
run-lint: | |
runs-on: ubuntu-latest | |
env: | |
YARN_ENABLE_IMMUTABLE_INSTALLS: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
run: yarn | |
- name: Check lint | |
run: yarn lint | |
run-jest: | |
runs-on: ubuntu-latest | |
env: | |
YARN_ENABLE_IMMUTABLE_INSTALLS: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
run: yarn | |
- name: Run tests | |
run: yarn test | |
run-codecov: | |
runs-on: ubuntu-latest | |
env: | |
YARN_ENABLE_IMMUTABLE_INSTALLS: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
run: yarn | |
- name: Generate coverage report | |
run: yarn test | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3.0.0 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
fail_ci_if_error: true | |
run-cypress: | |
runs-on: ubuntu-latest | |
env: | |
YARN_ENABLE_IMMUTABLE_INSTALLS: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install dependencies | |
run: yarn | |
# - name: Install mkcert | |
# run: | | |
# sudo apt install libnss3-tools | |
# git clone https://github.com/FiloSottile/mkcert && cd mkcert | |
# go build -ldflags "-X main.Version=$(git describe --tags)" | |
# mkcert -install | |
# mkcert localhost | |
- name: Generate environment json file | |
run: | | |
echo '${{ secrets.CYPRESS_ENV_JSON }}' > cypress.env.json | |
- name: E2E test - chrome | |
uses: cypress-io/github-action@v3.1.0 ## NOTE: need fix version. rel issue: https://github.com/cypress-io/github-action/issues/430 | |
with: | |
install: false | |
browser: chrome | |
record: true | |
start: yarn dev | |
command: yarn cypress:headless | |
config-file: cypress.config.ts | |
env: | |
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | |
GITHUB_TOKEN: ${{ secrets.HYESUNG_GITHUB_TOKEN }} |