diff --git a/.github/workflows/gh-pages-on-pr.yml b/.github/workflows/gh-pages-on-pr.yml new file mode 100644 index 000000000..d49379de7 --- /dev/null +++ b/.github/workflows/gh-pages-on-pr.yml @@ -0,0 +1,47 @@ +name: Deploy on pull request + +on: + pull_request_target: + branches: + - '*' + +jobs: + deploy-on-pull-request: + name: Deploy on Pull Request + + permissions: + contents: write + + runs-on: ubuntu-latest + + steps: + + - name: Checkout + uses: actions/checkout@v4 + with: + ref: 'refs/pull/${{ github.event.pull_request.number }}/merge' + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version-file: 'package.json' + + - name: Restore cache + uses: actions/cache@v3 + with: + path: ~/.npm + key: cache-npm-${{ hashFiles('./package-lock.json') }} + restore-keys: cache-npm- + + - name: Install dependencies + run: npm ci + + - name: Build project + run: npm run build + + - name: Deploy + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: ./build + branch: gh-pages + target-folder: ${{ github.event.pull_request.number }}