Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
47ed780
convert stage definition to classes
kimpaller Nov 25, 2024
5ce210f
introduce testing framework
kimpaller Dec 10, 2024
dbaa63b
implement logger
kimpaller Dec 13, 2024
ee8c779
fix
kimpaller Dec 13, 2024
9bf78d9
fix
kimpaller Dec 13, 2024
466d922
fix
kimpaller Dec 13, 2024
c0e7112
use spock framework for testing
kimpaller Jan 17, 2025
af3d59c
stage: UpdateBootFiles: add support and initial test implementation
kimpaller Jan 21, 2025
5a9ff99
rename Test class
kimpaller Feb 4, 2025
403bcbc
stage: UpdateBOOTFiles: update class and implement test
kimpaller Feb 4, 2025
e5eb667
remove unecessary tests
kimpaller Feb 4, 2025
615125e
Add descriptions for documentation
kimpaller Feb 4, 2025
8f1bad9
ci: add gh action workflow
kimpaller Feb 5, 2025
eedb7b6
ci: rename workflow
kimpaller Feb 5, 2025
07f112f
add build status badge
kimpaller Feb 5, 2025
5c9469a
workflow: run tests with coverage
kimpaller Feb 5, 2025
ba9b6d9
stage UpdateBootFiles: convert remaing println() to logger.info()
kimpaller Feb 7, 2025
b88e92c
parametrized Jenkins env
kimpaller Feb 11, 2025
191e3c9
stages: add support for RecoverBoard stage
kimpaller Feb 11, 2025
5a23ec4
workflow: add refactor-2 as PR target
kimpaller Feb 11, 2025
d1d963e
change way to initialize the env variable within the gauntlet
kimpaller Feb 11, 2025
0646fd9
RecoverBoard: fix path issue
kimpaller Feb 11, 2025
4587e05
add fix and verify first if board indeed needs recovery
kimpaller Feb 18, 2025
57c9713
fix wrong nebula command
kimpaller Feb 18, 2025
def22b0
stages: add refactored LinuxTests stage
kimpaller Feb 18, 2025
3c24b46
Merge pull request #101 from sdgtt/refactor_kim
kimpaller Feb 25, 2025
4ccc704
remove unused methods
tagoylo Feb 25, 2025
a4cd993
refactor: add refactored noos stage and initial test
tagoylo Mar 24, 2025
4df26da
add more tests to noos stage
tagoylo Mar 31, 2025
4c0c5c2
fix some commands
tagoylo Apr 2, 2025
4f47b19
add sleep step executor
tagoylo Apr 2, 2025
4952514
update tests for noos stage
tagoylo Apr 2, 2025
8c32270
Merge pull request #102 from sdgtt/refactor-noos
tagoylo Apr 10, 2025
ad054b0
stages: add refactored CaptureIIOContext and its test
tagoylo May 7, 2025
2678ed9
stages: add refactored PowerCycleBoard stage and its test
tagoylo May 7, 2025
48b9e20
stages: add refactored SendResults stage and its test
tagoylo May 7, 2025
237088e
make env testable
tagoylo May 7, 2025
79095b7
make null-safe
tagoylo May 7, 2025
8becb3c
Merge pull request #104 from sdgtt/refactor-utilities
tagoylo Jun 18, 2025
65d69ce
stages: add refactored liba9361tests stage and its tests
tagoylo Sep 2, 2025
f3a518c
refactor: add junit and publishHTML to steps
tagoylo Sep 2, 2025
01f4185
stages: add refactored KuiperCheck stage and its tests
tagoylo Sep 2, 2025
934b981
refactor: add checkout to steps
tagoylo Sep 2, 2025
5d4c98b
added new fixes for multibranch pipeline and netbox
tagoylo Sep 2, 2025
fca81a3
stages: add refactored pyaditest and its tests
tagoylo Sep 2, 2025
fda03e7
refactor: fix writeFile call
tagoylo Sep 4, 2025
733bc4c
stages: add refactored matlabtest stage and its tests
tagoylo Sep 4, 2025
60c7426
fix linux tests
tagoylo Sep 4, 2025
bce24dc
fix recoverboard stage and test
tagoylo Sep 4, 2025
8a50438
fix updatebootfiles stage and test
tagoylo Sep 4, 2025
103a38e
stages: fix xunit error on libad9361
tagoylo Sep 8, 2025
b8b8082
stages: fix libad9361 Ctest error
tagoylo Sep 8, 2025
48191d0
stages: check for matalab executable first before running test
tagoylo Sep 8, 2025
e5802ad
ci: update workflow
tagoylo Sep 8, 2025
ee6f4d1
ci: pin gradle version
tagoylo Sep 8, 2025
584688f
ci: update java verion
tagoylo Sep 8, 2025
c9e8dd9
Merge pull request #110 from sdgtt/refactor-stages
tagoylo Sep 17, 2025
9ba42b2
Docs automation builds
macylibed9 Sep 25, 2025
a5a72a1
fix in vagrant and index
macylibed9 Sep 25, 2025
2b17d5a
Temporary fix for deployment
macylibed9 Sep 25, 2025
aa78a4a
changed path to root
macylibed9 Sep 25, 2025
e6130df
reverting main destination
macylibed9 Sep 25, 2025
cd72fa2
Support PlantUML graph
macylibed9 Oct 8, 2025
e285349
Docs Update
macylibed9 Oct 22, 2025
f818bc6
removed branch
macylibed9 Oct 22, 2025
86b4de9
Merge pull request #117 from macylibed9/docs_update
tagoylo Oct 23, 2025
8b8ab29
changed publish branch
macylibed9 Oct 29, 2025
b83cebe
Merge pull request #118 from macylibed9/docs_update
tagoylo Oct 29, 2025
ba7e786
update branch
macylibed9 Oct 29, 2025
1a02b8a
updated branch
macylibed9 Oct 29, 2025
f0eae9b
removed subfolder
macylibed9 Oct 29, 2025
26876d2
removed testing branch
macylibed9 Oct 29, 2025
0608ee7
Merge branch 'refactor-2' into docs_update
macylibed9 Oct 29, 2025
a15c553
Merge pull request #119 from macylibed9/docs_update
tagoylo Oct 29, 2025
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
66 changes: 66 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Build

on:
push:
branches:
- master
- refactor-2
pull_request:
branches:
- master
- refactor-2

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'

- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

# Use system Gradle to regenerate wrapper with correct version (e.g., Gradle 9)
- name: Create gradle wrapper
run: gradle wrapper --gradle-version 9.0.0 --distribution-type all

- name: Grant execute permission for Gradle wrapper
run: chmod +x ./gradlew

- name: Run tests with coverage
run: ./gradlew test jacocoTestReport

- name: Upload test results
uses: actions/upload-artifact@v4
with:
name: test-results
path: build/reports/tests

- name: Upload code coverage report
uses: actions/upload-artifact@v4
with:
name: code-coverage-report
path: build/reports/jacoco/test/html

- name: Generate docs
run: ./gradlew groovydoc

- name: Upload GroovyDoc
uses: actions/upload-artifact@v4
with:
name: groovydoc
path: build/docs/groovydoc
174 changes: 174 additions & 0 deletions .github/workflows/doc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
name: Documentation Tests

on: [push, pull_request]

jobs:
Doc:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Install Graphviz
run: sudo apt-get install graphviz

- name: Install dependencies
run: |
pip install -r requirements_doc.txt

- name: Download PlantUML jar
run: curl -L -o plantuml.jar https://github.com/plantuml/plantuml/releases/download/v1.2024.7/plantuml-1.2024.7.jar

- name: Build doc
run: |
cd doc && rm -rf build && make html
cd ..

CheckDocs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Install Graphviz
run: sudo apt-get install graphviz

- name: Install dependencies
run: |
pip install -r requirements_doc.txt

- name: Download PlantUML jar
run: curl -L -o plantuml.jar https://github.com/plantuml/plantuml/releases/download/v1.2024.7/plantuml-1.2024.7.jar

- name: Check doc build
run: |
cd doc
rm -rf build
make html SPHINXOPTS="-W"
cd ..

- name: Check doc coverage
run: |
cd doc
make coverage
cat build/coverage/python.txt
cat build/coverage/python.txt | wc -l | xargs -I % test % -eq 2
cd ..

# To add when the doc links are fixed
# - name: Check doc links
# run: |
# cd doc
# make linkcheck
# cd ..

DeployMainDoc:
runs-on: ubuntu-latest
needs: [CheckDocs, Doc]
if: github.ref == 'refs/heads/refactor-2'

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Install Graphviz
run: sudo apt-get install graphviz

- name: Install dependencies
run: |
pip install -r requirements_doc.txt

- name: Download PlantUML jar
run: curl -L -o plantuml.jar https://github.com/plantuml/plantuml/releases/download/v1.2024.7/plantuml-1.2024.7.jar

- name: Build doc and release
run: |
cd doc && rm -rf build && make html
cd ..

- name: Publish doc
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./doc/build/html

DeployDevelopmentDoc:
runs-on: ubuntu-latest
needs: [CheckDocs, Doc]
# Only run on pull requests to refactor-2 and non-forks
if: github.event_name == 'pull_request' && github.base_ref == 'refactor-2' && ! github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Install Graphviz
run: sudo apt-get install graphviz

- name: Install dependencies
run: |
pip install -r requirements_doc.txt

- name: Download PlantUML jar
run: curl -L -o plantuml.jar https://github.com/plantuml/plantuml/releases/download/v1.2024.7/plantuml-1.2024.7.jar

- name: Build doc and release
run: |
export GIT_BRANCH=${{ github.head_ref }}
export DEV_BUILD=1
cd doc && rm -rf build && make html
cd ..

- name: Publish doc
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./doc/build/html

Deploy:
runs-on: ubuntu-latest
needs: [Doc]
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Install Graphviz
run: sudo apt-get install graphviz

- name: Install dependencies
run: |
pip install -r requirements_doc.txt
pip install setuptools wheel twine build

- name: Download PlantUML jar
run: curl -L -o plantuml.jar https://github.com/plantuml/plantuml/releases/download/v1.2024.7/plantuml-1.2024.7.jar

- name: Build doc and release
run: |
cd doc && rm -rf build && make html
cd ..
python -m build

- name: Publish doc
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./doc/build/html
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# jenkins-shared-library

[![Documentation Status](https://readthedocs.org/projects/jenkins-shared-library/badge/?version=latest)](https://jenkins-shared-library.readthedocs.io/en/latest/?badge=latest)
[![Build](https://github.com/sdgtt/jenkins-shared-library/actions/workflows/build.yml/badge.svg)](https://github.com/sdgtt/jenkins-shared-library/actions/workflows/build.yml)

CI Shared Library
61 changes: 61 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
plugins {
id 'groovy'
id 'java'
id 'jacoco'
}

repositories {
mavenCentral()
maven {
url 'https://repo.jenkins-ci.org/releases/'
url 'https://repo.jenkins-ci.org/public/'
}
}

dependencies {
implementation 'org.codehaus.groovy:groovy-all:3.0.9'
implementation 'com.cloudbees:groovy-cps:1.24'
implementation 'org.jenkins-ci.main:jenkins-core:2.121.2'
implementation('org.jenkinsci.plugins:pipeline-model-definition:2.2214.vb_b_34b_2ea_9b_83') {
artifact {
extension = 'jar'
}
}
// testImplementation 'junit:junit:4.13.2'
// testImplementation 'org.mockito:mockito-core:3.11.2'
testImplementation 'com.lesfurets:jenkins-pipeline-unit:1.9'
testImplementation 'org.spockframework:spock-core:2.0-groovy-3.0'
testImplementation 'org.spockframework:spock-junit4:2.0-groovy-3.0'
testImplementation 'cglib:cglib-nodep:3.3.0'


}

sourceSets {
main {
groovy {
srcDirs = ['src', 'vars']
}
}
test {
groovy {
srcDirs = ['test']
}
}
}

test {
useJUnitPlatform()
testLogging {
events "passed", "skipped", "failed"
}
finalizedBy jacocoTestReport
}

jacocoTestReport {
dependsOn test
reports {
xml.required = true
html.required = true
}
}
Empty file added doc/source/_static/.gitkeep
Empty file.
Empty file added doc/source/_templates/.gitkeep
Empty file.
12 changes: 10 additions & 2 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#
import os
import sys
import sphinx_rtd_theme
sys.path.insert(0, os.path.abspath('.'))


Expand All @@ -37,8 +38,15 @@
"sphinx_rtd_theme",
"sphinx.ext.graphviz",
"sphinx.ext.autosectionlabel",
"sphinx_toolbox.collapse"
"sphinx_toolbox.collapse",
"sphinx.ext.coverage",
"myst_parser",
"sphinxcontrib.mermaid",
"sphinx_remove_toctrees",
"sphinx_click",
"sphinxcontrib.plantuml",
]
plantuml = "java -jar ../../plantuml.jar"
autosectionlabel_prefix_document = True

# Add any paths that contain templates here, relative to this directory.
Expand All @@ -55,7 +63,7 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"
html_theme = "furo"

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
Expand Down
23 changes: 23 additions & 0 deletions doc/source/gauntlet.pu
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
@startuml Gauntlet Hardware Pipeline
start
title Gauntlet Hardware Pipeline
:START(master);
If (Update Agents (nuc-01))
:Query Node;
else ()
:Update Agents (nuc-02);
endif
switch (Check Required Hardware (master))
case ()
:Setup Docker (nuc-01-pluto);
:Linux Tests (nuc-01-pluto);
case ()
:Setup Docker (nuc-01-zed-fmcomms2);
:Linux Tests (nuc-02);

case ()
:Setup Docker (nuc-02-zc706-daq2);
:Linux Tests (nuc-02-zc706-daq2);
endswitch
:Collect Logs;
@enduml
1 change: 1 addition & 0 deletions doc/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ Required Packages
nebula
artifacts
vagrant
node_setup

Indices and tables
==================
Expand Down
Loading
Loading