name: 🛠️ Build PR Preview on: pull_request: concurrency: group: ${{github.event.pull_request.head.ref}} cancel-in-progress: true permissions: contents: read jobs: metadata: runs-on: ubuntu-latest outputs: submodules: ${{ steps.submodules-fork.outputs.submodules || steps.submodules-main.outputs.submodules }} privileged: ${{ steps.submodules-fork.outputs.privileged || steps.submodules-main.outputs.privileged }} env: ACTIONS_SSH_KEY: ${{ secrets.ACTIONS_SSH_KEY }} steps: - name: Save PR metadata run: | mkdir -p ./metadata echo ${{ github.event.number }} > ./metadata/NR echo ${{ github.event.pull_request.head.sha }} > ./metadata/SHA - name: Set submodules for fork if: env.ACTIONS_SSH_KEY == '' id: submodules-fork run: | echo 'submodules={"repo":["brand","i18n"]}' >> "$GITHUB_OUTPUT" echo "privileged=false" >> "$GITHUB_OUTPUT" echo "false" > ./metadata/PRIVILEGED - name: Set submodules for main repo if: env.ACTIONS_SSH_KEY != '' id: submodules-main run: | echo 'submodules={"repo":["brand","i18n","mkdocs-material-insiders"]}' >> "$GITHUB_OUTPUT" echo "privileged=true" >> "$GITHUB_OUTPUT" echo "true" > ./metadata/PRIVILEGED - name: Upload metadata as artifact uses: actions/upload-artifact@v4 with: name: metadata path: metadata build_english: strategy: matrix: lang: [en] fail-fast: true uses: ./.github/workflows/build.yml with: ref: ${{github.event.pull_request.head.ref}} repo: ${{github.event.pull_request.head.repo.full_name}} continue-on-error: false combine_build: needs: build_english runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v4 with: pattern: site-build.tar.gz merge-multiple: true - run: | for file in *.tar.gz; do tar -zxf "$file"; done ls -la public/ - name: Upload Site uses: actions/upload-artifact@v4 with: name: site-build-combined path: public retention-days: 5