mirror of
				https://github.com/privacyguides/privacyguides.org.git
				synced 2025-10-31 03:26:35 +00:00 
			
		
		
		
	ci: Allow blog builds from unprivileged forks
This commit is contained in:
		
							
								
								
									
										18
									
								
								.github/workflows/build-blog.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								.github/workflows/build-blog.yml
									
									
									
									
										vendored
									
									
								
							| @@ -65,6 +65,10 @@ jobs: | ||||
|         with: | ||||
|           cache: "pipenv" | ||||
|  | ||||
|       - name: Install Python (no pipenv) | ||||
|         if: ${{ !inputs.privileged }} | ||||
|         uses: actions/setup-python@v5 | ||||
|  | ||||
|       - name: Install Python Dependencies | ||||
|         if: inputs.privileged | ||||
|         run: | | ||||
| @@ -72,10 +76,22 @@ jobs: | ||||
|           pipenv install | ||||
|           sudo apt install pngquant | ||||
|  | ||||
|       - name: Build Website | ||||
|       - name: Install Python Dependencies (Unprivileged) | ||||
|         if: ${{ !inputs.privileged }} | ||||
|         run: | | ||||
|           pip install mkdocs-material mkdocs-rss-plugin mkdocs-glightbox mkdocs-macros-plugin | ||||
|           sudo apt install pngquant | ||||
|  | ||||
|       - name: Build Website (Privileged) | ||||
|         if: inputs.privileged | ||||
|         run: | | ||||
|           pipenv run mkdocs build --config-file mkdocs.blog.yml | ||||
|  | ||||
|       - name: Build Website (Unprivileged) | ||||
|         if: ${{ !inputs.privileged }} | ||||
|         run: | | ||||
|           BUILD_INSIDERS=false mkdocs build --config-file mkdocs.blog.yml | ||||
|  | ||||
|       - name: Package Website | ||||
|         run: | | ||||
|           tar -czf site-build-blog.tar.gz site | ||||
|   | ||||
							
								
								
									
										14
									
								
								.github/workflows/build-pr.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/build-pr.yml
									
									
									
									
										vendored
									
									
								
							| @@ -19,12 +19,19 @@ jobs: | ||||
|     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 != '' | ||||
| @@ -32,12 +39,7 @@ jobs: | ||||
|         run: | | ||||
|           echo 'submodules={"repo":["brand","i18n","mkdocs-material-insiders"]}' >> "$GITHUB_OUTPUT" | ||||
|           echo "privileged=true" >> "$GITHUB_OUTPUT" | ||||
|  | ||||
|       - name: Save PR metadata | ||||
|         run: | | ||||
|           mkdir -p ./metadata | ||||
|           echo ${{ github.event.number }} > ./metadata/NR | ||||
|           echo ${{ github.event.pull_request.head.sha }} > ./metadata/SHA | ||||
|           echo "true" > ./metadata/PRIVILEGED | ||||
|  | ||||
|       - name: Upload metadata as artifact | ||||
|         uses: actions/upload-artifact@v4 | ||||
|   | ||||
							
								
								
									
										19
									
								
								.github/workflows/publish-pr.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/publish-pr.yml
									
									
									
									
										vendored
									
									
								
							| @@ -22,6 +22,7 @@ jobs: | ||||
|     outputs: | ||||
|       pr_number: ${{ steps.metadata.outputs.pr_number }} | ||||
|       sha: ${{ steps.metadata.outputs.sha }} | ||||
|       privileged: ${{ steps.metadata.outputs.privileged }} | ||||
|  | ||||
|     steps: | ||||
|       - name: Download Website Build Artifact | ||||
| @@ -86,6 +87,7 @@ jobs: | ||||
|           unzip metadata.zip -d metadata | ||||
|           echo "pr_number=$(cat metadata/NR)" >> "$GITHUB_OUTPUT" | ||||
|           echo "sha=$(cat metadata/SHA)" >> "$GITHUB_OUTPUT" | ||||
|           echo "privileged=$(cat metadata/PRIVILEGED)" >> "$GITHUB_OUTPUT" | ||||
|  | ||||
|   deploy_netlify: | ||||
|     needs: metadata | ||||
| @@ -122,6 +124,7 @@ jobs: | ||||
|       address: ${{ needs.deploy_garage.outputs.address }} | ||||
|     steps: | ||||
|       - uses: thollander/actions-comment-pull-request@v2.5.0 | ||||
|         if: ${{ needs.metadata.outputs.privileged == 'true' }} | ||||
|         with: | ||||
|           pr_number: ${{ needs.metadata.outputs.pr_number }} | ||||
|           message: | | ||||
| @@ -132,3 +135,19 @@ jobs: | ||||
|             | <span aria-hidden="true">🔨</span> Latest commit | ${{ needs.metadata.outputs.sha }} | | ||||
|             | <span aria-hidden="true">😎</span> Preview | ${{ env.address }} | | ||||
|           comment_tag: deployment | ||||
|  | ||||
|       - uses: thollander/actions-comment-pull-request@v2.5.0 | ||||
|         if: ${{ needs.metadata.outputs.privileged == 'false' }} | ||||
|         with: | ||||
|           pr_number: ${{ needs.metadata.outputs.pr_number }} | ||||
|           message: | | ||||
|             ### <span aria-hidden="true">✅</span> Your preview is ready! | ||||
|  | ||||
|             |  Name | Link | | ||||
|             | :---: | ---- | | ||||
|             | <span aria-hidden="true">🔨</span> Latest commit | ${{ needs.metadata.outputs.sha }} | | ||||
|             | <span aria-hidden="true">😎</span> Preview | ${{ env.address }} | | ||||
|  | ||||
|             Please note that this preview was built from an untrusted source, so it was not granted access to all mkdocs-material features. | ||||
|             Maintainers should ensure this PR has been reviewed locally with a full build before merging. | ||||
|           comment_tag: deployment | ||||
|   | ||||
		Reference in New Issue
	
	Block a user