183 front task chore production ci #8
Workflow file for this run
This file contains hidden or 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: Preview CI | |
| env: | |
| VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} | |
| VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} | |
| VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} | |
| NEXT_PUBLIC_API_BASE_URL: ${{ secrets.NEXT_PUBLIC_API_BASE_URL }} | |
| NEXT_PUBLIC_SUPABASE_URL: ${{ secrets.SUPABASE_URL }} | |
| NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }} | |
| NEXT_PUBLIC_SUPABASE_SERVICE_ROLE_KEY: ${{ secrets.SUPABASE_SERVICE_ROLE_KEY }} | |
| on: | |
| pull_request: | |
| branches: | |
| - develop | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js environment | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 18 | |
| cache: "yarn" | |
| - name: Get yarn cache directory path | |
| id: yarn-cache-dir-path | |
| run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
| - uses: actions/cache@v4 | |
| id: yarn-cache | |
| 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 Build | |
| run: yarn build | |
| - name: Run unit test | |
| run: yarn test | |
| - name: Run e2e test | |
| run: yarn e2e:ui | |
| deploy-vercel: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| statis: ${{ job.status }} | |
| preview_url: ${{ steps.vercel_preview_url.outputs.preview_url }} | |
| currnent_time: ${{ steps.current-time.outputs.formattedTime }} | |
| needs: build | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js environment | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 18 | |
| cache: "yarn" | |
| - name: Get yarn cache directory path | |
| id: yarn-cache-dir-path | |
| run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
| - uses: actions/cache@v4 | |
| id: yarn-cache | |
| 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: Deploy to Vercel if needed | |
| run: | | |
| npm install --global vercel@latest | |
| vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} | |
| vercel build --token=${{ secrets.VERCEL_TOKEN }} | |
| vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} | |
| - name: Get Vercel Preview | |
| uses: zentered/[email protected] | |
| id: vercel_preview_url | |
| - name: Get URL | |
| run: echo "https://${{ steps.vercel_preview_url.outputs.preview_url }}" | |
| - name: Get current time | |
| uses: josStorer/get-current-time@v2 | |
| id: current-time | |
| with: | |
| format: "YYYY년 MM월 DD일 HH시 mm분" | |
| utcOffset: "+09:00" | |
| github-deploy-comment: | |
| runs-on: ubuntu-latest | |
| needs: [deploy-vercel] | |
| steps: | |
| - name: Comment PR | |
| uses: thollander/actions-comment-pull-request@v3 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.TOKEN }} | |
| with: | |
| comment-tag: ${{ github.event.number }} | |
| message: | | |
| 🧷 Preview: https://${{ needs.deploy-vercel.outputs.preview_url }} | |
| ⏰ Update: ${{ needs.deploy-vercel.outputs.currnent_time }} |