Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
481e4cf
convert stage definition to classes
kimpaller Nov 25, 2024
3a7d533
introduce testing framework
kimpaller Dec 10, 2024
1346ff6
implement logger
kimpaller Dec 13, 2024
205a794
fix
kimpaller Dec 13, 2024
35fbb60
fix
kimpaller Dec 13, 2024
c5c725c
fix
kimpaller Dec 13, 2024
8238ac5
use spock framework for testing
kimpaller Jan 17, 2025
ccc9109
stage: UpdateBootFiles: add support and initial test implementation
kimpaller Jan 21, 2025
0d0cc8c
rename Test class
kimpaller Feb 4, 2025
d54d767
stage: UpdateBOOTFiles: update class and implement test
kimpaller Feb 4, 2025
b080bf5
remove unecessary tests
kimpaller Feb 4, 2025
b9aeff5
Add descriptions for documentation
kimpaller Feb 4, 2025
b97ed41
ci: add gh action workflow
kimpaller Feb 5, 2025
a2cff10
ci: rename workflow
kimpaller Feb 5, 2025
ee7ab72
add build status badge
kimpaller Feb 5, 2025
272833e
workflow: run tests with coverage
kimpaller Feb 5, 2025
73d0506
stage UpdateBootFiles: convert remaing println() to logger.info()
kimpaller Feb 7, 2025
3369636
parametrized Jenkins env
kimpaller Feb 11, 2025
f6a98cd
stages: add support for RecoverBoard stage
kimpaller Feb 11, 2025
020d402
workflow: add refactor-2 as PR target
kimpaller Feb 11, 2025
6186150
change way to initialize the env variable within the gauntlet
kimpaller Feb 11, 2025
07e4e4b
RecoverBoard: fix path issue
kimpaller Feb 11, 2025
2a5582f
add fix and verify first if board indeed needs recovery
kimpaller Feb 18, 2025
03bcb68
fix wrong nebula command
kimpaller Feb 18, 2025
e1d7624
stages: add refactored LinuxTests stage
kimpaller Feb 18, 2025
08a9e34
remove unused methods
tagoylo Feb 25, 2025
6172905
refactor: add refactored noos stage and initial test
tagoylo Mar 24, 2025
bf66245
add more tests to noos stage
tagoylo Mar 31, 2025
0bbbe32
fix some commands
tagoylo Apr 2, 2025
89ee298
add sleep step executor
tagoylo Apr 2, 2025
1851dd6
update tests for noos stage
tagoylo Apr 2, 2025
4568680
stages: add refactored CaptureIIOContext and its test
tagoylo May 7, 2025
d2ed2f4
stages: add refactored PowerCycleBoard stage and its test
tagoylo May 7, 2025
7df903c
stages: add refactored SendResults stage and its test
tagoylo May 7, 2025
e97fa45
make env testable
tagoylo May 7, 2025
3b9e796
make null-safe
tagoylo May 7, 2025
471555b
stages: add refactored liba9361tests stage and its tests
tagoylo Sep 2, 2025
f039356
refactor: add junit and publishHTML to steps
tagoylo Sep 2, 2025
a508923
stages: add refactored KuiperCheck stage and its tests
tagoylo Sep 2, 2025
4fc3a34
refactor: add checkout to steps
tagoylo Sep 2, 2025
f94771e
added new fixes for multibranch pipeline and netbox
tagoylo Sep 2, 2025
921243d
stages: add refactored pyaditest and its tests
tagoylo Sep 2, 2025
a554723
refactor: fix writeFile call
tagoylo Sep 4, 2025
2c50875
stages: add refactored matlabtest stage and its tests
tagoylo Sep 4, 2025
7957e03
fix linux tests
tagoylo Sep 4, 2025
a8af150
fix recoverboard stage and test
tagoylo Sep 4, 2025
89431df
fix updatebootfiles stage and test
tagoylo Sep 4, 2025
67e4c32
stages: fix xunit error on libad9361
tagoylo Sep 8, 2025
21fc78d
stages: fix libad9361 Ctest error
tagoylo Sep 8, 2025
f12617d
stages: check for matalab executable first before running test
tagoylo Sep 8, 2025
2b15e6e
ci: update workflow
tagoylo Sep 8, 2025
f03e367
ci: pin gradle version
tagoylo Sep 8, 2025
628ebc8
ci: update java verion
tagoylo Sep 8, 2025
b645cde
Docs automation builds
macylibed9 Sep 25, 2025
53f082c
fix in vagrant and index
macylibed9 Sep 25, 2025
bca7641
Temporary fix for deployment
macylibed9 Sep 25, 2025
d2df87c
changed path to root
macylibed9 Sep 25, 2025
a4b81f4
reverting main destination
macylibed9 Sep 25, 2025
31b13a4
Support PlantUML graph
macylibed9 Oct 8, 2025
335aed4
Docs Update
macylibed9 Oct 22, 2025
7352962
update branch
macylibed9 Oct 29, 2025
ae6947a
updated branch
macylibed9 Oct 29, 2025
4abb844
removed subfolder
macylibed9 Oct 29, 2025
fccb727
removed testing branch
macylibed9 Oct 29, 2025
494d753
removed branch
macylibed9 Oct 22, 2025
126456f
changed publish branch
macylibed9 Oct 29, 2025
c5fae15
Update documentation link in README.md
macylibed9 Oct 30, 2025
10f2211
Link update fix
macylibed9 Oct 30, 2025
dd3f2bf
fix: register default context
kimpaller Jul 23, 2026
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
180 changes: 180 additions & 0 deletions .github/workflows/doc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
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
publish_branch: refactor-2
destination_dir: docs

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
publish_branch: refactor-2
destination_dir: prs/${{ github.head_ref }}

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
publish_branch: refactor-2
destination_dir: docs
3 changes: 2 additions & 1 deletion 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)
[![Documentation](https://github.com/sdgtt/jenkins-shared-library/actions/workflows/pages/pages-build-deployment/badge.svg)](https://sdgtt.github.io/jenkins-shared-library/)
[![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