This is an automated email from the ASF dual-hosted git repository.
shanedell pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/daffodil-vscode.git
The following commit(s) were added to refs/heads/main by this push:
new 095129c Multiple CI updates:
095129c is described below
commit 095129cdee8200e7c7e17709c6d788f1a5158b96
Author: Shane Dell <[email protected]>
AuthorDate: Tue Nov 7 08:30:33 2023 -0500
Multiple CI updates:
- Add matrix to test different Java versions to main CI and nightly CI.
- Cleaned up the CI workflow file a bit.
- The steps were too compacted, believe new layout makes it easier to
read and follow.
- Add java_version to job names.
- Remove sbt compile from windows jobs, seemed to cause windows issues with
jaxb.
- Believe the nightly CI maybe fixed with this update.
- Possibly fixes #855 but will wait to see if a nightly build passes before
closing.
Closes #772
---
.github/workflows/CI.yml | 123 ++++++++++++++++++++++++++++++------------
.github/workflows/nightly.yml | 46 +++++++++++-----
2 files changed, 124 insertions(+), 45 deletions(-)
diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index c857268..b67c115 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -42,82 +42,139 @@ jobs:
code-format:
name: TypeScript/Scala/Svelte Formatting
- runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ java_distribution: [ temurin ]
+ java_version: [ 8 ]
+ os: [ ubuntu-20.04 ]
+ node: [ '16' ]
+ runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
env:
SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m
-J-XX:MaxMetaspaceSize=1024m ++2.12.15
steps:
- - uses: actions/[email protected]
- - name: Setup Node 16
- uses: actions/[email protected]
- with:
- node-version: '16'
- - name: Setup Java 8
+ ############################################################
+ # Setup
+ ############################################################
+
+ - name: Check out Repository
+ uses: actions/[email protected]
+
+ - name: Setup Java
uses: actions/[email protected]
with:
- distribution: temurin
- java-version: 8
- - run: $SBT scalafmtCheck
- - run: $SBT scalafmtSbtCheck
- - run: yarn install
- - run: yarn lint
+ distribution: ${{ matrix.java_distribution }}
+ java-version: ${{ matrix.java_version }}
+
+ - name: Install Node.js
+ uses: actions/[email protected]
+ with:
+ node-version: ${{ matrix.node }}
+
+ ############################################################
+ # Lint/format checks
+ ############################################################
+
+ - name: Scala format check
+ run: $SBT scalafmtCheck
+
+ - name: Scala sbt format check
+ run: $SBT scalafmtSbtCheck
+
+ - name: Install node dependencies
+ run: yarn install
+
+ - name: TypeScript lint
+ run: yarn lint
rat-check:
name: Rat Check
- runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ java_distribution: [ temurin ]
+ java_version: [ 8 ]
+ os: [ ubuntu-20.04 ]
+ runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
env:
SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m
-J-XX:MaxMetaspaceSize=1024m ++2.12.15
steps:
- - name: Setup Java 8
- uses: actions/[email protected]
- with:
- distribution: temurin
- java-version: 8
+ ############################################################
+ # Setup
+ ############################################################
+
- name: Check out Repository
uses: actions/[email protected]
with:
fetch-depth: 0
+
+ - name: Setup Java
+ uses: actions/[email protected]
+ with:
+ distribution: ${{ matrix.java_distribution }}
+ java-version: ${{ matrix.java_version }}
+
+ ############################################################
+ # Rat check
+ ############################################################
+
- name: Run Rat Check
run: $SBT ratCheck || (cat target/rat.txt; exit 1)
build-test-package:
- name: 'Build, Test, and Package (OS: ${{ matrix.os }}, Node: ${{
matrix.node }})'
+ name: 'Build, Test, and Package (OS: ${{ matrix.os }}, Node: ${{
matrix.node }}, Java: ${{ matrix.java_version }})'
strategy:
matrix:
- os: [macos-11, ubuntu-20.04, windows-2019]
+ java_distribution: [ temurin ]
+ java_version: [ 8, 11, 17 ]
+ os: [ macos-11, ubuntu-20.04, windows-2019 ]
node: [ '16', '18' ]
fail-fast: false # don't immediately fail all other jobs if a single
job fails
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
- env:
- SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m
-J-XX:MaxMetaspaceSize=1024m ++2.12.15
steps:
- - name: Setup Java 8
+ ############################################################
+ # Setup
+ ############################################################
+
+ - name: Check out Repository
+ uses: actions/[email protected]
+
+ - name: Setup Java
uses: actions/[email protected]
with:
- distribution: temurin
- java-version: 8
- - uses: actions/[email protected]
+ distribution: ${{ matrix.java_distribution }}
+ java-version: ${{ matrix.java_version }}
+
- name: Install Node.js
uses: actions/[email protected]
with:
- node-version: ${{ matrix.node}}
- - run: $SBT compile # used to initialize sbt, if not done sbt
universal:packageBin ran by yarn package times out -- windows only
- if: runner.os == 'Windows'
- - run: yarn install
- - run: xvfb-run -a yarn test
+ node-version: ${{ matrix.node }}
+
+ ############################################################
+ # Build & Package
+ ############################################################
+
+ - name: Install node dependencies
+ run: yarn install
+
+ - name: Runs tests - Linux
+ run: xvfb-run -a yarn test
if: runner.os == 'Linux'
- - run: yarn test
+
+ - name: Runs tests - Windows/Mac
+ run: yarn test
if: runner.os != 'Linux'
+
- name: Check for Errors in macOS
run: tail -n 1000 '/Users/runner/Library/Application
Support/omega_edit/'* && exit 1
if: failure() && runner.os == 'macOS'
+
- name: Package
run: yarn package
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index ea1d08f..5a03289 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -23,12 +23,14 @@ on:
jobs:
build-test-package:
- name: 'Build, Test, and Package (OS: ${{ matrix.os }}, Node: ${{
matrix.node }}, VS Code: ${{ matrix.vscode }} )'
+ name: 'Build, Test, and Package (OS: ${{ matrix.os }}, Node: ${{
matrix.node }}, Java: ${{ matrix_java_version }}, VS Code: ${{ matrix.vscode }}
)'
strategy:
matrix:
os: [ macos-11, ubuntu-20.04, windows-2019, macos-latest,
ubuntu-latest, windows-latest ]
node: [ '16', '18' ]
vscode: [ 'stable', 'insiders' ]
+ java_distribution: [ temurin ]
+ java_version: [ 8, 11, 17 ]
fail-fast: false # don't immediately fail all other jobs if a single
job fails
runs-on: ${{ matrix.os }}
defaults:
@@ -36,23 +38,43 @@ jobs:
shell: bash
env:
DAFFODIL_TEST_VSCODE_VERSION: ${{ matrix.vscode }}
- SBT: sbt -J-Xms1024m -J-Xmx5120m -J-XX:ReservedCodeCacheSize=512m
-J-XX:MaxMetaspaceSize=1024m ++2.12.15
steps:
- - name: Setup Java 8
+ ############################################################
+ # Setup
+ ############################################################
+
+ - name: Check out Repository
+ uses: actions/[email protected]
+
+ - name: Setup Java
uses: actions/[email protected]
with:
- distribution: temurin
- java-version: 8
- - uses: actions/[email protected]
+ distribution: ${{ matrix.java_distribution }}
+ java-version: ${{ matrix.java_version }}
+
- name: Install Node.js
uses: actions/[email protected]
with:
node-version: ${{ matrix.node }}
- - run: $SBT compile # used to initialize sbt, if not done sbt
universal:packageBin ran by yarn package times out -- windows only
- if: runner.os == 'Windows'
- - run: yarn install
- - run: yarn package
- - run: xvfb-run -a yarn test
+
+ ############################################################
+ # Build & Package
+ ############################################################
+
+ - name: Install node dependencies
+ run: yarn install
+
+ - name: Runs tests - Linux
+ run: xvfb-run -a yarn test
if: runner.os == 'Linux'
- - run: yarn test
+
+ - name: Runs tests - Windows/Mac
+ run: yarn test
if: runner.os != 'Linux'
+
+ - name: Check for Errors in macOS
+ run: tail -n 1000 '/Users/runner/Library/Application
Support/omega_edit/'* && exit 1
+ if: failure() && runner.os == 'macOS'
+
+ - name: Package
+ run: yarn package