GH Pages #10594
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |