mirror of
https://github.com/privacyguides/privacyguides.org
synced 2024-11-27 13:33:30 +01:00
Deploy website to IPFS (#2502)
This commit is contained in:
parent
9626aabea8
commit
a1b01b8b8c
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:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
base_config:
|
config:
|
||||||
type: string
|
type: string
|
||||||
default: mkdocs-production.yml
|
default: build
|
||||||
ref:
|
ref:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
@ -33,6 +33,20 @@ jobs:
|
|||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
steps:
|
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
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: ${{ inputs.repo }}
|
repository: ${{ inputs.repo }}
|
||||||
@ -90,15 +104,10 @@ jobs:
|
|||||||
export-variables: true
|
export-variables: true
|
||||||
keys-case: bypass
|
keys-case: bypass
|
||||||
|
|
||||||
- env:
|
- run: |
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
CONTEXT: ${{ inputs.context }}
|
|
||||||
MKDOCS_INHERIT: ${{ inputs.base_config }}
|
|
||||||
PRODUCTION: true
|
|
||||||
run: |
|
|
||||||
pipenv run mkdocs build --config-file config/mkdocs.${{ inputs.lang }}.yml
|
pipenv run mkdocs build --config-file config/mkdocs.${{ inputs.lang }}.yml
|
||||||
pipenv run mkdocs --version
|
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
|
- uses: actions/cache/save@v4.0.2
|
||||||
with:
|
with:
|
||||||
@ -114,5 +123,49 @@ jobs:
|
|||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: site-build-${{ inputs.lang }}.tar.gz
|
name: site-${{ inputs.config }}-${{ inputs.lang }}.tar.gz
|
||||||
path: site-build-${{ 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:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
lang: [en, es, fr, he, it, nl, ru, zh-Hant]
|
lang: [en, es, fr, he, it, nl, ru, zh-Hant]
|
||||||
|
build: [build, offline]
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
uses: ./.github/workflows/build.yml
|
uses: ./.github/workflows/build.yml
|
||||||
with:
|
with:
|
||||||
|
config: ${{ matrix.build }}
|
||||||
ref: ${{ github.ref }}
|
ref: ${{ github.ref }}
|
||||||
repo: ${{ github.repository }}
|
repo: ${{ github.repository }}
|
||||||
lang: ${{ matrix.lang }}
|
lang: ${{ matrix.lang }}
|
||||||
context: production
|
context: production
|
||||||
continue-on-error: false
|
continue-on-error: false
|
||||||
|
|
||||||
buildoffline:
|
|
||||||
needs: submodule
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
uses: ./.github/workflows/build-offline.yml
|
|
||||||
|
|
||||||
release:
|
release:
|
||||||
name: Create release notes
|
name: Create release notes
|
||||||
needs: buildoffline
|
needs: build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@ -96,8 +92,12 @@ jobs:
|
|||||||
PROD_MINIO_SECRET_KEY: ${{ secrets.PROD_MINIO_SECRET_KEY }}
|
PROD_MINIO_SECRET_KEY: ${{ secrets.PROD_MINIO_SECRET_KEY }}
|
||||||
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
|
||||||
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
|
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:
|
cleanup:
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
needs: [build, buildoffline]
|
needs: build
|
||||||
uses: privacyguides/.github/.github/workflows/cleanup.yml@main
|
uses: privacyguides/.github/.github/workflows/cleanup.yml@main
|
||||||
|
@ -307,9 +307,7 @@ watch:
|
|||||||
plugins:
|
plugins:
|
||||||
tags: {}
|
tags: {}
|
||||||
search: {}
|
search: {}
|
||||||
privacy:
|
privacy: {}
|
||||||
assets_exclude:
|
|
||||||
- cdn.jsdelivr.net/npm/mathjax@3/*
|
|
||||||
|
|
||||||
markdown_extensions:
|
markdown_extensions:
|
||||||
admonition: {}
|
admonition: {}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
# IN THE SOFTWARE.
|
# IN THE SOFTWARE.
|
||||||
|
|
||||||
INHERIT: !ENV [MKDOCS_INHERIT, mkdocs-common.yml]
|
INHERIT: mkdocs-common.yml
|
||||||
|
|
||||||
# Disable any GitHub integrations
|
# Disable any GitHub integrations
|
||||||
repo_url: ""
|
repo_url: ""
|
||||||
@ -54,8 +54,6 @@ extra:
|
|||||||
class: md-button
|
class: md-button
|
||||||
|
|
||||||
theme:
|
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:
|
features:
|
||||||
- navigation.tabs
|
- navigation.tabs
|
||||||
- navigation.sections
|
- navigation.sections
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
<!-- Copyright information -->
|
<!-- Copyright information -->
|
||||||
<div class="md-copyright">
|
<div class="md-copyright">
|
||||||
{% if 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 }}
|
{{ copyright.intro }}
|
||||||
<br />
|
<br />
|
||||||
{{ copyright.note }}
|
{{ copyright.note }}
|
||||||
|
Loading…
Reference in New Issue
Block a user