Skip to content

GH Pages

GH Pages #10594

Workflow file for this run

name: GH Pages
on:
push:
branches:
- main
workflow_dispatch:
pull_request:
paths:
- "tools/logviewer/**"
- "tools/translationsreport/**"
- "tools/inspector/**"
- "tools/wasm_chrome/**"
- "tools/addonstats/**"
- "addons/**"
- ".github/workflows/gh_pages.yaml"
schedule:
- cron: "0 5 * * *"
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
wasm_chrome:
name: Add Wasm_Chrome
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- uses: denoland/setup-deno@v1
with:
deno-version: v1.x # Run with latest stable Deno.
- name: Generate Dynamic Files
if: github.ref == 'refs/heads/main'
run: |
cd tools/wasm_chrome
deno run --allow-all generate_branch_file.ts -T ${{ secrets.GITHUB_TOKEN }}
- name: Uploading
uses: actions/upload-artifact@v4
with:
name: Wasm-Chrome
path: tools/wasm_chrome
logviewer:
name: Add Logviewer
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Uploading
uses: actions/upload-artifact@v4
with:
name: Logviewer
path: tools/logviewer
addonStats:
name: Add Addon-Stats
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Uploading
uses: actions/upload-artifact@v4
with:
name: AddonStats
path: tools/addonstats
inspector:
name: Add Inspector
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Cache conda Packages
uses: actions/cache@v4
with:
path: ~/conda_pkgs_dir
key: ${{ runner.os }}-conda-packages
- uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: vpn
environment-file: env.yml
- name: Building
shell: bash
run: |
npm install
npm run inspector:build
- name: Uploading
uses: actions/upload-artifact@v4
with:
name: Inspector Build
path: tools/inspector/dist/app
translationsreport:
name: Add Translations Report
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "16"
- name: Building
shell: bash
run: |
cd tools/translationsreport/app
npm install
npm run build
- name: Uploading
uses: actions/upload-artifact@v4
with:
name: Translations Report
path: tools/translationsreport/app/build
addons:
runs-on: ubuntu-22.04
steps:
- name: Clone repository
uses: actions/checkout@v4
with:
submodules: "true"
- name: Install Linux packages
run: |
sudo apt-get update
sudo apt-get install -y $(./scripts/linux/getdeps.py -a linux/debian/control)
- uses: actions/setup-python@v5
with:
python-version: "3.9"
cache: "pip"
- name: Install python dependencies
shell: bash
run: pip install -r requirements.txt
- name: Generating addons
shell: bash
run: |
export PATH=/opt/$QTVERSION/gcc_64/bin:$PATH
mkdir -p build-addons
cmake -S addons -B build-addons
cmake --build build-addons
- name: Sign manifest
if: github.ref == 'refs/heads/main'
shell: bash
env:
ADDON_PRIVATE_KEY: ${{ secrets.ADDON_PRIVATE_KEY }}
run: |
echo -n "$ADDON_PRIVATE_KEY" > addon_private_key.pem
openssl dgst -sha256 -sign addon_private_key.pem -out build-addons/manifest.json.sig build-addons/manifest.json
rm addon_private_key.pem
- name: Uploading
uses: actions/upload-artifact@v4
with:
name: Addons
path: |
build-addons/*.rcc
build-addons/manifest.*
ghPages:
runs-on: ubuntu-latest
needs:
[
wasm_chrome,
inspector,
translationsreport,
addons,
logviewer,
addonstats,
]
name: Compile Github Page from Components
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Download Wasm-chrome
uses: actions/download-artifact@v4
with:
name: Wasm-Chrome
# Destination path
path: _site
- name: Download a Addons Artifact
uses: actions/download-artifact@v4
with:
name: Addons
path: _site/addons
- name: Download the Logviewer Artifact
uses: actions/download-artifact@v4
with:
name: Logviewer
path: _site/logviewer
- name: Download the AddonStats Artifact
uses: actions/download-artifact@v4
with:
name: AddonStats
path: _site/addonstats
- name: Download a Inspector Artifact
uses: actions/download-artifact@v4
with:
name: Inspector Build
path: _site/inspector
- name: Download the Translations Report artifact
uses: actions/download-artifact@v4
with:
name: Translations Report
path: _site/translationsreport
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
deploy:
name: Deploy Github Page
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: ghPages
if: github.ref == 'refs/heads/main'
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4