Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 11 additions & 38 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,40 +13,19 @@ on:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
actions: read
contents: read
pages: write
id-token: write

# Allow one concurrent deployment
concurrency:
group: 'build-and-publish'
group: 'pages'
cancel-in-progress: true

jobs:
check-codeql:
name: Check CodeQL Analysis
runs-on: ubuntu-24.04
# Continue workflow even if this job fails due to inability to find and/or check CodeQL workflow
continue-on-error: true

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up GitHub CLI
run: sudo apt-get install gh

- name: Check CodeQL Workflow
env:
GH_TOKEN: ${{ secrets.NWPRO_ACTION }}
run: |
gh run list --workflow "CodeQL" --json conclusion --jq '.[0].conclusion' > codeql_status.txt
CODEQL_STATUS=$(cat codeql_status.txt)
if [[ "$CODEQL_STATUS" != "success" ]]; then
echo "CodeQL Analysis did not succeed. Exiting..."
exit 1
fi
rm codeql_status.txt
uses: ./.github/workflows/check-codeql.yml

build:
needs: check-codeql
Expand All @@ -61,11 +40,15 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: lts/*
check-latest: true
node-version: 24
cache: npm
cache-dependency-path: package-lock.json

- name: Upgrade npm
run: |
corepack enable
npm install -g npm@11.4.2

- name: Setup Pages
uses: actions/configure-pages@v5

Expand All @@ -78,18 +61,8 @@ jobs:
with:
python-version: '3.13'

- name: Install MkDocs and plugins
run: |
pip install mkdocs mkdocs-material mkdocs-material-extensions mkdocs-get-deps

- name: Freeze Python dependencies (for diagnostics)
run: pip freeze > freeze.txt

- name: Upload pip freeze snapshot
uses: actions/upload-artifact@v4
with:
name: pip-freeze-ci
path: freeze.txt
- name: Install Python dependencies
run: pip install -r requirements.txt

# Strict mode disabled for mkdocs-material
- name: Build MkDocs documentation
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/check-codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# .github/workflows/check-codeql.yml
#
# Copyright © 2025 Network Pro Strategies (Network Pro™)
# SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
# This file is part of Network Pro

name: CodeQL Status Check

permissions:
actions: read
contents: read

on:
workflow_call:

jobs:
check:
name: Check CodeQL Status
runs-on: ubuntu-24.04

steps:
- name: Check CodeQL Workflow
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh --version

if ! gh run list --repo "${GITHUB_REPOSITORY}" --workflow "CodeQL" --limit 1 --json conclusion --jq '.[0].conclusion' > codeql_status.txt; then
echo "::error title=CodeQL Check Failed::Could not retrieve CodeQL run status. Blocking deployment."
exit 1
fi

CODEQL_STATUS=$(cat codeql_status.txt)
echo "CodeQL status: $CODEQL_STATUS"
if [[ "$CODEQL_STATUS" != "success" ]]; then
echo "::error title=CodeQL Check Failed::Latest CodeQL run did not succeed. Blocking deployment."
exit 1
fi

rm -f codeql_status.txt
29 changes: 20 additions & 9 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,15 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: lts/*
check-latest: true
node-version: 24
cache: npm
cache-dependency-path: package-lock.json

- name: Upgrade npm
run: |
corepack enable
npm install -g npm@11.4.2

- name: Install Node.js dependencies
run: npm ci

Expand All @@ -51,9 +55,8 @@ jobs:
with:
python-version: '3.13'

- name: Install MkDocs and plugins
run: |
pip install mkdocs mkdocs-material mkdocs-material-extensions mkdocs-get-deps
- name: Install Python dependencies
run: pip install -r requirements.txt

- name: Build MkDocs documentation
run: mkdocs build
Expand Down Expand Up @@ -83,11 +86,15 @@ jobs:
- name: Set up Node.js for npmjs
uses: actions/setup-node@v4
with:
node-version: lts/*
check-latest: true
node-version: 24
registry-url: https://registry.npmjs.org/
cache: npm

- name: Upgrade npm
run: |
corepack enable
npm install -g npm@11.4.2

- name: Set up Git user
run: |
git config --global user.email "github@sl.neteng.cc"
Expand All @@ -112,11 +119,15 @@ jobs:
- name: Set up Node.js for GPR
uses: actions/setup-node@v4
with:
node-version: lts/*
check-latest: true
node-version: 24
registry-url: https://npm.pkg.github.com/
cache: npm

- name: Upgrade npm
run: |
corepack enable
npm install -g npm@11.4.2

- name: Set up Git user
run: |
git config --global user.email "github@sl.neteng.cc"
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,7 @@ pyrightconfig.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/customData.json
!.vscode/*.code-snippets

# Local History for Visual Studio Code
Expand Down
5 changes: 0 additions & 5 deletions .npmrc

This file was deleted.

69 changes: 69 additions & 0 deletions .vscode/customData.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"version": 1,
"selectors": [
{
"name": ".fas",
"description": "FontAwesome v6 solid icon class"
},
{
"name": ".fa-solid",
"description": "FontAwesome old solid icon class"
},
{
"name": ".fab",
"description": "FontAwesome v6 brand icon class"
},
{
"name": ".fa-brands",
"description": "FontAwsome old brand icon class"
},
{
"name": ".fa-square-instagram",
"description": "FontAwesome brands Instagram icon class"
},
{
"name": ".fa-square-github",
"description": "FontAwesome brands GitHub icon class"
},
{
"name": ".fa-linkedin",
"description": "FontAwesome brands LinkedIn icon class"
},
{
"name": ".fa-square-facebook",
"description": "FontAwesome brands Facebook icon class"
},
{
"name": ".fa-mastodon",
"description": "FontAwesome brands Pinterest icon class"
},
{
"name": ".fa-arrow-up-right",
"description": "FontAwesome arrow up right icon class"
},
{
"name": ".fa-arrow-up-right-from-square",
"description": "FontAwesome arrow up right from square icon class"
},
{
"name": ".fa-2x",
"description": "FontAwesome 2x extra large icon size class"
},
{
"name": ".fa-lg",
"description": "FontAwesome large icon size class"
},
{
"name": ".fa-sm",
"description": "FontAwesome small icon size class"
},
{
"name": ".fa-xs",
"description": "FontAwesome extra small icon size class"
},
{
"name": ".fa-2xs",
"description": "FontAwesome 2x extra small icon size class"
}
]
}
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
This file is part of Network Pro.
====================================================================== -->

<sup>[SPDX-License-Identifier](https://spdx.dev/learn/handling-license-info/):
`CC-BY-4.0 OR GPL-3.0-or-later`</sup>
[SPDX-License-Identifier](https://spdx.dev/learn/handling-license-info/):
`CC-BY-4.0 OR GPL-3.0-or-later`

<a name="top"></a>

Expand Down
Loading