๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป dev

CI/CD : github action no triggered when pushing to branch

 

[์ด์ „ ๊ธ€]2024.07.16 - [๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป dev] - [ turborepo ์„ค์ •] storybook Chromatic CLI ์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ๋ฒ•

 

[ turborepo ์„ค์ •] storybook Chromatic CLI ์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ๋ฒ•

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ํ…Œ์ŠคํŠธ๋กœ ํด๋ฆญํ•˜๋ฉด ๋ฒ„ํŠผ์ƒ‰์ด ๋ฐ”๋€Œ๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ storybook์œผ๋กœ ๋งŒ๋“ค๊ณ , chromatic CLI๋กœ ๋ฐฐํฌํ•ด ๋ณด์ž.๐Ÿงพ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ์„ค์ •์€ ๋‹ค์Œ์˜ ๋ฒ„์ „๋“ค์„ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.โœ“ pnpm 9.0.0 โœ“ 

pyotato-dev.tistory.com

 

์Šคํ† ๋ฆฌ๋ถ์„ ๋งŒ๋“ค์–ด์„œ chromatic CLI๋กœ ๋ฐฐํฌํ•˜๋Š” ์ž‘์—…์„ ํ–ˆ์—ˆ๋‹ค.

์ปดํฌ๋„ŒํŠธ๋“ค์„ ๋งŒ๋“ค๋ ค๊ณ  main <= 21-design-system <= #์ด์Šˆ๋ฒˆํ˜ธ-design-system-์ž‘์—…์ค‘์ธ-์ปดํฌ๋„ŒํŠธ ๋กœ ๋ธŒ๋žœ์น˜๊ฐ€ ๋‚˜๋‰˜์–ด์ ธ ์žˆ๋‹ค.

์ž‘์—…์ค‘์ธ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ํ•˜๋‚˜์”ฉ ๋งŒ๋“ค๋ฉด ๋””์ž์ธ ์‹œ์Šคํ…œ์— ํ•ฉ์ณ์ฃผ๊ณ  ์ด๋ฅผ ๋ฉ”์ธ์— ํ•ฉ์ณ์ฃผ๋Š” ๋ฐฉ์‹์ธ๋ฐ, ํ˜„์žฌ๋Š” pr์„ ๋‚ ๋ฆฌ๋ฉด main๊ณผ์˜ ๋น„๊ต์—์„œ๋งŒ action์ด ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

 

ํ˜„์žฌ action์„ ์‚ดํŽด๋ณด์ž.

name: "Chromatic Deployment"

on:
  pull_request:
    branches: [main, 21-design-system]
    paths:
      - packages/design-system/src/**

jobs:
  chromatic-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: ">=20"

      - name: Install pnpm
        uses: pnpm/action-setup@v2
        id: pnpm-install
        with:
          version: 9
          run_install: false

      - name: Get pnpm store directory
        id: pnpm-cache
        shell: bash
        run: |
          echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
      - name: Setup pnpm cache
        uses: actions/cache@v3
        with:
          path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
          key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
          restore-keys: |
            ${{ runner.os }}-pnpm-store-
      - name: Install Dependency
        run: pnpm install -no-frozen-lockfile
        working-directory: packages/design-system

      - name: Publish Chromatic
        id: chromatic
        uses: chromaui/action@v1
        with:
          workingDir: apps/storybook
          projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
          token: ${{ secrets.SECRET_GITHUB }}

      - name: Create comment PR
        uses: thollander/actions-comment-pull-request@v1
        env:
          GITHUB_TOKEN: ${{ secrets.SECRET_GITHUB }}
        with:
          message: "๐Ÿš€storybook: ${{ steps.chromatic.outputs.storybookUrl }}"

 

์ž‘์„ฑํ•œ ๋Œ€๋กœ๋ผ๋ฉด 21-design-system์ด๋‚˜ main์œผ๋กœ pr์„ ๋‚ ๋ฆฌ๋ฉด chromatic์œผ๋กœ ์Šคํ† ๋ฆฌ๋ถ์„ ๋ฐฐํฌํ•ด์ฃผ๊ณ , ํ•ด๋‹น pr์— ์—ฐ๋‹ฌ์•„ message์ธ "๐Ÿš€storybook: ${{ steps.chromatic.outputs.storybookUrl }}"๋ฅผ ๋‹ฌ์•„์ค„ ๊ฑฐ๋ผ ๊ธฐ๋Œ€ํ–ˆ์ง€๋งŒ,

๊ฒฐ๊ณผ๋Š” ๊ณ„์† ๋ฉ”์ธ #39๋ฅผ ๋น„๊ตํ•˜๊ณ  ์žˆ๋Š” pr #41์— ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ๋‹ฌ๋ฆฌ๊ณ  ์žˆ๋Š” ์ƒํ™ฉ.

 

์—ฌ๋Ÿฌ ์„ค์ •๋“ค์„ ๊ณ„์† ๊ฑด๋“œ๋ ค๋ดค๋‹ค.

ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋ฅผ ์•Œ์•„๋‚ด๋Š” step์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋กœ ์ด์Šˆ ๋ฒˆํ˜ธ๋ฅผ ์ฐพ์•„์„œ ๊ทธ ๋ฒˆํ˜ธ์— ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ๋‹ฌ๋ฆฌ๋„๋ก ์„ค์ •ํ•˜๊ฑฐ๋‚˜...

๊ทผ๋ฐ ๋‹ค ์†Œ์šฉ์ด ์—†์—ˆ๋‹ค.๐Ÿฅฒ

๊ทธ๋Ÿฌ๋‹ค ๊ฒ€์ƒ‰ํ•˜๋‹ค ๋‹ค์Œ ๊ธ€์—์„œ ํžŒํŠธ๋ฅผ ์–ป์—ˆ๋‹ค.

I realized that this Github Actions file was on the main branch, and Github uses the actions that are configured for the branch that is getting pushed. It doesn't do anything if name-of-my-branch has different on: push: branches: specified in its .github/workflows/build_and_test.yml....

 

๋ฉ”์ธ ๋ธŒ๋žœ์น˜์˜ .github์— ์›Œํฌ ํ”Œ๋กœ์–ด๊ฐ€ ์žˆ์–ด์„œ ๊นƒํ—ˆ๋ธŒ๋Š” ํ•ด๋‹น ๋ธŒ๋žœ์น˜์˜ ์„ค์ •์„ ๊ธฐ์ค€์œผ๋กœ actions๊ฐ€ ๋™์ž‘ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๋ธŒ๋žœ์น˜์— ์œ„์—์„œ ์ž‘์„ฑํ–ˆ๋˜ yml ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ๋‹ˆ ์ž˜ ๋™์ž‘ํ•œ๋‹ค.


๐Ÿ€ ๋งˆ์น˜๋ฉด์„œ

์˜์™ธ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๋ฌธ์ œ์˜€๋‹ค.
์•ž์œผ๋กœ๋Š” ํ˜„์žฌ github actions ๋ธŒ๋žœ์น˜๊ฐ€ ์„ค์ • ๊ธฐ์ค€์ด๋ผ๋Š” ๊ฑธ ์—ผ๋‘ํ•˜๊ณ  ์ž‘์„ฑํ•˜๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค.

๐Ÿ“š Reference

https://stackoverflow.com/questions/64565482/github-action-not-triggered-when-pushing-to-branch

 

Github Action not triggered when pushing to branch

My build_and_test.yml file in .github/workflows is as follows: name: CI on: push: branches: - main - name-of-my-branch pull_request: branches: - main jobs: build: ...

stackoverflow.com