privacyguides.org/.github/workflows/build-offline.yml

115 lines
3.8 KiB
YAML
Raw Normal View History

# Copyright (c) 2024 Jonah Aragon <jonah@triplebit.net>
2023-03-21 21:56:27 +00:00
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
name: Build Offline Website
2022-08-25 01:24:49 +00:00
2023-07-27 20:54:41 +00:00
on:
workflow_call:
permissions:
contents: read
2022-08-25 01:24:49 +00:00
jobs:
build:
2022-08-25 01:24:49 +00:00
runs-on: ubuntu-latest
permissions:
contents: read
2023-03-11 19:29:07 +00:00
2022-08-25 01:24:49 +00:00
steps:
2023-03-11 19:29:07 +00:00
- name: Checkout repository
uses: actions/checkout@v4
2023-03-11 19:29:07 +00:00
with:
persist-credentials: 'false'
- uses: actions/download-artifact@v4
2023-06-03 00:01:34 +00:00
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
2023-03-11 19:29:07 +00:00
- name: Python setup
uses: actions/setup-python@v5
2023-03-11 19:29:07 +00:00
with:
python-version: '3.8'
2023-07-29 15:24:55 +00:00
cache: 'pipenv'
- uses: actions/cache/restore@v4.0.2
2023-03-11 19:29:07 +00:00
with:
key: site-cache-${{ github.repository }}-en-${{ github.ref }}-${{ hashfiles('.cache/**') }}
2023-03-11 19:29:07 +00:00
path: .cache
restore-keys: |
site-cache-${{ github.repository }}-en-${{ github.ref }}-
site-cache-${{ github.repository }}-en-
2023-03-11 19:29:07 +00:00
- name: Install Python dependencies
run: |
pip install pipenv
pipenv install
2023-07-27 20:54:41 +00:00
sudo apt install pngquant
2023-03-11 19:29:07 +00:00
- name: Build website
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2023-07-27 20:54:41 +00:00
CARDS: false
2023-03-11 19:29:07 +00:00
run: |
pipenv run mkdocs build --config-file config/mkdocs-offline.yml
2023-03-11 19:29:07 +00:00
pipenv run mkdocs --version
2023-03-11 19:29:07 +00:00
- 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
2023-03-11 19:29:07 +00:00
- name: Upload tar.gz file
uses: actions/upload-artifact@v4
2023-03-11 19:29:07 +00:00
with:
name: offline.tar.gz
path: offline.tar.gz
2023-03-11 19:29:07 +00:00
- name: Upload zip file
uses: actions/upload-artifact@v4
2023-03-11 19:29:07 +00:00
with:
name: offline.zip
path: offline.zip
2023-03-12 01:33:39 +00:00
- name: Create ZIM File
uses: addnab/docker-run-action@v3
with:
2023-04-06 20:42:02 +00:00
image: ghcr.io/openzim/zim-tools:3.1.3
2023-03-12 01:33:39 +00:00
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/privacy_guides.zim
2023-03-12 01:33:39 +00:00
- name: Upload ZIM file
uses: actions/upload-artifact@v4
2023-03-12 01:33:39 +00:00
with:
name: offline-privacy_guides.zim
path: offline-privacy_guides.zim