From 9c7a32eb3cc5ddeeecf9512711c360399480bf00 Mon Sep 17 00:00:00 2001 From: Matheus Cruz Date: Wed, 31 Jul 2024 23:51:52 -0300 Subject: [PATCH] Add workflows --- .github/workflows/build-docs.yaml | 50 +++++++++++++++++++++++++++++++ .github/workflows/preview.yaml | 49 ++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 .github/workflows/build-docs.yaml create mode 100644 .github/workflows/preview.yaml diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml new file mode 100644 index 00000000..1f9349e8 --- /dev/null +++ b/.github/workflows/build-docs.yaml @@ -0,0 +1,50 @@ +name: Build Website + +on: + push: + branches: + - "main" + paths-ignore: + - ".gitignore" + - "CODEOWNERS" + - "LICENSE" + - "*.md" + - "*.adoc" + - "*.txt" + - ".all-contributorsrc" + pull_request: + paths-ignore: + - ".gitignore" + - "CODEOWNERS" + - "LICENSE" + - "*.md" + - "*.txt" + - ".all-contributorsrc" +jobs: + build-website: + name: Build Website + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + cache: "maven" + + - name: Build with Maven + run: mvn -B formatter:validate impsort:check verify --file pom.xml -DskipTests + + - name: Store PR id + if: github.event_name == 'pull_request' + run: | + echo ${{ github.event.number }} > ./docs/target/generated-docs/pr-id.txt + + - name: Publishing directory for PR preview + if: github.event_name == 'pull_request' + uses: actions/upload-artifact@v4 + with: + name: site + path: ./docs/target/generated-docs + retention-days: 3 diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml new file mode 100644 index 00000000..f9646f72 --- /dev/null +++ b/.github/workflows/preview.yaml @@ -0,0 +1,49 @@ +name: Surge.sh Preview + +on: + workflow_run: + workflows: ["Build Website"] + types: + - completed + +jobs: + preview: + runs-on: ubuntu-latest + if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' + steps: + - name: Download PR Artifact + uses: dawidd6/action-download-artifact@v6 + with: + workflow: ${{ github.event.workflow_run.workflow_id }} + workflow_conclusion: success + name: site + - name: Store PR id as variable + id: pr + run: | + echo "id=$(> $GITHUB_OUTPUT + rm -f pr-id.txt + - name: Publishing to surge for preview + id: deploy + run: npx surge ./ --domain https://quarkus-roq-preview-pr-${{ steps.pr.outputs.id }}.surge.sh --token ${{ secrets.SURGE_TOKEN }} + - name: Update PR status comment on success + uses: actions-cool/maintain-one-comment@v3.2.0 + with: + token: ${{ secrets.GITHUB_TOKEN }} + body: | + 🎊 PR Preview ${{ github.sha }} has been successfully built and deployed. See the documentation preview: https://quarkus-roqpreview-pr-${{ steps.pr.outputs.id }}.surge.sh + + body-include: "" + number: ${{ steps.pr.outputs.id }} + emojis: "heart" + - name: Update PR status comment on failure + if: ${{ failure() }} + uses: actions-cool/maintain-one-comment@v3.2.0 + with: + token: ${{ secrets.GITHUB_TOKEN }} + body: | + 😭 Deploy PR Preview failed. + + + body-include: "" + number: ${{ steps.pr.outputs.id }} + emojis: "confused"