From be524d9c305c94c7a6aac33968e4379852b72232 Mon Sep 17 00:00:00 2001 From: Anand Chowdhary Date: Thu, 25 Apr 2024 12:35:58 +0200 Subject: [PATCH] :construction_worker: Add workflow dispatcher --- .github/workflows/build-site.yml | 87 -------------------------------- .github/workflows/dispatch.yml | 21 ++++++++ 2 files changed, 21 insertions(+), 87 deletions(-) delete mode 100644 .github/workflows/build-site.yml create mode 100644 .github/workflows/dispatch.yml diff --git a/.github/workflows/build-site.yml b/.github/workflows/build-site.yml deleted file mode 100644 index 6760880..0000000 --- a/.github/workflows/build-site.yml +++ /dev/null @@ -1,87 +0,0 @@ -# Sample workflow for building and deploying a Next.js site to GitHub Pages -# -# To get started with Next.js see: https://nextjs.org/docs/getting-started -# -name: Deploy Next.js site to Pages - -on: - # Runs on pushes targeting the default branch - push: - branches: ['main', 'master'] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: 'pages' - cancel-in-progress: false - -jobs: - # Build job - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Detect package manager - id: detect-package-manager - run: | - if [ -f "${{ github.workspace }}/yarn.lock" ]; then - echo "manager=yarn" >> $GITHUB_OUTPUT - echo "command=install" >> $GITHUB_OUTPUT - echo "runner=yarn" >> $GITHUB_OUTPUT - exit 0 - elif [ -f "${{ github.workspace }}/package.json" ]; then - echo "manager=npm" >> $GITHUB_OUTPUT - echo "command=ci" >> $GITHUB_OUTPUT - echo "runner=npx --no-install" >> $GITHUB_OUTPUT - exit 0 - else - echo "Unable to determine package manager" - exit 1 - fi - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version: 'lts/*' - cache: ${{ steps.detect-package-manager.outputs.manager }} - - name: Setup Pages - uses: actions/configure-pages@v3 - - name: Restore cache - uses: actions/cache@v3 - with: - path: | - .next/cache - # Generate a new cache whenever packages or source files change. - key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }} - # If source files changed but packages didn't, rebuild from a prior cache. - restore-keys: | - ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}- - - name: Install dependencies - run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} - - name: Build with Next.js - run: ${{ steps.detect-package-manager.outputs.runner }} next build - - name: Upload artifact - uses: actions/upload-pages-artifact@v1 - with: - path: ./out - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v2 diff --git a/.github/workflows/dispatch.yml b/.github/workflows/dispatch.yml new file mode 100644 index 0000000..00c049c --- /dev/null +++ b/.github/workflows/dispatch.yml @@ -0,0 +1,21 @@ +name: Dispatch workflows +on: + push: + branches: ['main', 'master'] + workflow_dispatch: +jobs: + dispatch: + runs-on: ubuntu-latest + steps: + - name: Dispatch chowdhary.org build-site workflow + uses: benc-uk/workflow-dispatch@v1 + with: + workflow: build-site.yaml + repo: chowdhary-org/chowdhary.org + token: ${{ secrets.GH_PAT }} + - name: Dispatch chowdhary.co build-site workflow + uses: benc-uk/workflow-dispatch@v1 + with: + workflow: build-site.yaml + repo: chowdhary-org/chowdhary.co + token: ${{ secrets.GH_PAT }}