Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
16e2e0e
Fix: mdstcpip memory issue with jscope (#2318)
zack-vii Jun 1, 2021
89add9f
Fix: add PULSE to phases (same as PON) (#2316)
zack-vii Jun 1, 2021
68cba11
Gm marte2 updates (#2324)
GabrieleManduchi Jun 17, 2021
e3d73f1
Fix: Compare ctx.value instead of ctx, fixes #2325 (#2326)
cenkoloji Jun 21, 2021
eb99330
Fix: explicitly setting the WRTD_TICKNS from tree node value (#2323)
santorofer Jun 22, 2021
012e8f3
Fix: Add vaildation of sample rate frequencies for SC devices (#2328)
santorofer Jun 22, 2021
7a0e2b3
Feature: jDevices setup form for WRTD (#2315)
santorofer Jun 23, 2021
64d854e
Fix: removed extra free method in PutRecordRemote (#2331)
zack-vii Jun 30, 2021
673c40c
Feature: Add extern entrypoint CamXlateLogicalname (#2321)
joshStillerman Jul 1, 2021
cc226d9
Fix: change wait mode from 'Default' to 'Busy' (#2336)
joshStillerman Jul 1, 2021
2d3386a
Fix:change incorrect jScope property file (#2346)
GabrieleManduchi Jul 12, 2021
32c1941
Feature: New TDI python function that query Influxdb data from an MDS…
santorofer Jul 13, 2021
79f8968
Fix: remove #pragma once from the code (#2349)
joshStillerman Jul 13, 2021
187945c
Build: el7 has no python-numpy (#2338)
zack-vii Jul 13, 2021
635e0ec
Fix: TreeShr cleanup connections only at key locations of the code (#…
zack-vii Jul 17, 2021
04b3390
Fix:changed decompile() no more supported to toString() (#2351)
GabrieleManduchi Jul 19, 2021
1119dc6
Fix: Get clock plan and calculate the correct nanosec per ticks for t…
santorofer Jul 27, 2021
e0ccd83
Fix: Influxdb signal with delta step (#2356)
santorofer Jul 27, 2021
f05cf3e
Build: get git revision during bootstrap and generate m4/ax_git_revis…
zack-vii Aug 17, 2021
d159f75
Build: fixed chmod of deploy/git_revision.sh
zack-vii Aug 17, 2021
53f9c41
Fix: we have fixed branch name length; use it; cleanup mdsversion.h
zack-vii Aug 18, 2021
2e246f3
Build: clang-format
zack-vii Aug 18, 2021
a310012
Build: fixed package dependencies
zack-vii Aug 18, 2021
390d139
Build: python use setuptool as default (#2366)
zack-vii Aug 18, 2021
f8cd674
Fix: matlab support for 2021a; removed deprecated stuff (#2365)
zack-vii Aug 18, 2021
583c459
Docs: Fix name of TreeShrHook.py example (#2332)
joshStillerman Aug 18, 2021
6306f36
Build: Add support for nix packaging (flake) (#2361)
fluffynukeit Aug 18, 2021
f53c638
Minor improvements to InfluxHistorian (#2299)
WhoBrokeTheBuild Aug 18, 2021
154778f
Fix: python exceptions, pep, and fixed bytes_list (#2369)
zack-vii Aug 18, 2021
d103031
Fix: mdsmisc GetXYSignalXd() invalid free xd on error (#2373)
zack-vii Aug 26, 2021
009c674
Bug fix for camshr, when hostID > 9 and sg device > 7 (#2367)
morgak Aug 26, 2021
a759f05
Fix: python setup, setupkw (#2376)
zack-vii Aug 26, 2021
f6c82e6
Gm tree thread (#2371)
GabrieleManduchi Aug 26, 2021
707f165
Fix: on some systems UIDs are > 16 bits (alternative) (#2379)
zack-vii Aug 30, 2021
7675b63
Build: ac_default_prefix (#2385)
zack-vii Sep 16, 2021
fb7c9d8
Fix: check for previous installation (#2386)
zack-vii Sep 16, 2021
ec9f39f
Fix: add list fall-back implementation to support older servers (#2383)
zack-vii Sep 16, 2021
ed8f5d0
Fix: drop read and trigger install by env var, default should be by P…
zack-vii Sep 17, 2021
fc74fe5
mdsplus-api: improve mdsip, all by String (#2389)
zack-vii Sep 17, 2021
d4e85c0
Fix: substitute stdout with stderr on mdsip -P tunnel (#2390)
zack-vii Sep 17, 2021
9969914
Gm fix cpp ctx (#2394)
GabrieleManduchi Oct 11, 2021
b5dd3b9
Mitica update (#2402)
GabrieleManduchi Oct 22, 2021
7f0a492
Fix broken windows build (#2406)
WhoBrokeTheBuild Oct 29, 2021
9829bf6
Jas add compression methods two (#2407)
joshStillerman Nov 1, 2021
1810076
Fix: use DESCRIPTOR_CSTRING not DESCRIPTOR macro (#2409)
joshStillerman Nov 2, 2021
f9712eb
Gm fix marte2 (#2411)
GabrieleManduchi Nov 3, 2021
5567f4b
Fix: can not get cli_get_value a qualifier twice (#2410)
joshStillerman Nov 3, 2021
3149cd3
Fix: fix misspelled exception names (#2400)
joshStillerman Nov 3, 2021
96bbba6
Gm fix treenode (#2414)
GabrieleManduchi Nov 5, 2021
0f11205
Gm fix resample (#2415)
GabrieleManduchi Nov 10, 2021
f53ea79
Fix: can not get/set current shot over thick (#2418)
joshStillerman Nov 15, 2021
eb80361
Fix: Inconsistent behavior for empty records (#2401) (#2408)
merlea Nov 15, 2021
d8d5beb
Feature: New Acq2106 423ELF transient device (#2241)
santorofer Nov 18, 2021
254a973
#2419: fixed monitor queue (#2420)
zack-vii Nov 19, 2021
a204d2e
Feature: mdsplus-api: trust in jsch when handling config (#2422)
zack-vii Nov 23, 2021
c39799b
Reverted PR 2361 changes that added nix support. (#2430)
fluffynukeit Dec 17, 2021
551462b
Switch Ubuntu18 to use python3-numpy (#2433)
WhoBrokeTheBuild Dec 23, 2021
e430259
Fix: move tree copyy to run() in MDSWorker thread (#2425)
santorofer Dec 23, 2021
527aa66
Fix: Setting of Ac2106 435 Signal Conditioning Gains and Offsets in a…
santorofer Dec 23, 2021
87037c8
Feature: New acq2106 435ELF transient device (#2240)
santorofer Jan 6, 2022
3d509f9
Fix: Gm fix bagel (#2438)
GabrieleManduchi Jan 10, 2022
2055f88
Fix: Gm fix bagel (#2440)
GabrieleManduchi Jan 19, 2022
e8f4e88
Gm redp dac (#2443)
GabrieleManduchi Feb 4, 2022
331f21d
Feature: Gm marte2 dtt (#2457)
GabrieleManduchi Mar 30, 2022
1f2e95f
Feature:add the possibility of passing var args via array in MDSplus:…
GabrieleManduchi Apr 26, 2022
c9dd541
added debian-bullseye (#2460)
zack-vii May 2, 2022
d289d90
Gm fix mdsip ast (#2462)
GabrieleManduchi May 25, 2022
6144505
Gm dev ext attr (#2465)
GabrieleManduchi Jun 29, 2022
51896fc
Fix: MdsShr->LibTimeToVMSTime: Avoid separate calls for current secon…
merlea Jun 29, 2022
88692fe
Add afixed-length string specifier to the printf for buildtag() (#2475)
WhoBrokeTheBuild Jul 7, 2022
d229105
Gm sync redp (#2478)
GabrieleManduchi Jul 21, 2022
b589b2c
Add configuration for building on Ubuntu 22.04 (#2485)
WhoBrokeTheBuild Aug 25, 2022
c31221a
Gm fix connection (#2489)
GabrieleManduchi Oct 4, 2022
b320611
Gm wrtd timer (#2491)
GabrieleManduchi Oct 11, 2022
496b71a
Fix: Multiple parameter/qualifier madness in mdsdcl (#2492)
WhoBrokeTheBuild Oct 18, 2022
7a3d597
Fix:WRTDTimer related devices and dw setup (#2497)
GabrieleManduchi Oct 26, 2022
43fcb03
Fix Python Tree's normal() function to honor the shot supplied (#2499)
WhoBrokeTheBuild Nov 2, 2022
7761c72
Gm wrtd driver (#2502)
GabrieleManduchi Nov 4, 2022
0456999
Fix: Gm wrtd driver (#2504)
GabrieleManduchi Nov 22, 2022
de112f9
Use PickSampleGAM when required (#2505)
GabrieleManduchi Nov 30, 2022
9701093
Fix wrong type in MDSWriter (#2506)
GabrieleManduchi Dec 2, 2022
4d916a1
Fix: Add potential fix to Issue #2509 (#2514)
WhoBrokeTheBuild Dec 16, 2022
861e51c
Fix: Error in Python's Tree::__del__ (#2520)
WhoBrokeTheBuild Jan 11, 2023
7b8dce0
Fix: APD/EmptyData deserialization (#2518)
zack-vii Jan 26, 2023
a503b84
Add socket/service files for running per-connection mdsip servers wit…
WhoBrokeTheBuild Jan 30, 2023
85e8857
Fix: Support thick mixed with local and distributed in a tree path (#…
WhoBrokeTheBuild Feb 1, 2023
3e2ad19
Fix: Bug in PR #2526 (#2533)
santorofer Feb 13, 2023
53bf4a6
Fix:corrected missing copy of isEdit flag in Tree(Tree *) constructor…
GabrieleManduchi Feb 16, 2023
6f906d0
Fix: remove numpy.str usage in MDSplus (#2537)
santorofer Feb 24, 2023
7503b2f
Add context information also to partameter help, units and validation…
GabrieleManduchi Mar 9, 2023
e3a8939
Major update of NI6683, NI6368EV and fix on CRIO_MPAG devices (#2539)
GabrieleManduchi Mar 9, 2023
b579817
Add RHEL9 build, remove xinetd package dependency, bug fixes (#2541)
WhoBrokeTheBuild Mar 10, 2023
5f8d21e
Fix: standardizing on pass by reference for exception handling (#2544)
santorofer Mar 22, 2023
2c1c251
Gm fix events (#2543)
GabrieleManduchi Mar 22, 2023
8e1c2f7
Build: Add issue templates (#2549)
WhoBrokeTheBuild Mar 29, 2023
4b9f6f1
Fix: Tdi SPREAD function does not work on scalars (#2517)
joshStillerman Mar 29, 2023
84d8084
Fix: Change public SendArg decl match private (#2556)
joshStillerman Apr 6, 2023
3612bc0
Improved the setting of gains and offsets (#2484)
santorofer Apr 7, 2023
143e094
In the 423/435 stream devices, dev.copy() was moved back to the main …
santorofer Apr 7, 2023
2766f47
Fix: PutMany bug (#2566)
santorofer May 2, 2023
faf001d
Gm dtacq (#2562)
GabrieleManduchi May 2, 2023
a673e9c
Fix: improve an error message for MIT devices (#2565)
mwinkel-dev May 3, 2023
307924b
Fix:reversed dimensions in thin client in respect of distributed/loca…
GabrieleManduchi May 4, 2023
0269e49
Fixed check for returned socket (#2567)
GabrieleManduchi May 4, 2023
31b1cd4
Gm fix java apd (#2569)
GabrieleManduchi May 5, 2023
2dbed09
Gm matlab apd (#2573)
GabrieleManduchi May 12, 2023
53e63e2
Fix: add xrender false to fix rendering on XQuartz (#2564)
jdanz-psfc May 17, 2023
b3cb659
Fix: Replace np.float() with float() (#2574)
jdanz-psfc May 17, 2023
9800258
Update influxSignal.py (#2577)
WhoBrokeTheBuild May 23, 2023
8c0993f
Gm update devices (#2578)
GabrieleManduchi May 26, 2023
a72a184
Added semicolon to avoit debug messages (#2582)
GabrieleManduchi Jun 6, 2023
6eec092
Fix: socket returned can now be zero (#2581)
joshStillerman Jun 7, 2023
2690706
Fixed error in getMany signature (#2595)
AreWeDreaming Jul 25, 2023
44dd0e5
Fix: issue 2589 -- tostring() deprecated since numpy 1.19.0, replaced…
mwinkel-dev Jul 25, 2023
aceaef2
Fix #2600 remove bad forward ref to MdsGetAnSFN (#2602)
mwinkel-dev Aug 24, 2023
8f6754d
MacOS now has working OFD locks (#2603)
mwinkel-dev Aug 25, 2023
9bc8869
Gm fix connection (#2606)
GabrieleManduchi Aug 30, 2023
9cb20ed
Fix: Use _Exit() instead of exit() from forked process in tunnel_rout…
merlea Aug 30, 2023
0df7225
Fix: changed tditest/test-mdsip test case so works on macOS (#2610)
mwinkel-dev Sep 5, 2023
022c411
Fix: minor change to UDT4 protocol for CMake and macOS (#2611)
mwinkel-dev Sep 5, 2023
8139dac
Fix: change ports on test case to avoid conflict on macOS Big Sur (#2…
mwinkel-dev Sep 6, 2023
98e0030
Fix: solve socket binding problems causing test cases to fail (#2613)
mwinkel-dev Sep 6, 2023
e1914b3
Build.sh now has a --disable-labview option, plus allows comment line…
mwinkel-dev Sep 7, 2023
1957b9a
Info: add comments explaining MDSplus status codes (#2617)
mwinkel-dev Sep 7, 2023
02bc525
Fix:invalid tree context in Data::execute (#2621)
GabrieleManduchi Sep 12, 2023
d6df3eb
Fix - on macOS disable iPhone check for LabVIEW (#2624)
mwinkel-dev Sep 20, 2023
21ead65
Gm fix devices (#2622)
GabrieleManduchi Sep 22, 2023
d996b0c
Allow APD data be accessed via thin client via Connection.get() (#2620)
GabrieleManduchi Sep 23, 2023
389ed86
Fix: 2625 - start connection IDs at 1 (not zero) (#2626)
mwinkel-dev Sep 27, 2023
75469c8
Revert "Fix: 2625 - start connection IDs at 1 (not zero) (#2626)" (#…
WhoBrokeTheBuild Sep 28, 2023
443018e
Fix: 2625 v2 - only change IDL for socket 0 issue (#2628)
mwinkel-dev Sep 29, 2023
1408827
Revert "Fix: 2625 v2 - only change IDL for socket 0 issue (#2628)" (#…
WhoBrokeTheBuild Oct 3, 2023
138a468
Fix: 2625 v4 -- IDL socket 0 issue and partial revert of PR #2620 (#2…
mwinkel-dev Oct 9, 2023
153f44b
Gm rfx devices (#2636)
GabrieleManduchi Oct 12, 2023
aac07f7
Fix:untested use cases (#2641)
GabrieleManduchi Oct 16, 2023
eac7662
Fix: Change forking to simple in the systemd mdsip service (#2644)
WhoBrokeTheBuild Oct 20, 2023
acb2b0e
Issue 2625 - IDL test harness (#2643)
mwinkel-dev Oct 25, 2023
37652c2
Fix: dir /full segfault (#2647)
joshStillerman Nov 6, 2023
41fe68c
Gm redpitaya (#2653)
GabrieleManduchi Nov 21, 2023
db91d77
Added Basler USB cameras support (#2666)
fmolon Dec 26, 2023
b5525d2
Build: Initial Jenkinsfile (#2672)
WhoBrokeTheBuild Jan 4, 2024
ab6617c
Build: Add cleanWs() after build to the Jenkinsfile (#2675)
WhoBrokeTheBuild Jan 4, 2024
e37965e
Fix: tdic uses correct env var and path to launch tcl (#2676)
mwinkel-dev Jan 4, 2024
3ab12b8
Fix: baseline.fun needs ` ` around `..` (#2669)
joshStillerman Jan 4, 2024
479e8d1
Build: Fix build.sh to test the ExitCode from docker (#2677)
WhoBrokeTheBuild Jan 5, 2024
d54f39a
Build: Fix test event port, collect and import test results into Jenk…
WhoBrokeTheBuild Jan 9, 2024
f339f53
Build: Isolate each build/test in their own network (#2680)
WhoBrokeTheBuild Jan 9, 2024
bde7c51
Gm fix apd (#2661)
GabrieleManduchi Jan 10, 2024
fddc5a9
Add define for DbiTREE_VERSION to alpha (#2682)
mwinkel-dev Jan 10, 2024
397cb96
Build: Add IDL tests to the Jenkinsfile (#2679)
WhoBrokeTheBuild Jan 10, 2024
3aea933
Build: Restructure the Jenkinsfile (#2685)
WhoBrokeTheBuild Jan 11, 2024
c56dc2c
Build: Begin work on publishing (#2686)
WhoBrokeTheBuild Jan 17, 2024
cdc9497
Build: Treat unprefixed commits as "Fix:" (#2692)
WhoBrokeTheBuild Jan 19, 2024
0489b3f
Build: Give the tgz files absolute paths (#2694)
WhoBrokeTheBuild Jan 19, 2024
8a42980
Build: Add darren as an Admin so he can build PRs (#2699)
joshStillerman Jan 31, 2024
8958059
more parameters for marte2_simulink_generic (#2700)
GabrieleManduchi Feb 5, 2024
1efcf87
Build: Sign packages with Jenkins, upload Windows installers to GitHu…
WhoBrokeTheBuild Feb 6, 2024
dae624d
Build: Actually publish to the real directory (#2702)
WhoBrokeTheBuild Feb 6, 2024
02877df
Fix: corrected typo that caused MdsPut2() to clear all flags (#2703)
mwinkel-dev Feb 7, 2024
221609a
Fix: Release versioning was always 1 behind (#2705)
WhoBrokeTheBuild Feb 8, 2024
c936acf
Fix: Restructure the Jenkinsfile to better support versioning (#2707)
WhoBrokeTheBuild Feb 9, 2024
a2e7186
Fix: User provided fix to prevent rare segfault on device deletion (#…
mwinkel-dev Feb 9, 2024
a1181a0
Build: add MATLAB tests (not using mdsip) (#2674)
mwinkel-dev Feb 9, 2024
8939e2e
Fix: Switch to pyproject.toml and stub setup.py for better pip / setu…
dgarnier Feb 13, 2024
ad46709
Build: configure PYTHONPATH for IDL test harness (#2711)
mwinkel-dev Feb 14, 2024
5ceda4e
Build: enhance IDL test harness by adding write tests and more read t…
mwinkel-dev Feb 14, 2024
54ea432
Build: parameterize the "write" tree for MATLAB tests (#2712)
mwinkel-dev Feb 15, 2024
2a4264e
Fix: mdsip no longer accepts connections from unauthorized users (#2714)
mwinkel-dev Feb 21, 2024
4e6ac84
Revert "Feature: PR #2620 and PR #2661 (#2720)"
WhoBrokeTheBuild Feb 27, 2024
5955c39
Build: correctly format expected output for a MATLAB test (#2722)
mwinkel-dev Feb 28, 2024
a8b4e01
Fix: "set current" now works with thick-client (#2723)
mwinkel-dev Mar 4, 2024
4f7d580
Add 'Release' as a commit prefix (#2727)
WhoBrokeTheBuild Mar 19, 2024
adf1ec4
Release: Merge alpha 7.140.68 into stable
WhoBrokeTheBuild Mar 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Affiliation**
What University / Laboratory / Company are you from, if any?

**Version(s) Affected**
The MDSplus Version(s) affected, if any.

**Platform**
The Operating System you're running on.

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Affiliation**
What University / Laboratory / Company are you from, if any?

**Description**
A description of the feature or enhancement you would like to see.

**Example**
An example of the feature you would like, using pseudocode if helpful.

**Additional context**
Add any other context or screenshots about the feature request here.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: Question
about: Ask a question, ask for help, ask for clarification
title: ''
labels: question
assignees: ''

---

**Affiliation**
What University / Laboratory / Company are you from, if any?

**Question**
What is your question?
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ camshr/cts_commands.c

# vi autosave files
*~

#vs code autosave files
*.swp
# python compiled files
*.pyc
__pycache__/
Expand Down
251 changes: 251 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@

def OSList = [
'windows',
'ubuntu18',
'ubuntu20',
'ubuntu22',
'rhel7',
'rhel8',
'rhel9',
// 'alpine3.9-armhf',
// 'alpine3.9-x86_64',
// 'alpine3.9-x86',
'debian9-64',
'debian10-64',
'debian11-64',
'test-asan',
'test-tsan',
'test-ubsan',
]

def AdminList = [
'AndreaRigoni',
'GabrieleManduchi',
'joshStillerman',
'mwinkel-dev',
'santorofer',
'tfredian',
'WhoBrokeTheBuild',
'zack-vii',
'dgarnier',
]

def schedule = "";
if (BRANCH_NAME == "alpha") {
schedule = "0 18 * * *";
}
if (BRANCH_NAME == "stable") {
schedule = "0 19 * * *";
}

def new_version = '0.0.0';

def release_file_list = [];

pipeline {
agent any

options {
skipDefaultCheckout()
timeout(time: 1, unit: 'HOURS')
}
triggers {
cron(schedule)
issueCommentTrigger('(?i).*retest\\s+this\\s+please.*')
}

stages {

stage('Setup') {
steps {
sh 'printenv'

script {
// is PR
if (env.CHANGE_ID) {
// This is safe because untrusted PRs will use Jenkinsfile from the target branch
if (env.GITHUB_COMMENT_AUTHOR) {
if (!AdminList.contains(env.GITHUB_COMMENT_AUTHOR)) {
currentBuild.result = 'ABORTED'
error 'This user does not have permission to trigger builds.'
}
else {
echo("Build was started by ${GITHUB_COMMENT_AUTHOR}, who wrote: \"${GITHUB_COMMENT}\", which matches the trigger pattern.")
}
}
else if (!AdminList.contains(env.CHANGE_AUTHOR)) {
currentBuild.result = 'ABORTED'
error 'This user does not have permission to trigger builds.'
}
}
}

// This shouldn't be needed, but just in case
cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}

stage("Calculate Version") {
when {
anyOf {
branch 'alpha';
branch 'stable';
}
}
steps {
script {
ws("${WORKSPACE}/publish") {
checkout scm;

new_version = sh(
script: "./deploy/get_new_version.py",
returnStdout: true
).trim()

if (new_version == '0.0.0') {
error "Failed to calculate new version"
}

echo "Calculated new version to be ${new_version}"
}
}
}
}

stage('Distributions') {
steps {
script {
parallel OSList.collectEntries {
OS -> [ "${OS} Build & Test": {
stage("${OS} Build & Test") {
ws("${WORKSPACE}/${OS}") {
stage("${OS} Clone") {
checkout scm;
}

stage("${OS} Bootstrap") {
sh "./deploy/build.sh --os=bootstrap --branch=${BRANCH_NAME} --version=${new_version}"

if (OS.endsWith("armhf")) {
sh "docker run --rm --privileged multiarch/qemu-user-static:register --reset"
}
}

stage("${OS} Test") {
try {
def network = "jenkins-${EXECUTOR_NUMBER}-${OS}"
sh "./deploy/build.sh --os=${OS} --test --dockernetwork=${network}"
}
finally {
sh "./deploy/tap-to-junit.py --junit-suite-name=${OS}"
junit skipPublishingChecks: true, testResults: 'mdsplus-junit.xml', keepLongStdio: true

echo "Testing complete"
}
}

if (!OS.startsWith("test-")) {
stage("${OS} Release") {
sh "./deploy/build.sh --os=${OS} --release --branch=${BRANCH_NAME} --version=${new_version}"

findFiles(glob: "packages/*.tgz").each {
file -> release_file_list.add(WORKSPACE + "/" + file.path)
}

findFiles(glob: "packages/*.exe").each {
file -> release_file_list.add(WORKSPACE + "/" + file.path)
}
}
}
}
}
}]
}
}
}
}

stage('Additional Testing') {
parallel {
stage("Test IDL") {
steps {
// The IDL tests have to be run with the same OS as the builder
ws("${WORKSPACE}/ubuntu22") {
withEnv(["MDSPLUS_DIR=${WORKSPACE}/tests/64/buildroot"]) {
sh """
set +x
. \$MDSPLUS_DIR/setup.sh
export PYTHONPATH=\$MDSPLUS_DIR/python/
set -x
./idl/testing/run_tests.py
"""
}
}
}
}

stage("Test MATLAB") {
steps {
echo "Testing MATLAB"
// TODO
}
}
}
}

stage('Publish') {
when {
allOf {
anyOf {
branch 'alpha';
branch 'stable';
}

triggeredBy 'TimerTrigger'
}
}
steps {
script {


parallel OSList.findAll{ OS -> (!OS.startsWith("test-")) }.collectEntries {
OS -> [ "${OS} Publish": {
stage("${OS} Publish") {
ws("${WORKSPACE}/${OS}") {
sh "./deploy/build.sh --os=${OS} --publish --branch=${BRANCH_NAME} --version=${new_version} --keys=/mdsplus/certs --publishdir=/mdsplus/dist"
}
}
}]
}

stage("Publish to GitHub") {
ws("${WORKSPACE}/publish") {
def tag = "${BRANCH_NAME}_release-" + new_version.replaceAll("\\.", "-")
echo "Creating GitHub Release and Tag for ${tag}"
withCredentials([
usernamePassword(
credentialsId: 'MDSplusJenkins',
usernameVariable: 'GITHUB_APP',
passwordVariable: 'GITHUB_ACCESS_TOKEN'
)]) {

// TODO: Protect against spaces in filenames
def release_file_list_arg = release_file_list.join(" ")
sh "./deploy/create_github_release.py --tag ${tag} --api-token \$GITHUB_ACCESS_TOKEN ${release_file_list_arg}"
}

}
}
}
}
}
}
post {
always {
archiveArtifacts artifacts: "**/test-suite.tap,**/core", followSymlinks: false

cleanWs disableDeferredWipeout: true, deleteDirs: true
}
}
}

4 changes: 2 additions & 2 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ tests-env:

# Interdependent directories:
actions: mdsshr tdishr treeshr xmdsshr mdstcpip servershr
camshr: mdsdcl
camshr: mdsdcl mdstcpip
ccl: camshr mdsshr mdsdcl
tcl: mdsshr treeshr tdishr mdstcpip servershr mdsdcl
dwscope: xmdsshr
Expand All @@ -234,7 +234,7 @@ java/jdispatcher: java/mdsobjects
java/jtraverser: java/mdsobjects java/jscope
java/jtraverser2: java/mdsplus-api
math: mdsshr
mdsdcl: mdsshr
mdsdcl: mdsshr treeshr
mdslib: mdstcpip
mdslibidl: tdishr
mdsmisc: tdishr xtreeshr
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
![Build Status](https://jenkins.mdsplus.org/buildStatus/icon?job=MDSplus%2Falpha)

## We want to know who you are
The MDSplus developers want to know who you are. If you or your site is using MDSplus please fill the following survey. We promise not to share your contact information. Do not assume that other's from your institution have also filled this out, we will combine the results.

Expand Down
5 changes: 4 additions & 1 deletion _include/P2WMutex.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#pragma once
#ifndef _P2WMUTEX_HPP
#define _P2WMUTEX_HPP

#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
Expand Down Expand Up @@ -280,3 +282,4 @@ class P2WCond
};
static_assert(sizeof(pthread_cond_t) == sizeof(P2WCond), "Size is not correct");
#endif
#endif // ifndef _P2WMUTEX_HPP
5 changes: 4 additions & 1 deletion _include/P2WSem.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#pragma once
#ifndef _P2WSEM_HPP
#define _P2WSEM_HPP

#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
Expand Down Expand Up @@ -70,3 +72,4 @@ class P2WSem
}
};
static_assert(sizeof(sem_t) == sizeof(P2WSem), "Size is not correct");
#endif // ifndef _P2WSEM_HPP
5 changes: 4 additions & 1 deletion _include/P2WThread.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#pragma once
#ifndef _P2WTHREAD_HPP
#define _P2WTHREAD_HPP

#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
Expand Down Expand Up @@ -348,3 +350,4 @@ class P2WThread
}
#endif // PTHREAD
};
#endif // ifndef _P2WTHREAD_HPP
Loading