[github-action] package 선택용 yaml 파일

dev stefanCho·2022년 7월 24일
0

git

목록 보기
14/14

😩 고통스러운 테스트 방식

회사에서 사용할 github action을 작성하는데, 개인 repository에서 테스트를 먼저해보고 회사의 github package에 수정을 하곤 했습니다.

😃 package를 변경할 수 있게 스크립트 수정

매번 package 이름을 변경하는 것은 너무 귀찮은 일이었고, 적어도 직접 action을 돌릴때는 패키지를 선택할 수 있게 하는게 편할 것 같았습니다.

그래서 패키지중에서 하나를 선택하여 github-script를 돌릴 수 있게 하였습니다.

결과

name: Package 선택 테스트용
on:
  workflow_dispatch:
    inputs:
      packageName:
        type: choice
        required: true
        default: '@devstefancho/github-script'
        description: package를 선택하세요
        options:
          - '@devstefancho/github-script'
          - '@xxx/git-action-script' # 회사에서 아용하는 패키지명 예시

jobs:
  create_prs:
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/setup-node@v3
        with:
          node-version: 16
      # 이름만 잘라서 등록해야하므로 cut을 사용했습니다. (@devstefancho/github-script 패키지라면 @devstefancho가 OWNER임)
      - name: Install NPM
        run: |
          npm init --y
          echo "//npm.pkg.github.com/:_authToken=${{ secrets.npm_token }}" > ~/.npmrc
          echo $(echo $NPM_PACKAGE | cut -d\/ -f 1)":registry=https://npm.pkg.github.com" >> ~/.npmrc
          cat ~/.npmrc
          npm install $NPM_PACKAGE
        env:
          NPM_PACKAGE: ${{ inputs.packageName }}
       

      - name: Print Current Version
        run: |
          echo "Print NPM Version Info"
          grep "$NPM_PACKAGE" package.json
        env:
          NPM_PACKAGE: ${{ inputs.packageName }}

	  # package명이 변수이므로 process.env에서 가져다 사용합니다.
      - name: Create PR for alpha, staging after prod merged
        uses: actions/github-script@v6
        with:
          script: |
            const { NPM_PACKAGE } = process.env
            const { creator } = require(NPM_PACKAGE)

            console.log(creator)
            console.log('------------ done ------------')
        env:
          NPM_PACKAGE: ${{ inputs.packageName }}

profile
Front-end Developer

0개의 댓글