From ef49f509a8a5d4150e3dffee9b617e31ea90dd8b Mon Sep 17 00:00:00 2001 From: Gabriel Mocanu Date: Fri, 1 Mar 2024 01:51:55 +0200 Subject: [PATCH] workflows: Add pr-deployment action Add pr-deployment action Signed-off-by: Gabriel Mocanu --- .github/workflows/pr-deployment.yml | 67 +++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/pr-deployment.yml diff --git a/.github/workflows/pr-deployment.yml b/.github/workflows/pr-deployment.yml new file mode 100644 index 00000000..baeba1a5 --- /dev/null +++ b/.github/workflows/pr-deployment.yml @@ -0,0 +1,67 @@ +name: OpenEduHub - PR Deployment + +on: + pull_request_target: + types: [labeled] + +jobs: + deploy: + if: ${{ github.event.label.name == 'needs-rendering' }} + name: Deploy to GitHub Pages + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + steps: + - uses: actions/checkout@v3 + with: + path: ./repo + repository: ${{ github.event.pull_request.head.repo.full_name }} + ref: ${{ github.head_ref }} + + - run: | + cd repo + REF=$(echo ${{ github.event.number }} | sed 's/\//\\\//g') + sed -i "s/baseUrl: \/binary-security\//baseUrl: \/binary-security\/$REF\//" config.yaml + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: ./repo + file: ./repo/Dockerfile + push: false + load: true + tags: binary-security/docusaurus:latest + cache-from: type=gha + cache-to: type=gha + + - name: Load Image + run: | + mkdir -p ${{ github.event.number }} + docker image list + docker run -v $GITHUB_WORKSPACE/repo:/content -v $GITHUB_WORKSPACE/${{ github.event.number }}:/output binary-security/docusaurus:latest + + # Popular action to deploy to GitHub Pages: + # Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + # Build output to publish to the `gh-pages-pr` branch: + publish_dir: ./${{ github.event.number }} + destination_dir: ${{ github.event.number }} + # The following lines assign commit authorship to the official + # GH-Actions bot for deploys to `gh-pages` branch: + # https://github.com/actions/checkout/issues/13#issuecomment-724415212 + # The GH actions bot is used by default if you didn't specify the two fields. + # You can swap them out with your own user credentials. + publish_branch: gh-pages + + - name: Add Comment to PR + uses: thollander/actions-comment-pull-request@v2 + with: + message: | + Published at http://open-education-hub.github.io/binary-security/${{ github.event.number }}/