diff --git a/.github/workflows/vt-scan.yml b/.github/workflows/vt-scan.yml new file mode 100644 index 0000000..d57ba76 --- /dev/null +++ b/.github/workflows/vt-scan.yml @@ -0,0 +1,28 @@ +name: '🦠 VirusTotal Scan' + +on: + release: + types: [published] + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: '📦 Checkout' + uses: actions/checkout@v6 + + - name: '📦 Set up Go' + uses: actions/setup-go@v4 + with: + go-version: '1.26.2' + - run: go version + + - name: '🦠 Scan PDF files using VT' + uses: crazy-max/ghaction-virustotal@v3 + with: + vt_api_key: ${{ secrets.VT_API_KEY }} + files: | + ./export/thgtoa.pdf + ./export/thgtoa-dark.pdf diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ecde53..3a76036 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,13 +9,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- Refactored GitHub Actions workflow **Build guide PDF** (`scripts\build_guide_pdf.py`): now builds both light and dark mode PDFs (`export/thgtoa.pdf` and `export/thgtoa-dark.pdf` respectively). +- Refactored GitHub Actions workflow **Build PDF** (`scripts\build_guide_pdf.py`): now builds both light and dark mode PDFs (`export/thgtoa.pdf` and `export/thgtoa-dark.pdf` respectively). +- Restored previous VT scans workflow **VirusTotal Scan** (`.github/workflows/vt-scan.yml`): submit files to VT for malware scanning. Links will be published on the site. ## [1.2.1] - 2026-04-11 ### Added -- GitHub Actions workflow **Build guide PDF** (`.github/workflows/build-pdf.yml`): installs Chromium on `ubuntu-latest`, runs `scripts/build_guide_pdf.py`, uploads `export/guide.pdf` as the `guide-pdf` artifact. Runs on `workflow_dispatch`, on pushes to `main` that touch docs or build inputs, and on matching pull requests. +- GitHub Actions workflow **Build PDF** (`.github/workflows/build-pdf.yml`): installs Chromium on `ubuntu-latest`, runs `scripts/build_guide_pdf.py`, uploads `export/guide.pdf` as the `guide-pdf` artifact. Runs on `workflow_dispatch`, on pushes to `main` that touch docs or build inputs, and on matching pull requests. - `scripts/build_guide_pdf.py` to build the MkDocs site and render the guide to a single PDF (`export/guide.pdf` by default) using a Chromium-based browser (Chrome or Edge) headless print-to-PDF. - `docs/stylesheets/extra.css` and `extra_css` in `mkdocs.yml` for shared site styling. @@ -27,7 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Guide landing layout: wrap the opening block in `docs/guide/index.md` with a `guide-intro-lead` container so the logo and first sections share one layout context for web and print. - `.gitignore` to exclude local build outputs `export/`, `site/`, and `_site_test/`. - `scripts/build_guide_pdf.py`: when the `CI` environment variable is set, pass Chromium flags (`--no-sandbox`, `--disable-setuid-sandbox`, `--disable-dev-shm-usage`) so headless print works on typical CI images. -- `README.md`: note the **Build guide PDF** GitHub Actions workflow and the `guide-pdf` artifact. +- `README.md`: note the **Build PDF** GitHub Actions workflow and the `guide-pdf` artifact. ### Fixed diff --git a/README.md b/README.md index 2717d75..4d10079 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@ This guide is an open-source non-profit initiative, [licensed](LICENSE.html) und python scripts/build_guide_pdf.py ``` - This runs `mkdocs build` (output defaults to `./site`), then uses **Google Chrome** or **Microsoft Edge** in headless mode to print `site/guide/index.html` to **`export/guide.pdf`** (images and styling preserved). If the site is already built: `python scripts/build_guide_pdf.py --skip-mkdocs`. Other options: `--site-dir`, `--pdf`, and `python scripts/build_guide_pdf.py --help`. + This runs `mkdocs build` (output defaults to `./site`), then uses **Google Chrome** or **Microsoft Edge** in headless mode to print `site/guide/index.html` to **`export/thgtoa.pdf`** (images and styling preserved). If the site is already built: `python scripts/build_guide_pdf.py --skip-mkdocs`. Other options: `--site-dir`, `--pdf`, and `python scripts/build_guide_pdf.py --help`. - On **GitHub Actions**, the [Build guide PDF](https://github.com/Anon-Planet/thgtoa/actions/workflows/build-pdf.yml) workflow does the same using Chromium on Ubuntu when you push to `main` or open a pull request that touches the guide or build inputs; download the **`guide-pdf`** artifact from a successful run. You can also run it manually (**Actions** → **Build guide PDF** → **Run workflow**). + On **GitHub Actions**, the [Build guide PDF](https://github.com/Anon-Planet/thgtoa/actions/workflows/build-pdf.yml) workflow does the same using Chromium on Ubuntu when you push to `main` or open a pull request that touches the guide or build inputs; download the **`thgtoa.pdf`** artifact from a successful run. You can also run it manually (**Actions** → **Build guide PDF** → **Run workflow**). - **OpenDocument (ODT):** not produced by this repository (previous hosted export removed). - **Raw Markdown (very large):** [docs/guide/index.md on GitHub](https://raw.githubusercontent.com/Anon-Planet/thgtoa/refs/heads/main/docs/guide/index.md) diff --git a/export/thgtoa-dark.pdf b/export/thgtoa-dark.pdf new file mode 100644 index 0000000..8b607de Binary files /dev/null and b/export/thgtoa-dark.pdf differ diff --git a/export/thgtoa.pdf b/export/thgtoa.pdf new file mode 100644 index 0000000..dabe4f8 Binary files /dev/null and b/export/thgtoa.pdf differ diff --git a/mkdocs.yml b/mkdocs.yml index 82a193b..d34da5a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -122,4 +122,4 @@ markdown_extensions: toc_depth: 3 copyright: | - © 2023-2025 Anonymous Planet + © 2023-2026 Anonymous Planet