diff --git a/.github/workflows/deploy-preview.yml b/.github/workflows/deploy-preview.yml new file mode 100644 index 0000000..deef2e1 --- /dev/null +++ b/.github/workflows/deploy-preview.yml @@ -0,0 +1,69 @@ +name: Deploy to Preview + +env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + +on: + pull_request: + types: + - closed + branches: + - develop + +jobs: + project-build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: "yarn" + + - name: Set yarn version + id: set-version + run: | + yarn set version 4.1.1 + echo "YARN_VERSION=$(yarn -v)" >> $GITHUB_OUTPUT + + - name: Yarn cache - PnP + uses: actions/cache@v4 + with: + path: | + .yarn/cache + .pnp.* + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}-${{ steps.set-version.outputs.YARN_VERSION }} + restore-keys: | + ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}- + + - name: Install dependencies + run: yarn + + - name: Run build + run: yarn build + + deploy-to-vercel-preview: + runs-on: ubuntu-latest + needs: project-build + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: "yarn" + + - name: Install dependencies + run: yarn + + - name: Deploy to Vercel Preview + run: | + npm install --global vercel@latest + vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }} + vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} + vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} --alias misik-web-develop.vercel.app diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy-production.yml similarity index 71% rename from .github/workflows/deploy.yml rename to .github/workflows/deploy-production.yml index 5040f67..f77b332 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy-production.yml @@ -1,4 +1,4 @@ -name: Deploy +name: Deploy to Production env: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} @@ -8,7 +8,7 @@ on: types: - closed branches: - - develop + - main jobs: project-build: @@ -45,7 +45,7 @@ jobs: - name: Run build run: yarn build - deploy-to-vercel: + deploy-to-vercel-production: runs-on: ubuntu-latest needs: project-build steps: @@ -58,28 +58,12 @@ jobs: node-version: 18 cache: "yarn" - - name: Set yarn version - id: set-version - run: | - yarn set version 4.1.1 - echo "YARN_VERSION=$(yarn -v)" >> $GITHUB_OUTPUT - - - name: Yarn cache - PnP - uses: actions/cache@v4 - with: - path: | - .yarn/cache - .pnp.* - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}-${{ steps.set-version.outputs.YARN_VERSION }} - restore-keys: | - ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}- - - name: Install dependencies run: yarn - - name: Deploy to Vercel + - name: Deploy to Vercel Production run: | npm install --global vercel@latest vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} - vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} + vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} --alias misik-web.vercel.app