chore(deps): update devdependencies (non-major) #12204
Workflow file for this run
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: | |
- '**' | |
tags-ignore: | |
- '**' | |
env: | |
# Node.js | |
NODE_VERSION: 'lts/*' | |
PNPM_VERSION: '9' | |
NPM_REGISTRY_URL: 'https://registry.npmjs.org' | |
NODE_AUTH_TOKEN: ${{ secrets.READ_ONLY_NPM_TOKEN }} | |
HUSKY: 0 | |
# Slack Notifications | |
SLACK_WEBHOOK: ${{ secrets.GHA_NOTIFICATIONS_WEBHOOK_URL }} | |
SLACK_CHANNEL: '#triple-web-dev-notifications' # 메시지 보낼 채널 | |
SLACK_USERNAME: 'Triple Frontend' # 메시지를 보내는 계정 이름 | |
SLACK_ICON_EMOJI: ':triple_new:' | |
SLACK_DETAIL_URL: 'https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}' | |
SLACK_GITHUB_REPOSITORY: ${{ github.repository }} | |
SLACK_AUTHOR_NAME: ${{ github.event.sender.login }} | |
SLACK_AUTHOR_ICON: ${{ github.event.sender.avatar_url }} | |
SLACK_FOOTER: ${{ github.repository }} | |
SLACK_GITHUB_REF: ${{ github.event.ref }} # 메시지에 ref로 표시되는 값 | |
SLACK_GITHUB_EVENT_NAME: ${{ github.event_name }} # 메시지에 Event로 표시되는 값 | |
# Nx Cloud | |
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} | |
jobs: | |
check-dependencies: | |
runs-on: [self-hosted, linux, x64] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: ${{ env.PNPM_VERSION }} | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
registry-url: ${{ env.NPM_REGISTRY_URL }} | |
cache: 'pnpm' | |
- run: pnpm install | |
- name: If working tree dirty, shutdown job | |
id: check-working-tree-clean | |
run: | | |
if [[ $(git diff --stat) != '' ]]; then | |
git diff --stat | |
exit 1 | |
fi | |
- name: Notify checking dependency failure | |
if: failure() && steps.check-working-tree-clean.outcome == 'failure' | |
env: | |
SLACK_COLOR: fail | |
SLACK_TITLE: ':pleading: Deps check FAILURE' | |
SLACK_TOPIC: '의존성 변경이 있습니다. `pnpm run sync-deps`로 변경을 반영해주세요.' | |
run: pnpm dlx @titicaca/gha-tools notify | |
lint: | |
runs-on: [self-hosted, linux, x64] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: ${{ env.PNPM_VERSION }} | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
registry-url: ${{ env.NPM_REGISTRY_URL }} | |
cache: 'pnpm' | |
- run: pnpm install | |
- name: Lint | |
id: lint | |
run: pnpm run lint | |
- name: Notify linting failure | |
if: failure() && steps.lint.outcome == 'failure' | |
env: | |
SLACK_COLOR: fail | |
SLACK_TITLE: ':pleading: Lint FAILURE' | |
SLACK_TOPIC: '' | |
run: pnpm dlx @titicaca/gha-tools notify | |
build: | |
runs-on: [self-hosted, linux, x64] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: ${{ env.PNPM_VERSION }} | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
registry-url: ${{ env.NPM_REGISTRY_URL }} | |
cache: 'pnpm' | |
- run: pnpm install | |
- name: Build | |
id: build | |
run: pnpm run build | |
- name: Notify building failure | |
if: failure() && steps.build.outcome == 'failure' | |
env: | |
SLACK_COLOR: fail | |
SLACK_TITLE: ':pleading: Build FAILURE' | |
SLACK_TOPIC: '' | |
run: pnpm dlx @titicaca/gha-tools notify | |
test: | |
runs-on: [self-hosted, linux, x64] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: ${{ env.PNPM_VERSION }} | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
registry-url: ${{ env.NPM_REGISTRY_URL }} | |
cache: 'pnpm' | |
- run: pnpm install | |
- name: Generate coverage report | |
id: test | |
run: pnpm run test:coverage -- --ci --reporters github-actions --reporters summary --maxWorkers 2 | |
- name: Notify testing failure | |
if: failure() && steps.test.outcome == 'failure' | |
env: | |
SLACK_COLOR: fail | |
SLACK_TITLE: ':pleading: Test FAILURE' | |
SLACK_TOPIC: '' | |
run: pnpm dlx @titicaca/gha-tools notify | |
- name: Upload coverage to Codecov | |
id: upload-coverage-to-codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
directory: ./coverage | |
- name: Notify uploading coverage failure | |
if: failure() && steps.upload-coverage-to-codecov.outcome == 'failure' | |
env: | |
SLACK_COLOR: fail | |
SLACK_TITLE: ':pleading: Upload coverage FAILURE' | |
SLACK_TOPIC: '' | |
run: pnpm dlx @titicaca/gha-tools notify | |
chromatic-deployment: | |
runs-on: [self-hosted, linux, x64] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: ${{ env.PNPM_VERSION }} | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
registry-url: ${{ env.NPM_REGISTRY_URL }} | |
cache: 'pnpm' | |
- run: pnpm install | |
- name: Publish to Chromatic | |
if: github.ref != 'refs/heads/main' | |
id: publish-to-chromatic | |
uses: chromaui/action@latest | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} | |
zip: true | |
- name: Notify publishing to Chromatic failure | |
if: failure() && steps.publish-to-chromatic.outcome == 'failure' | |
env: | |
SLACK_COLOR: fail | |
SLACK_TITLE: ':pleading: Publish to Chromatic FAILURE' | |
SLACK_TOPIC: '' | |
run: pnpm dlx @titicaca/gha-tools notify | |
- name: Publish to Chromatic and auto accept changes | |
if: github.ref == 'refs/heads/main' | |
uses: chromaui/action@latest | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} | |
autoAcceptChanges: true |