Skip to content

email domain fix

email domain fix #440

name: HeliOS CI Workflow
on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]
workflow_dispatch:
jobs:
build-test-doc:
runs-on: ubuntu-22.04
steps:
- name: Checkout HeliOS...
uses: actions/checkout@v3
- name: Build HeliOS unit tests...
shell: bash
run: |
cd ${{github.workspace}}/test
make
- name: Run HeliOS unit tests...
shell: bash
run: |
cd ${{github.workspace}}/test
make test
- name: Install Cppcheck...
shell: bash
run: |
sudo apt update
sudo apt -y install cppcheck
- name: Run Cppcheck...
shell: bash
run: |
cppcheck --quiet --language=c --platform=unix64 --max-ctu-depth=8 --cppcheck-build-dir=${{github.workspace}}/build --template="::{severity} file={file},line={line},col={column}::{message}" --enable=all --std=c89 -DPOSIX_ARCH_OTHER ${{github.workspace}}/src/
- name: Install Doxygen and LaTeX...
shell: bash
run: |
sudo apt update
sudo apt -y install doxygen-latex
- name: Create Doxygen config...
shell: bash
run: |
mkdir ${{github.workspace}}/temp
doxygen -g ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^$/d' ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^#.*/d' ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^ .*/d' ${{github.workspace}}/temp/HeliOS.conf
sed -i 's/ \+/ /g' ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^PROJECT_NAME .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'PROJECT_NAME = HeliOS' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^PROJECT_NUMBER .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'PROJECT_NUMBER = Kernel 0.5.0' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^PROJECT_LOGO .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'PROJECT_LOGO = ${{github.workspace}}/temp/HeliOS_OG_Logo_Light.png' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^OUTPUT_DIRECTORY .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'OUTPUT_DIRECTORY = ${{github.workspace}}/temp' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^OPTIMIZE_OUTPUT_FOR_C .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'OPTIMIZE_OUTPUT_FOR_C = YES' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^GENERATE_HTML .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'GENERATE_HTML = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^GENERATE_LATEX .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'GENERATE_LATEX = YES' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^COMPACT_LATEX .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'COMPACT_LATEX = YES' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^GENERATE_RTF .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'GENERATE_RTF = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^GENERATE_MAN .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'GENERATE_MAN = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^GENERATE_XML .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'GENERATE_XML = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^REPEAT_BRIEF .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'REPEAT_BRIEF = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^FULL_PATH_NAMES .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'FULL_PATH_NAMES = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^INPUT .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'INPUT = ${{github.workspace}}/src/config.h ${{github.workspace}}/src/HeliOS.h' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^FILE_PATTERNS .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'FILE_PATTERNS = *.h' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^RECURSIVE .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'RECURSIVE = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^CLASS_DIAGRAMS .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'CLASS_DIAGRAMS = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^HAVE_DOT .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'HAVE_DOT = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^PROJECT_BRIEF .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'PROJECT_BRIEF = ' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^SHOW_HEADERFILE .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'SHOW_HEADERFILE = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^SHOW_INCLUDE_FILES .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'SHOW_INCLUDE_FILES = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^QUIET .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'QUIET = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^WARNINGS .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'WARNINGS = YES' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^WARN_LOGFILE .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'WARN_LOGFILE = ' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^INLINE_SOURCES .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'INLINE_SOURCES = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^VERBATIM_HEADERS .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'VERBATIM_HEADERS = NO' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^ENABLE_PREPROCESSING .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'ENABLE_PREPROCESSING = YES' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^DEFINED .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'DEFINED = DOXYGEN_SHOULD_SKIP_THIS' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^ABBREVIATE_BRIEF .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'ABBREVIATE_BRIEF = ' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^MACRO_EXPANSION .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'MACRO_EXPANSION = YES' >> ${{github.workspace}}/temp/HeliOS.conf
sed -i '/^PREDEFINED .*/d' ${{github.workspace}}/temp/HeliOS.conf
echo 'PREDEFINED = \"DOXYGEN=1\"' >> ${{github.workspace}}/temp/HeliOS.conf
sort -o ${{github.workspace}}/temp/HeliOS.conf ${{github.workspace}}/temp/HeliOS.conf
cat ${{github.workspace}}/temp/HeliOS.conf
- name: Resize HeliOS logo...
shell: bash
run: |
convert -resize 1600 ${{github.workspace}}/extras/HeliOS_OG_Logo_Light.png ${{github.workspace}}/temp/HeliOS_OG_Logo_Light.png
- name: Generate LaTeX...
shell: bash
run: |
doxygen ${{github.workspace}}/temp/HeliOS.conf
sed -i 's~^\\begin{center}\%~\\begin{center}\%\n\\includegraphics{HeliOS_OG_Logo_Light.png}\\\\\n\\vspace*{1cm}~' ${{github.workspace}}/temp/latex/refman.tex
sed -i 's~Generated by Doxygen [0123456789]*.[0123456789]*.[0123456789]*~HeliOS Developer\x27s Guide~' ${{github.workspace}}/temp/latex/refman.tex
sed -i 's~Generated by Doxygen~(C)Copyright 2020-2026 HeliOS Project~' ${{github.workspace}}/temp/latex/refman.tex
- name: Generate PDF from LaTeX...
shell: bash
run: |
cd ${{github.workspace}}/temp/latex
make
cd ${{github.workspace}}
- name: Push PDF to repository...
shell: bash
run: |
cp ${{github.workspace}}/temp/latex/refman.pdf ${{github.workspace}}/doc/HeliOS_Developers_Guide.pdf
git config --global user.name 'Manny Peterson'
git config --global user.email '12462046+MannyPeterson@users.noreply.github.com'
git add ${{github.workspace}}/doc/HeliOS_Developers_Guide.pdf
git commit -m "HeliOS CI Workflow"
git push