Skip to content

Build and Vercel Production Deployment #39

Build and Vercel Production Deployment

Build and Vercel Production Deployment #39

Workflow file for this run

name: Build and Vercel Production Deployment
permissions:
contents: write
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
VERCEL_ENV: production
on:
workflow_dispatch:
jobs:
generate_tag:
name: Generate HeadVer Tag
uses: ./.github/workflows/headver-tagging.yml
with: {}
create_release:
name: Create GitHub Release
runs-on: ubuntu-latest
needs: generate_tag
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
with:
tag: "v${{ needs.generate_tag.outputs.version }}"
release_name: "Release v${{ needs.generate_tag.outputs.version }}"
body: "Automated release created for build v${{ needs.generate_tag.outputs.version }}"
token: ${{ secrets.GITHUB_TOKEN }}
deploy_production:
runs-on: ubuntu-latest
needs: create_release
env:
VERSION_TAG: ${{ needs.generate_tag.outputs.version }}
steps:
- uses: actions/checkout@v3
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
run: vercel pull --yes --environment=${{ env.VERCEL_ENV }} --token=${{ secrets.VERCEL_TOKEN }}
- name: Build Project Artifacts
run: vercel build --yes --target=${{ env.VERCEL_ENV }} --token=${{ secrets.VERCEL_TOKEN }}
- name: Deploy Project Artifacts to Vercel
run: vercel deploy --prebuilt --target=${{ env.VERCEL_ENV }} --token=${{ secrets.VERCEL_TOKEN }}
- name: Output Tag Version
run: echo "Deployment completed for version $VERSION_TAG"