From 304478d3054f5276210a670201bd85a55e20d4c9 Mon Sep 17 00:00:00 2001 From: josefaidt Date: Sat, 8 Oct 2022 13:59:52 -0500 Subject: [PATCH] feat: add actions --- .github/workflows/deploy-to-vercel.yml | 29 ++++++++++++++++++++++++++ .github/workflows/issue-publish.yml | 28 +++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 .github/workflows/deploy-to-vercel.yml create mode 100644 .github/workflows/issue-publish.yml diff --git a/.github/workflows/deploy-to-vercel.yml b/.github/workflows/deploy-to-vercel.yml new file mode 100644 index 0000000..9939abc --- /dev/null +++ b/.github/workflows/deploy-to-vercel.yml @@ -0,0 +1,29 @@ +name: publish-to-vercel +on: + workflow_call: + inputs: + is-preview: + description: 'Is this a preview deployment?' + default: true + required: false + type: boolean +env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'pnpm' + - uses: pnpm/action-setup@v2.2.2 + - run: pnpm install --frozen-lockfile + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=${{ inputs.is-preview && 'preview' || 'production'}} --token=${{ secrets.VERCEL_TOKEN }} + - name: Build Project Artifacts + run: vercel build --token=${{ secrets.VERCEL_TOKEN }} ${{ !inputs.is-preview && '--prod'}} + - name: Deploy Project Artifacts to Vercel + run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }} ${{ !inputs.is-preview && '--prod'}} diff --git a/.github/workflows/issue-publish.yml b/.github/workflows/issue-publish.yml new file mode 100644 index 0000000..28ae76d --- /dev/null +++ b/.github/workflows/issue-publish.yml @@ -0,0 +1,28 @@ +name: issue-publish +on: + issues: + types: + - labeled +jobs: + post_created: + if: | + !github.event.issue.pull_request && + contains(github.event.issue.labels.*.name, 'status/not-published') + runs-on: ubuntu-latest + steps: + - uses: ./.github/workflows/deploy-to-vercel.yml + with: + is-preview: true + post_published: + if: | + !github.event.issue.pull_request && + ( + contains(github.event.issue.labels.*.name, 'status/published') || + contains(github.event.issue.labels.*.name, 'status/archived') || + contains(github.event.issue.labels.*.name, 'meta/featured') + ) + runs-on: ubuntu-latest + steps: + - uses: ./.github/workflows/deploy-to-vercel.yml + with: + is-preview: false