mirror of
				https://github.com/privacyguides/privacyguides.org.git
				synced 2025-10-30 11:06:33 +00:00 
			
		
		
		
	Deploy website to IPFS (#2502)
This commit is contained in:
		
							
								
								
									
										93
									
								
								.github/workflows/build-offline.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										93
									
								
								.github/workflows/build-offline.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,93 +0,0 @@ | ||||
| name: Build Offline Website | ||||
|  | ||||
| on: | ||||
|   workflow_call: | ||||
|  | ||||
| permissions: | ||||
|   contents: read | ||||
|  | ||||
| jobs: | ||||
|   build: | ||||
|     runs-on: ubuntu-latest | ||||
|     permissions: | ||||
|       contents: read | ||||
|  | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v4 | ||||
|         with: | ||||
|           persist-credentials: "false" | ||||
|  | ||||
|       - uses: actions/download-artifact@v4 | ||||
|         with: | ||||
|           pattern: repo-* | ||||
|           path: modules | ||||
|  | ||||
|       - run: | | ||||
|           rmdir modules/mkdocs-material | ||||
|           mv modules/repo-mkdocs-material-insiders modules/mkdocs-material | ||||
|           rmdir theme/assets/brand | ||||
|           mv modules/repo-brand theme/assets/brand | ||||
|  | ||||
|       - name: Python setup | ||||
|         uses: actions/setup-python@v5 | ||||
|         with: | ||||
|           cache: "pipenv" | ||||
|  | ||||
|       - uses: actions/cache/restore@v4.0.2 | ||||
|         with: | ||||
|           key: site-cache-${{ github.repository }}-en-${{ github.ref }}-${{ hashfiles('.cache/**') }} | ||||
|           path: .cache | ||||
|           restore-keys: | | ||||
|             site-cache-${{ github.repository }}-en-${{ github.ref }}- | ||||
|             site-cache-${{ github.repository }}-en- | ||||
|  | ||||
|       - name: Install Python dependencies | ||||
|         run: | | ||||
|           pip install pipenv | ||||
|           pipenv install | ||||
|           sudo apt install pngquant | ||||
|  | ||||
|       - name: Build website | ||||
|         env: | ||||
|           GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|           CARDS: false | ||||
|         run: | | ||||
|           pipenv run mkdocs build --config-file config/mkdocs-offline.yml | ||||
|           pipenv run mkdocs --version | ||||
|  | ||||
|       - name: Package website | ||||
|         run: | | ||||
|           tar -czvf offline.tar.gz site | ||||
|           zip -r -q offline.zip site | ||||
|  | ||||
|       - uses: actions/cache/save@v4.0.2 | ||||
|         with: | ||||
|           key: site-cache-${{ github.repository }}-en-${{ github.ref }}-${{ hashfiles('.cache/**') }} | ||||
|           path: .cache | ||||
|  | ||||
|       - name: Upload tar.gz file | ||||
|         uses: actions/upload-artifact@v4 | ||||
|         with: | ||||
|           name: offline.tar.gz | ||||
|           path: offline.tar.gz | ||||
|  | ||||
|       - name: Upload zip file | ||||
|         uses: actions/upload-artifact@v4 | ||||
|         with: | ||||
|           name: offline.zip | ||||
|           path: offline.zip | ||||
|  | ||||
|       - name: Create ZIM File | ||||
|         uses: addnab/docker-run-action@v3 | ||||
|         with: | ||||
|           image: ghcr.io/openzim/zim-tools:3.1.3 | ||||
|           options: -v ${{ github.workspace }}:/data | ||||
|           run: | | ||||
|             zimwriterfs -w index.html -I assets/brand/logos/png/square/pg-yellow.png -l eng -t "Privacy Guides" -d "Your central privacy and security resource to protect yourself online." -c "Privacy Guides" -p "Jonah Aragon" -n "Privacy Guides" -e "https://github.com/privacyguides/privacyguides.org" /data/site /data/offline-privacy_guides.zim | ||||
|  | ||||
|       - name: Upload ZIM file | ||||
|         uses: actions/upload-artifact@v4 | ||||
|         with: | ||||
|           name: offline-privacy_guides.zim | ||||
|           path: offline-privacy_guides.zim | ||||
							
								
								
									
										75
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										75
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @@ -3,9 +3,9 @@ name: Build Website | ||||
| on: | ||||
|   workflow_call: | ||||
|     inputs: | ||||
|       base_config: | ||||
|       config: | ||||
|         type: string | ||||
|         default: mkdocs-production.yml | ||||
|         default: build | ||||
|       ref: | ||||
|         required: true | ||||
|         type: string | ||||
| @@ -33,6 +33,20 @@ jobs: | ||||
|       contents: read | ||||
|  | ||||
|     steps: | ||||
|       - run: | | ||||
|           echo "GH_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV | ||||
|  | ||||
|       - if: inputs.config == 'build' | ||||
|         run: | | ||||
|           echo "MKDOCS_INHERIT=mkdocs-production.yml" >> $GITHUB_ENV | ||||
|           echo "PRODUCTION=true" >> $GITHUB_ENV | ||||
|           echo "CONTEXT=${{ inputs.context }}" >> $GITHUB_ENV | ||||
|  | ||||
|       - if: inputs.config == 'offline' | ||||
|         run: | | ||||
|           echo "MKDOCS_INHERIT=mkdocs-offline.yml" >> $GITHUB_ENV | ||||
|           echo "CARDS=false" >> $GITHUB_ENV | ||||
|  | ||||
|       - uses: actions/checkout@v4 | ||||
|         with: | ||||
|           repository: ${{ inputs.repo }} | ||||
| @@ -90,15 +104,10 @@ jobs: | ||||
|           export-variables: true | ||||
|           keys-case: bypass | ||||
|  | ||||
|       - env: | ||||
|           GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|           CONTEXT: ${{ inputs.context }} | ||||
|           MKDOCS_INHERIT: ${{ inputs.base_config }} | ||||
|           PRODUCTION: true | ||||
|         run: | | ||||
|       - run: | | ||||
|           pipenv run mkdocs build --config-file config/mkdocs.${{ inputs.lang }}.yml | ||||
|           pipenv run mkdocs --version | ||||
|           tar -czvf site-build-${{ inputs.lang }}.tar.gz site | ||||
|           tar -czvf site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz site | ||||
|  | ||||
|       - uses: actions/cache/save@v4.0.2 | ||||
|         with: | ||||
| @@ -114,5 +123,49 @@ jobs: | ||||
|  | ||||
|       - uses: actions/upload-artifact@v4 | ||||
|         with: | ||||
|           name: site-build-${{ inputs.lang }}.tar.gz | ||||
|           path: site-build-${{ inputs.lang }}.tar.gz | ||||
|           name: site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz | ||||
|           path: site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz | ||||
|  | ||||
|   offline_package: | ||||
|     if: inputs.config == 'offline' && inputs.lang == 'en' | ||||
|     needs: build | ||||
|     runs-on: ubuntu-latest | ||||
|     continue-on-error: ${{ inputs.continue-on-error }} | ||||
|     permissions: | ||||
|       contents: read | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/download-artifact@v4 | ||||
|         with: | ||||
|           name: site-offline-en.tar.gz | ||||
|  | ||||
|       - run: | | ||||
|           tar -xzvf site-offline-en.tar.gz | ||||
|           tar -czvf offline.tar.gz site/en | ||||
|           zip -r -q offline.zip site/en | ||||
|  | ||||
|       - name: Upload tar.gz file | ||||
|         uses: actions/upload-artifact@v4 | ||||
|         with: | ||||
|           name: offline.tar.gz | ||||
|           path: offline.tar.gz | ||||
|  | ||||
|       - name: Upload zip file | ||||
|         uses: actions/upload-artifact@v4 | ||||
|         with: | ||||
|           name: offline.zip | ||||
|           path: offline.zip | ||||
|  | ||||
|       - name: Create ZIM File | ||||
|         uses: addnab/docker-run-action@v3 | ||||
|         with: | ||||
|           image: ghcr.io/openzim/zim-tools:3.1.3 | ||||
|           options: -v ${{ github.workspace }}:/data | ||||
|           run: | | ||||
|             zimwriterfs -w index.html -I assets/brand/logos/png/square/pg-yellow.png -l eng -t "Privacy Guides" -d "Your central privacy and security resource to protect yourself online." -c "Privacy Guides" -p "Jonah Aragon" -n "Privacy Guides" -e "https://github.com/privacyguides/privacyguides.org" /data/site/en /data/offline-privacy_guides.zim | ||||
|  | ||||
|       - name: Upload ZIM file | ||||
|         uses: actions/upload-artifact@v4 | ||||
|         with: | ||||
|           name: offline-privacy_guides.zim | ||||
|           path: offline-privacy_guides.zim | ||||
|   | ||||
							
								
								
									
										16
									
								
								.github/workflows/publish-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.github/workflows/publish-release.yml
									
									
									
									
										vendored
									
									
								
							| @@ -51,25 +51,21 @@ jobs: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         lang: [en, es, fr, he, it, nl, ru, zh-Hant] | ||||
|         build: [build, offline] | ||||
|     permissions: | ||||
|       contents: read | ||||
|     uses: ./.github/workflows/build.yml | ||||
|     with: | ||||
|       config: ${{ matrix.build }} | ||||
|       ref: ${{ github.ref }} | ||||
|       repo: ${{ github.repository }} | ||||
|       lang: ${{ matrix.lang }} | ||||
|       context: production | ||||
|       continue-on-error: false | ||||
|  | ||||
|   buildoffline: | ||||
|     needs: submodule | ||||
|     permissions: | ||||
|       contents: read | ||||
|     uses: ./.github/workflows/build-offline.yml | ||||
|  | ||||
|   release: | ||||
|     name: Create release notes | ||||
|     needs: buildoffline | ||||
|     needs: build | ||||
|     runs-on: ubuntu-latest | ||||
|     permissions: | ||||
|       contents: write | ||||
| @@ -96,8 +92,12 @@ jobs: | ||||
|       PROD_MINIO_SECRET_KEY: ${{ secrets.PROD_MINIO_SECRET_KEY }} | ||||
|       CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }} | ||||
|       CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }} | ||||
|       CLUSTER_USERNAME: ${{ secrets.CLUSTER_USERNAME }} | ||||
|       CLUSTER_PASSWORD: ${{ secrets.CLUSTER_PASSWORD }} | ||||
|       CLOUDFLARE_ZONE: ${{ secrets.CLOUDFLARE_ZONE }} | ||||
|       CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }} | ||||
|  | ||||
|   cleanup: | ||||
|     if: ${{ always() }} | ||||
|     needs: [build, buildoffline] | ||||
|     needs: build | ||||
|     uses: privacyguides/.github/.github/workflows/cleanup.yml@main | ||||
|   | ||||
| @@ -307,9 +307,7 @@ watch: | ||||
| plugins: | ||||
|   tags: {} | ||||
|   search: {} | ||||
|   privacy: | ||||
|     assets_exclude: | ||||
|       - cdn.jsdelivr.net/npm/mathjax@3/* | ||||
|   privacy: {} | ||||
|  | ||||
| markdown_extensions: | ||||
|   admonition: {} | ||||
|   | ||||
| @@ -18,7 +18,7 @@ | ||||
| # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||||
| # IN THE SOFTWARE. | ||||
|  | ||||
| INHERIT: !ENV [MKDOCS_INHERIT, mkdocs-common.yml] | ||||
| INHERIT: mkdocs-common.yml | ||||
|  | ||||
| # Disable any GitHub integrations | ||||
| repo_url: "" | ||||
| @@ -54,8 +54,6 @@ extra: | ||||
|             class: md-button | ||||
|  | ||||
| theme: | ||||
|   # OFFLINE ONLY: this logo needs to be set separately because the relative path is different | ||||
|   logo: ../theme/assets/brand/logos/svg/logo/privacy-guides-logo-notext-colorbg.svg | ||||
|   features: | ||||
|     - navigation.tabs | ||||
|     - navigation.sections | ||||
|   | ||||
| @@ -24,7 +24,7 @@ | ||||
| <!-- Copyright information --> | ||||
| <div class="md-copyright"> | ||||
|   {% if copyright %} | ||||
|     <div class="md-copyright__highlight"> | ||||
|     <div class="md-copyright__highlight" title="This version of Privacy Guides was built on {{ build_date_utc.strftime('%B %d, %Y at %I:%M%p') }}"> | ||||
|       {{ copyright.intro }} | ||||
|       <br /> | ||||
|       {{ copyright.note }} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user