Skip to content

Commit

Permalink
CI: Add doxygen dependency and weekly CI runs
Browse files Browse the repository at this point in the history
  • Loading branch information
non-det-alle committed Jan 27, 2025
1 parent b93652e commit 18bbfa5
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 2 deletions.
3 changes: 2 additions & 1 deletion .github/actions/install-doc/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ runs:
graphviz imagemagick texlive-basic texlive-bin texlive-binextra texlive-latexextra
texlive-fontutils texlive-fontsrecommended texlive-mathscience python-sphinx wget &&
pacman --noconfirm -U https://archive.archlinux.org/packages/d/dia/dia-0.97.3-9-x86_64.pkg.tar.zst &&
wget http://www.nsnam.org/packages/doxygen-1.11.0-4-x86_64.pkg.tar.zst &&
pacman -S --noconfirm clang18 &&
wget -nv http://www.nsnam.org/packages/doxygen-1.11.0-4-x86_64.pkg.tar.zst &&
pacman --noconfirm -U doxygen-1.11.0-4-x86_64.pkg.tar.zst &&
mv /etc/ImageMagick-7/policy.xml /etc/ImageMagick-7/policy.xml.bak
- name: "Checkout this repository as ns-3 module"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
run: ./ns3 build assemble-introspected-command-line
- name: "Check documentation coverage and formatting"
run: |
doc/doxygen.warnings.report.sh -i -m lorawan
doc/doxygen.warnings.report.sh -m lorawan
python3 utils/check-style-clang-format.py --no-formatting --no-tabs doc/introspected-doxygen.h doc/introspected-command-line.h
./ns3 clean
doxygen -v
Expand Down
70 changes: 70 additions & 0 deletions .github/workflows/weekly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: "Weekly CI pipeline"
run-name: "weekly"

on:
schedule:
- cron: '0 8 * * 2'
workflow_dispatch:

jobs:
formatting:
uses: ./.github/workflows/formatting.yml

compilation:
needs: formatting
runs-on: ubuntu-latest
container:
image: archlinux
timeout-minutes: 720
strategy:
matrix:
include:
- compiler: clang++
mode: optimized
cxxflags: -stdlib=libc++
stage: test
- compiler: g++
mode: debug
- compiler: g++
mode: default
stage: test
- compiler: g++
mode: optimized
stage: test
- compiler: g++
mode: debug
extra_options: --disable-precompiled-headers
- compiler: clang++
mode: debug
extra_options: --disable-asserts --disable-logs
env:
COMPILER: ${{ matrix.compiler }}
MODE: ${{ matrix.mode }}
EXTRA_OPTIONS: ${{ matrix.extra_options }}
CXXFLAGS: ${{ matrix.cxxflags }}
steps:
# The following step is required in all jobs that use this repo's actions
- name: "Retrieve actions from repository"
uses: actions/checkout@v4
with:
sparse-checkout: .github/actions
- name: "Install dependencies and checkout repo in ns-3"
uses: ./.github/actions/install-per-commit
- name: "Build ns-3"
uses: ./.github/actions/build
- if: matrix.stage == 'test'
name: "Test ns-3"
uses: ./.github/actions/test

linting:
needs: compilation
uses: ./.github/workflows/linting.yml

documentation:
needs: linting
uses: ./.github/workflows/test-doc.yml

analysis:
needs: documentation
uses: ./.github/workflows/analysis.yml
secrets: inherit

0 comments on commit 18bbfa5

Please sign in to comment.