Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
9081a2d
Update Gradle wrapper and project configurations for JDK 22 compatibi…
craig8 Sep 5, 2025
d687f17
Refactor GOSS core to migrate from Felix DM to OSGi Declarative Services
craig8 Sep 8, 2025
46adedc
Updated project files to reflect new module structure.
craig8 Oct 27, 2025
b59fc2b
Refactor project files for Gradle compatibility and update classpath …
craig8 Oct 27, 2025
7b05eae
Update pnnl.goss.core/src/pnnl/goss/core/server/web/Hello.java
craig8 Oct 27, 2025
c0c25ad
Update pnnl.goss.core/src/pnnl/goss/core/server/web/Default.java
craig8 Oct 27, 2025
180d311
Update settings.gradle
craig8 Oct 27, 2025
dc5f286
Refactor web services and filters for improved readability and consis…
craig8 Oct 27, 2025
84ec4dc
Refactor and enhance server components for improved readability and m…
craig8 Oct 27, 2025
e55789b
Migrate project from JDK 22 to JDK 21 LTS
craig8 Nov 1, 2025
13ddba8
Add OSGi integration tests and refactor JMS imports to Jakarta
craig8 Nov 19, 2025
50ad397
Refactor GOSS Core Integration Tests and Update Dependencies
craig8 Nov 19, 2025
3d3fee4
Refactor integration tests for improved readability and consistency
craig8 Nov 19, 2025
d58215c
Add BndRunner plugin for OSGi runner generation and update dependencies
craig8 Nov 20, 2025
1628c0c
Refactor CI/CD pipeline to support JDK 21 and update documentation fo…
craig8 Nov 20, 2025
7ff9f7d
Merge pull request #34 from craig8/jdk-22-update
craig8 Nov 20, 2025
24fd374
Remove outdated JAR files and introduce new versions for various comp…
craig8 Nov 20, 2025
b693c4c
Update repository configuration comments and remove fallback to BND Hub
craig8 Nov 21, 2025
5b0d951
Update to version 11.0.0-SNAPSHOT with JWT token auth and bug fixes
craig8 Nov 21, 2025
291b854
Add version 9.x, 10.x, and 11.0.0 release artifacts and maintenance s…
craig8 Nov 21, 2025
c1f8e98
Update Java version in workflow files from 22 to 21 for compatibility
craig8 Dec 12, 2025
b2b9099
Enhance GOSS security and version management
craig8 Dec 17, 2025
8b6502e
feat: Release version 11.0.0 for pnnl.goss.core.runner, security-ldap…
craig8 Dec 18, 2025
60e6557
feat: Add code formatting targets to Makefile for Spotless integration
craig8 Dec 18, 2025
42882ea
chore: Remove deprecated configuration files for ActiveMQ and GOSS core
craig8 Dec 18, 2025
eb853f8
feat: Introduce GOSS CLI tool for messaging operations
craig8 Dec 31, 2025
9edcc65
feat: Enhance GossCli message formatting and add ActiveMQ data direct…
craig8 Dec 31, 2025
3905390
chore: Update release metadata and binary files for version 11.0.0
craig8 Dec 31, 2025
01affc8
refactor: Simplify component service declarations in GossLDAPRealm an…
craig8 Jan 6, 2026
ee75825
chore: Update release metadata and binary files for version 11.0.0
craig8 Jan 6, 2026
6b4e063
Refactor project structure and update dependencies
craig8 Jan 7, 2026
4a7deae
chore: Update Bundle-Version to 12.0.0 across multiple configuration …
craig8 Jan 7, 2026
5443a3e
Refactor .classpath entries to streamline build paths and remove unne…
craig8 Jan 7, 2026
3055f0d
Add new JAR files for GOSS core components version 12.0.0
craig8 Jan 7, 2026
541b647
Enhance logging and security management in GOSS components
craig8 Jan 19, 2026
4a8645c
Update GOSS Core to version 12.1.0
craig8 Jan 19, 2026
511dd56
Merge pull request #37 from GridOPTICS/update-for-security
poorva1209 Feb 2, 2026
ba95e1f
Merge master into develop, keeping develop changes
craig8 Feb 2, 2026
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
  •  
  •  
  •  
70 changes: 70 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# EditorConfig is awesome: https://EditorConfig.org
# This file defines consistent coding styles for GOSS project
# Supported by VS Code, IntelliJ IDEA, Eclipse, and many other editors

root = true

# All files
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = tab
tab_width = 4

# Java files
[*.java]
indent_style = tab
indent_size = 4
tab_width = 4
max_line_length = 120
continuation_indent_size = 8

# Gradle files
[*.gradle]
indent_style = tab
indent_size = 4
tab_width = 4

# Properties files
[*.{properties,cfg}]
indent_style = space
indent_size = 4

# BND files
[*.{bnd,bndrun}]
indent_style = tab
indent_size = 4
tab_width = 4

# Markdown files
[*.{md,markdown}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = false

# YAML files (GitHub Actions, etc.)
[*.{yml,yaml}]
indent_style = space
indent_size = 2

# JSON files
[*.json]
indent_style = space
indent_size = 2

# XML files
[*.xml]
indent_style = space
indent_size = 2

# Shell scripts
[*.{sh,bash}]
indent_style = space
indent_size = 2

# Travis CI (legacy - keeping for reference)
[.travis.yml]
indent_style = space
indent_size = 2
35 changes: 35 additions & 0 deletions .github/codeql/codeql-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: "GOSS CodeQL Configuration"

queries:
- name: security-and-quality
uses: security-and-quality
- name: security-extended
uses: security-extended

# Paths to analyze
paths:
- pnnl.goss.core/src
- pnnl.goss.core.runner/src
- pnnl.goss.core.testutil/src
- pnnl.goss.core.itests/src

# Paths to ignore
paths-ignore:
- "**/generated/**"
- "**/target/**"
- "**/build/**"
- "**/*.log"
- "**/cache/**"
- "**/releaserepo/**"
- "**/test/**/*.java" # Focus on main source code

# Disable queries that may produce too many false positives
disable-default-queries: false

# Additional packs for enhanced security analysis
packs:
- codeql/java-queries:AlertSuppression.ql
- codeql/java-queries:Security/CWE
- codeql/java-queries:Security/CWE/CWE-078.ql # OS Command Injection
- codeql/java-queries:Security/CWE/CWE-089.ql # SQL Injection
- codeql/java-queries:Security/CWE/CWE-798.ql # Hard-coded credentials
205 changes: 205 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
name: CI/CD Pipeline

on:
push:
branches: [ main, master, develop, upstream_develop ]
pull_request:
branches: [ main, master, develop ]
schedule:
# Run tests weekly on Sundays at 2 AM UTC
- cron: '0 2 * * 0'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
test:
name: Test Suite
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
java-version: [21, 22]
include:
- java-version: 21
primary: true

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Full history for better analysis

- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-version }}
distribution: 'temurin'
cache: gradle

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

- name: Make gradlew executable
run: chmod +x gradlew

- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2

- name: Run unit tests
run: ./gradlew test --continue --no-daemon
env:
GRADLE_OPTS: -Xmx2g -Dorg.gradle.daemon=false

- name: Run integration tests (non-OSGi)
run: ./gradlew check -x :pnnl.goss.core.itests:testOSGi --continue --no-daemon
env:
GRADLE_OPTS: -Xmx2g -Dorg.gradle.daemon=false

- name: Build project
run: ./gradlew build -x :pnnl.goss.core.itests:testOSGi --no-daemon
env:
GRADLE_OPTS: -Xmx2g -Dorg.gradle.daemon=false

- name: Generate test report
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: Test Results (JDK ${{ matrix.java-version }})
path: '**/generated/test-results/test/TEST-*.xml'
reporter: java-junit
fail-on-error: false

- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: test-results-jdk${{ matrix.java-version }}
path: |
**/generated/test-results/
**/generated/reports/
retention-days: 30

- name: Upload build artifacts (primary JDK only)
if: matrix.primary && (success() || failure())
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: |
**/generated/*.jar
cnf/releaserepo/**/*.jar
retention-days: 90

osgi-integration-tests:
name: OSGi Integration Tests
runs-on: ubuntu-latest
needs: test
if: github.event_name != 'schedule' # Skip on scheduled runs

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

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: 'temurin'
cache: gradle

- name: Make gradlew executable
run: chmod +x gradlew

- name: Run OSGi integration tests
run: ./gradlew :pnnl.goss.core.itests:testOSGi --no-daemon || true
env:
GRADLE_OPTS: -Xmx2g -Dorg.gradle.daemon=false

- name: Upload OSGi test results
if: always()
uses: actions/upload-artifact@v4
with:
name: osgi-test-results
path: |
pnnl.goss.core.itests/generated/test-results/
pnnl.goss.core.itests/generated/reports/
pnnl.goss.core.itests/**/*.log
retention-days: 30

build-runners:
name: Build OSGi Runners
runs-on: ubuntu-latest
needs: test
if: github.event_name != 'schedule'

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

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: 'temurin'
cache: gradle

- name: Make gradlew executable
run: chmod +x gradlew

- name: Build all GOSS bundles
run: ./gradlew :pnnl.goss.core:jar --no-daemon
env:
GRADLE_OPTS: -Xmx2g -Dorg.gradle.daemon=false

- name: Build OSGi runners using BndRunnerPlugin
run: |
./gradlew buildRunner.goss-core --no-daemon
./gradlew buildRunner.goss-core-ssl --no-daemon
env:
GRADLE_OPTS: -Xmx2g -Dorg.gradle.daemon=false

- name: Verify runner JARs created
run: |
ls -lh pnnl.goss.core.runner/generated/runners/
test -f pnnl.goss.core.runner/generated/runners/goss-core-runner.jar
test -f pnnl.goss.core.runner/generated/runners/goss-core-ssl-runner.jar
echo "✅ All runner JARs built successfully"

- name: Upload runner artifacts
if: success()
uses: actions/upload-artifact@v4
with:
name: osgi-runners
path: pnnl.goss.core.runner/generated/runners/*.jar
retention-days: 30

build-status:
name: Build Status
runs-on: ubuntu-latest
needs: [test, osgi-integration-tests, build-runners]
if: always()

steps:
- name: Check build status
run: |
echo "Test job status: ${{ needs.test.result }}"
echo "OSGi job status: ${{ needs.osgi-integration-tests.result }}"
echo "Build runners job status: ${{ needs.build-runners.result }}"

if [[ "${{ needs.test.result }}" == "success" ]] && [[ "${{ needs.build-runners.result }}" == "success" ]]; then
echo "✅ Core build, tests, and runners passed!"
exit 0
else
echo "❌ Build, tests, or runners failed"
exit 1
fi
Loading
Loading