Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
3d9f2d8
Run the UI tests as groups to prevent timeout error. (#1456)
anusreelakshmi934 Nov 13, 2025
5c4b582
seperate workflow files for all 3 os
anusreelakshmi934 Nov 18, 2025
879ea00
Clearer names to test groups.
anusreelakshmi934 Nov 18, 2025
8a334ed
Update cronJob.yaml
anusreelakshmi934 Nov 18, 2025
abd3daf
Update cronJob.yaml
anusreelakshmi934 Nov 18, 2025
dc71575
naming correct
anusreelakshmi934 Nov 18, 2025
95e28ab
Update cronJob.yaml
anusreelakshmi934 Nov 18, 2025
1f33151
run as seperate cronjobs
anusreelakshmi934 Nov 18, 2025
4cb4637
on push
anusreelakshmi934 Nov 18, 2025
4f83518
Revert "on push"
anusreelakshmi934 Nov 18, 2025
3c96bfc
artifact names
anusreelakshmi934 Nov 19, 2025
5f1037a
change main to clean-up-cron-job
anusreelakshmi934 Nov 19, 2025
815e517
Reapply "on push"
anusreelakshmi934 Nov 19, 2025
f9d7219
naming builds
anusreelakshmi934 Nov 19, 2025
18e22a4
checkout clean-up-cron-job instead of LTI main for tests to pass
anusreelakshmi934 Nov 19, 2025
39dd863
avoid code duplication
anusreelakshmi934 Nov 20, 2025
5188ee7
added gha name tags to test files
anusreelakshmi934 Nov 20, 2025
b9c5acf
change cron job time
anusreelakshmi934 Dec 5, 2025
07652ce
Update build.yaml
anusreelakshmi934 Dec 5, 2025
443b273
added tags '25.0.8-CI/CD' and '25.0.9-CI/CD'
anusreelakshmi934 Dec 5, 2025
b878016
Merge remote-tracking branch 'upstream/main' into clean-up-cron-job
anusreelakshmi934 Dec 5, 2025
f7f590e
Update build.yaml
anusreelakshmi934 Dec 5, 2025
523120b
renamed branch
anusreelakshmi934 Dec 5, 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
122 changes: 122 additions & 0 deletions .github/workflows/build-linux.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: Linux Builds

on:
workflow_call:
inputs:
refLsp4ij:
description: 'Reference/branch for Lsp4ij checkout'
type: string
required: true
default: main
lsp4ijBranch:
description: 'PR number or branch name for Artifact upload'
type: string
required: true
useLocalPlugin:
description: 'Use lsp4ij locally'
required: true
type: boolean
default: false
refLTITag:
description: 'Reference LTI Tag/Branch'
type: string
required: true
default: main

jobs:
linux-tests:
runs-on: ubuntu-latest
name: ${{ matrix.test-group }}
strategy:
fail-fast: false
matrix:
test-group: [ LSP4Jakarta-Unit-Tests, Maven-MicroProfile-Tests, Gradle-MicroProfile-Tests, Maven-Custom-Liberty-Installation, Gradle-Custom-Liberty-Installation, Maven-MicroProfile-RunDebugCreation, Gradle-MicroProfile-RunDebugCreation, Maven-MicroProfile-SpaceInDirectory, Gradle-MicroProfile-SpaceInDirectory, Maven-NonLibertyTools-REST, Gradle-NonLibertyTools-REST, Liberty-Config-Language-Server, MicroProfile-Language-Server, Jakarta-Language-Server, Maven-Multi-Module-MicroProfile ]
include:
- test-group: LSP4Jakarta-Unit-Tests
test-class: "io.openliberty.tools.intellij.lsp4jakarta.it.*"
- test-group: Maven-MicroProfile-Tests
test-class: io.openliberty.tools.intellij.it.MavenSingleModMPProjectTest
- test-group: Gradle-MicroProfile-Tests
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPProjectTest
- test-group: Maven-Custom-Liberty-Installation
test-class: io.openliberty.tools.intellij.it.MavenSingleModCustomWLPInstallProjectTest
- test-group: Gradle-Custom-Liberty-Installation
test-class: io.openliberty.tools.intellij.it.GradleSingleModCustomWLPInstallProjectTest
- test-group: Maven-MicroProfile-RunDebugCreation
test-class: io.openliberty.tools.intellij.it.MavenSingleModMPCfgProjectTest
- test-group: Gradle-MicroProfile-RunDebugCreation
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPCfgProjectTest
- test-group: Maven-MicroProfile-SpaceInDirectory
test-class: io.openliberty.tools.intellij.it.MavenSingleModMPSIDProjectTest
- test-group: Gradle-MicroProfile-SpaceInDirectory
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPSIDProjectTest
- test-group: Maven-NonLibertyTools-REST
test-class: io.openliberty.tools.intellij.it.MavenSingleModNLTRestProjectTest
- test-group: Gradle-NonLibertyTools-REST
test-class: io.openliberty.tools.intellij.it.GradleSingleModNLTRestProjectTest
- test-group: Liberty-Config-Language-Server
test-class: io.openliberty.tools.intellij.it.GradleSingleModLSTest
- test-group: MicroProfile-Language-Server
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPLSTest
- test-group: Jakarta-Language-Server
test-class: io.openliberty.tools.intellij.it.GradleSingleModJakartaLSTest
- test-group: Maven-Multi-Module-MicroProfile
test-class: io.openliberty.tools.intellij.it.MavenMPMultipleProjectTest
env:
USE_LOCAL_PLUGIN: ${{ inputs.useLocalPlugin || false }}
REF_LSP4IJ: ${{ inputs.refLsp4ij }}
LSP4IJ_BRANCH: ${{ inputs.lsp4ijBranch }}
REF_LTI_TAG: ${{ inputs.refLTITag }}
TEST_CLASS: ${{ matrix.test-class }}
steps:
- name: 'Checkout liberty-tools-intellij'
uses: actions/checkout@v4
with:
path: liberty-tools-intellij
ref: ${{ env.REF_LTI_TAG }}
- name: 'Install required integration test software'
working-directory: ./liberty-tools-intellij
run: bash ./src/test/resources/ci/scripts/setup.sh

# Checkout and build lsp4ij only if USE_LOCAL_PLUGIN is true
- name: 'Checkout lsp4ij'
if: ${{ inputs.useLocalPlugin == true }}
uses: actions/checkout@v4
with:
repository: redhat-developer/lsp4ij
path: lsp4ij
ref: ${{ env.REF_LSP4IJ }}
- name: 'Build Lsp4ij'
if: ${{ inputs.useLocalPlugin == true }}
working-directory: ./lsp4ij
run: bash ./gradlew buildPlugin
- name: 'Unzip lsp4ij file'
if: ${{ inputs.useLocalPlugin == true }}
working-directory: ./lsp4ij/build/distributions
run: |
unzip -o '*.zip' -d .

- name: 'Build Liberty-Tools-Intellij'
working-directory: ./liberty-tools-intellij
run: bash ./gradlew buildPlugin -PuseLocal=${{ env.USE_LOCAL_PLUGIN }}
- name: 'Archive artifacts'
if: ${{ matrix.test-group == 'LSP4Jakarta-Unit-Tests' && !failure() }}
uses: actions/[email protected]
with:
name: liberty-tools-intellij-LTI-${{ env.REF_LTI_TAG || 'default' }}-LSP4IJ-${{ env.LSP4IJ_BRANCH || 'default' }}
path: |
./**/*liberty-tools-intellij*.zip
./**/libs/*liberty-tools-intellij*.jar
if-no-files-found: warn
retention-days: 7
- name: 'Run tests'
id: run_tests
working-directory: ./liberty-tools-intellij
run: bash ./src/test/resources/ci/scripts/run.sh
- name: 'Archive Test logs and reports'
if: ${{ failure() && steps.run_tests.conclusion == 'failure' }}
uses: actions/[email protected]
with:
name: linux-${{ matrix.test-group }}-test-report-LTI-${{ env.REF_LTI_TAG || 'default' }}-LSP4IJ-${{ env.LSP4IJ_BRANCH || 'default' }}
path: |
liberty-tools-intellij/build/reports/
110 changes: 110 additions & 0 deletions .github/workflows/build-mac.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: Mac Builds

on:
workflow_call:
inputs:
refLsp4ij:
description: 'Reference/branch for Lsp4ij checkout'
type: string
required: true
default: main
lsp4ijBranch:
description: 'PR number or branch name for Artifact upload'
type: string
required: true
useLocalPlugin:
description: 'Use lsp4ij locally'
required: true
type: boolean
default: false
refLTITag:
description: 'Reference LTI Tag/Branch'
type: string
required: true
default: main

jobs:
mac-tests:
runs-on: macOS-14
name: ${{ matrix.test-group }}
strategy:
fail-fast: false
matrix:
test-group: [ Maven-MicroProfile-Tests, Gradle-MicroProfile-Tests, Maven-Custom-Liberty-Installation, Gradle-Custom-Liberty-Installation, Maven-MicroProfile-RunDebugCreation, Gradle-MicroProfile-RunDebugCreation, Maven-MicroProfile-SpaceInDirectory, Gradle-MicroProfile-SpaceInDirectory, Maven-NonLibertyTools-REST, Gradle-NonLibertyTools-REST, Liberty-Config-Language-Server, MicroProfile-Language-Server, Jakarta-Language-Server, Maven-Multi-Module-MicroProfile ]
include:
- test-group: Maven-MicroProfile-Tests
test-class: io.openliberty.tools.intellij.it.MavenSingleModMPProjectTest
- test-group: Gradle-MicroProfile-Tests
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPProjectTest
- test-group: Maven-Custom-Liberty-Installation
test-class: io.openliberty.tools.intellij.it.MavenSingleModCustomWLPInstallProjectTest
- test-group: Gradle-Custom-Liberty-Installation
test-class: io.openliberty.tools.intellij.it.GradleSingleModCustomWLPInstallProjectTest
- test-group: Maven-MicroProfile-RunDebugCreation
test-class: io.openliberty.tools.intellij.it.MavenSingleModMPCfgProjectTest
- test-group: Gradle-MicroProfile-RunDebugCreation
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPCfgProjectTest
- test-group: Maven-MicroProfile-SpaceInDirectory
test-class: io.openliberty.tools.intellij.it.MavenSingleModMPSIDProjectTest
- test-group: Gradle-MicroProfile-SpaceInDirectory
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPSIDProjectTest
- test-group: Maven-NonLibertyTools-REST
test-class: io.openliberty.tools.intellij.it.MavenSingleModNLTRestProjectTest
- test-group: Gradle-NonLibertyTools-REST
test-class: io.openliberty.tools.intellij.it.GradleSingleModNLTRestProjectTest
- test-group: Liberty-Config-Language-Server
test-class: io.openliberty.tools.intellij.it.GradleSingleModLSTest
- test-group: MicroProfile-Language-Server
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPLSTest
- test-group: Jakarta-Language-Server
test-class: io.openliberty.tools.intellij.it.GradleSingleModJakartaLSTest
- test-group: Maven-Multi-Module-MicroProfile
test-class: io.openliberty.tools.intellij.it.MavenMPMultipleProjectTest
env:
USE_LOCAL_PLUGIN: ${{ inputs.useLocalPlugin || false }}
REF_LSP4IJ: ${{ inputs.refLsp4ij }}
LSP4IJ_BRANCH: ${{ inputs.lsp4ijBranch }}
REF_LTI_TAG: ${{ inputs.refLTITag }}
TEST_CLASS: ${{ matrix.test-class }}
steps:
- name: 'Checkout liberty-tools-intellij'
uses: actions/checkout@v4
with:
path: liberty-tools-intellij
ref: ${{ env.REF_LTI_TAG }}
- name: 'Install required integration test software'
working-directory: ./liberty-tools-intellij
run: bash ./src/test/resources/ci/scripts/setup.sh

# Checkout and build lsp4ij only if USE_LOCAL_PLUGIN is true
- name: 'Checkout lsp4ij'
if: ${{ inputs.useLocalPlugin == true }}
uses: actions/checkout@v4
with:
repository: redhat-developer/lsp4ij
path: lsp4ij
ref: ${{ env.REF_LSP4IJ }}
- name: 'Build Lsp4ij'
if: ${{ inputs.useLocalPlugin == true }}
working-directory: ./lsp4ij
run: bash ./gradlew buildPlugin
- name: 'Unzip lsp4ij file'
if: ${{ inputs.useLocalPlugin == true }}
working-directory: ./lsp4ij/build/distributions
run: |
unzip -o '*.zip' -d .

- name: 'Build Liberty-Tools-Intellij'
working-directory: ./liberty-tools-intellij
run: bash ./gradlew buildPlugin -PuseLocal=${{ env.USE_LOCAL_PLUGIN }}
- name: 'Run tests'
id: run_tests
working-directory: ./liberty-tools-intellij
run: bash ./src/test/resources/ci/scripts/run.sh
- name: 'Archive Test logs and reports'
if: ${{ failure() && steps.run_tests.conclusion == 'failure' }}
uses: actions/[email protected]
with:
name: mac-${{ matrix.test-group }}-test-report-LTI-${{ env.REF_LTI_TAG || 'default' }}-LSP4IJ-${{ env.LSP4IJ_BRANCH || 'default' }}
path: |
liberty-tools-intellij/build/reports/
116 changes: 116 additions & 0 deletions .github/workflows/build-windows.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
name: Windows Builds

on:
workflow_call:
inputs:
refLsp4ij:
description: 'Reference/branch for Lsp4ij checkout'
type: string
required: true
default: main
lsp4ijBranch:
description: 'PR number or branch name for Artifact upload'
type: string
required: true
useLocalPlugin:
description: 'Use lsp4ij locally'
required: true
type: boolean
default: false
refLTITag:
description: 'Reference LTI Tag/Branch'
type: string
required: true
default: main

jobs:
windows-tests:
runs-on: windows-latest
name: ${{ matrix.test-group }}
strategy:
fail-fast: false
matrix:
test-group: [ Maven-MicroProfile-Tests, Gradle-MicroProfile-Tests, Maven-Custom-Liberty-Installation, Gradle-Custom-Liberty-Installation, Maven-MicroProfile-RunDebugCreation, Gradle-MicroProfile-RunDebugCreation, Maven-MicroProfile-SpaceInDirectory, Gradle-MicroProfile-SpaceInDirectory, Maven-NonLibertyTools-REST, Gradle-NonLibertyTools-REST, Liberty-Config-Language-Server, MicroProfile-Language-Server, Jakarta-Language-Server, Maven-Multi-Module-MicroProfile ]
include:
- test-group: Maven-MicroProfile-Tests
test-class: io.openliberty.tools.intellij.it.MavenSingleModMPProjectTest
- test-group: Gradle-MicroProfile-Tests
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPProjectTest
- test-group: Maven-Custom-Liberty-Installation
test-class: io.openliberty.tools.intellij.it.MavenSingleModCustomWLPInstallProjectTest
- test-group: Gradle-Custom-Liberty-Installation
test-class: io.openliberty.tools.intellij.it.GradleSingleModCustomWLPInstallProjectTest
- test-group: Maven-MicroProfile-RunDebugCreation
test-class: io.openliberty.tools.intellij.it.MavenSingleModMPCfgProjectTest
- test-group: Gradle-MicroProfile-RunDebugCreation
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPCfgProjectTest
- test-group: Maven-MicroProfile-SpaceInDirectory
test-class: io.openliberty.tools.intellij.it.MavenSingleModMPSIDProjectTest
- test-group: Gradle-MicroProfile-SpaceInDirectory
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPSIDProjectTest
- test-group: Maven-NonLibertyTools-REST
test-class: io.openliberty.tools.intellij.it.MavenSingleModNLTRestProjectTest
- test-group: Gradle-NonLibertyTools-REST
test-class: io.openliberty.tools.intellij.it.GradleSingleModNLTRestProjectTest
- test-group: Liberty-Config-Language-Server
test-class: io.openliberty.tools.intellij.it.GradleSingleModLSTest
- test-group: MicroProfile-Language-Server
test-class: io.openliberty.tools.intellij.it.GradleSingleModMPLSTest
- test-group: Jakarta-Language-Server
test-class: io.openliberty.tools.intellij.it.GradleSingleModJakartaLSTest
- test-group: Maven-Multi-Module-MicroProfile
test-class: io.openliberty.tools.intellij.it.MavenMPMultipleProjectTest
env:
USE_LOCAL_PLUGIN: ${{ inputs.useLocalPlugin || false }}
REF_LSP4IJ: ${{ inputs.refLsp4ij }}
LSP4IJ_BRANCH: ${{ inputs.lsp4ijBranch }}
REF_LTI_TAG: ${{ inputs.refLTITag }}
TEST_CLASS: ${{ matrix.test-class }}
steps:
- name: Configure pagefile
uses: al-cheb/[email protected]
with:
minimum-size: 8GB
maximum-size: 10GB
disk-root: "C:"
- name: 'Checkout liberty-tools-intellij'
uses: actions/checkout@v4
with:
path: liberty-tools-intellij
ref: ${{ env.REF_LTI_TAG }}
- name: 'Install required integration test software'
working-directory: ./liberty-tools-intellij
run: bash ./src/test/resources/ci/scripts/setup.sh

# Checkout and build lsp4ij only if USE_LOCAL_PLUGIN is true
- name: 'Checkout lsp4ij'
if: ${{ inputs.useLocalPlugin == true }}
uses: actions/checkout@v4
with:
repository: redhat-developer/lsp4ij
path: lsp4ij
ref: ${{ env.REF_LSP4IJ }}
- name: 'Build Lsp4ij'
if: ${{ inputs.useLocalPlugin == true }}
working-directory: ./lsp4ij
run: bash ./gradlew buildPlugin
- name: 'Unzip lsp4ij file'
if: ${{ inputs.useLocalPlugin == true }}
working-directory: ./lsp4ij/build/distributions
run: |
unzip -o '*.zip' -d .

- name: 'Build Liberty-Tools-Intellij'
working-directory: ./liberty-tools-intellij
run: bash ./gradlew buildPlugin -PuseLocal=${{ env.USE_LOCAL_PLUGIN }}
- name: 'Run tests'
id: run_tests
working-directory: ./liberty-tools-intellij
run: bash ./src/test/resources/ci/scripts/run.sh
- name: 'Archive Test logs and reports'
if: ${{ failure() && steps.run_tests.conclusion == 'failure' }}
uses: actions/[email protected]
with:
name: windows-${{ matrix.test-group }}-test-report-LTI-${{ env.REF_LTI_TAG || 'default' }}-LSP4IJ-${{ env.LSP4IJ_BRANCH || 'default' }}
path: |
liberty-tools-intellij/build/reports/
Loading
Loading