Skip to content

Commit

Permalink
Merge pull request #4189 from zowe/user/markackert/2.18.1-staging-to-rc
Browse files Browse the repository at this point in the history
2.18.1 RC Prep
  • Loading branch information
MarkAckert authored Feb 11, 2025
2 parents 8752645 + 7dcb091 commit 251ce4d
Show file tree
Hide file tree
Showing 91 changed files with 2,598 additions and 895 deletions.
12 changes: 12 additions & 0 deletions .github/lychee.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# This lychee configuration tries to find dead links in zwe, pswi, and smpe files which may be displayed to the user.
# This does not focus on dead links for internal-facing documentation, e.g. README.md.

# We're including language sources as well as document files since the language sources embed URLs
# which can be displayed to the user, e.g. 'zwe' shell script commands displaying help information.

exclude_path = ['smpe/bld/service/_README_sample_sysmod_builds.docx']
# This exclude list covers known urls which should be ignored, including ones which contained
# templated values in typescript. The templates are covered by a wildcard.
exclude = [ 'https://www.eclipse.org/legal/epl-v20.html', 'https://zowe.org/schemas/*', 'https://www.zowe.org/schemas/*', 'https://discovery', 'https://github.com/zowe/launcher/blob/*', 'https://myregistry/url$', 'https://your-zos-host-name/zosmf/*{1,60}', '^http://service.software.ibm.com/holdata/390holddata.html', ]

hidden = true
25 changes: 16 additions & 9 deletions .github/scripts/cicd_test/make_matrix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,22 @@ case $install_test_choice in
test_file="$KEYRING_TESTFILE"
;;

"z/OS node v18")
test_file="$ZOS_NODE_V18_TESTFILE"
test_force_system="zzow08"
;;

"z/OS node v20")
test_file="$ZOS_NODE_V20_TESTFILE"
;;

"z/OS java 11 Pax")
test_file="$ZOS_JAVA_11_PAX_TESTFILE"
;;

"z/OS java 11 Keyring")
test_file="$ZOS_JAVA_11_KYRNG_TESTFILE"
;;

"z/OS node v22")
test_file="$ZOS_NODE_V22_TESTFILE"
;;

"Non-strict Verify External Certificate")
test_file="$NON_STRICT_VERIFY_EXTERNAL_CERTIFICATE_TESTFILE"
;;
Expand Down Expand Up @@ -87,18 +94,18 @@ if [[ ! -z "$test_force_system" ]]; then
else
if [[ -z "$dont_parse_test_server" ]]; then
if [[ "$test_server" == "Any zzow servers" ]]; then
test_server="zzow0"$(echo $(($RANDOM % 3 + 6)))
test_server="zzow"$(printf %02d $(($RANDOM % 3 + 9)))
fi
TEST_FILE_SERVER="$test_file($test_server)"
else
any_occurrence=$(echo $test_file | grep -o "(any)" | wc -l)
interim_test_file_server=$test_file
for i in $(seq $any_occurrence); do
# Generates zzow06, zzow07, zzow08
interim_test_file_server=$(echo $interim_test_file_server | sed "s#(any)#(zzow0$(echo $(($RANDOM % 3 + 6))))#")
# Generates zzow09, zzow10, zzow11
interim_test_file_server=$(echo $interim_test_file_server | sed "s#(any)#(zzow$(printf %02d $(($RANDOM % 3 + 9))))#")
done

TEST_FILE_SERVER=$(echo $interim_test_file_server | sed "s#(all)#(zzow06,zzow07,zzow08)#g")
TEST_FILE_SERVER=$(echo $interim_test_file_server | sed "s#(all)#(zzow09,zzow10,zzow11)#g")
fi
fi

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ TEST_SERVER=$(echo "$MATRIX_SERVER" | cut -d "-" -f2)

case $TEST_SERVER in

"zzow06")
TEST_SERVER_NICKNAME=marist-6
"zzow09")
TEST_SERVER_NICKNAME=marist-9
;;

"zzow07")
TEST_SERVER_NICKNAME=marist-7
"zzow10")
TEST_SERVER_NICKNAME=marist-10
;;

"zzow08")
TEST_SERVER_NICKNAME=marist-8
"zzow11")
TEST_SERVER_NICKNAME=marist-11
;;

*)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# Set outputs
echo ZOWE_ARTIFACTORY_FINAL=$ZOWE_ARTIFACTORY_FINAL >>$GITHUB_OUTPUT
echo ZOWE_ARTIFACTORY_FINAL_FILENAME=$ZOWE_ARTIFACTORY_FINAL_FILENAME >>$GITHUB_OUTPUT
echo NODE_HOME_PATTERN=/ZOWE/node/node-$ZOS_NODE_VERSION-os390-s390x >>$GITHUB_OUTPUT
echo NODE_HOME_PATTERN=/ZOWE/node/node-$ZOS_NODE_VERSION >>$GITHUB_OUTPUT
echo TEST_SERVER=$TEST_SERVER >>$GITHUB_OUTPUT
echo TEST_SERVER_NICKNAME=$TEST_SERVER_NICKNAME >>$GITHUB_OUTPUT
echo EXTENSION_LIST=$EXTENSION_LIST >>$GITHUB_OUTPUT
Expand Down
13 changes: 11 additions & 2 deletions .github/workflows/build-packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,9 @@ jobs:
echo "run_build=${{ (github.event_name == 'workflow_dispatch' && github.event.inputs.ORIGIN_ISSUE_TRIGGER == 'false') || !contains(fromJson(steps.get-labels.outputs.result), 'Build: None') }}" >> $GITHUB_OUTPUT
- id: check-test
name: 'export conditional used to determine if we should run a test suite'
# run_test explanation: if we set "run_build" from the prior step and this is a PR, run unless "Test: None" label is present. If not initiated from a PR, only build.
run: |
echo "run_test=${{ (steps.check-build.outputs.run_build == 'true' && !contains(fromJson(steps.get-labels.outputs.result), 'Test: None')) }}" >> $GITHUB_OUTPUT
echo "run_test=${{ (steps.check-build.outputs.run_build == 'true' && github.event_name != 'workflow_dispatch' && !contains(fromJson(steps.get-labels.outputs.result), 'Test: None')) }}" >> $GITHUB_OUTPUT
display-dispatch-event-id:
if: github.event.inputs.RANDOM_DISPATCH_EVENT_ID != ''
Expand Down Expand Up @@ -344,7 +345,7 @@ jobs:
with:
lock-repository: ${{ github.repository }}
github-token: ${{ secrets.GITHUB_TOKEN }}
lock-resource-name: zowe-psi-build-zzow07-lock
lock-resource-name: zowe-psi-build-zzow10-lock
lock-avg-retry-interval: 60

- name: '[PSWI 0] PSWI pre-build check for existing smpe'
Expand All @@ -367,6 +368,14 @@ jobs:
ZZOW_SSH_PORT: ${{ secrets.SSH_MARIST_ALLSYS_PORT }}
VERSION: ${{ env.P_VERSION }}

- name: Store PSWI folder
uses: actions/upload-artifact@v4
if: env.INPUTS_BUILD_PSWI == 'true' && failure()
with:
name: pswi-folder
path: |
pswi/logs/**
- name: '[K8S] Build Kubernetes'
timeout-minutes: 10
if: env.INPUTS_BUILD_KUBERNETES == 'true'
Expand Down
19 changes: 12 additions & 7 deletions .github/workflows/cicd-test-readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ This guide will describe how you should input into Github Actions workflow input

Currently we support three testing z/OS servers:

- zzow06 (ACF2)
- zzow07 (Top Secret/TSS)
- zzow08 (RACF)
- zzow09 (ACF2)
- zzow10 (Top Secret/TSS)
- zzow11 (RACF)

Testing pipeline is running tests in parallel. The workflow will try to acquire the resource lock if available. If the resource lock is occupied, the workflow will wait until the lock is succesfully acquired.

Expand All @@ -17,7 +17,7 @@ Workflow trigger is at [cicd-test](https://github.com/zowe/zowe-install-packagin
### Choose Test Server

- This input is a choice, and it's mandatory.
- You can choose from one of `zzow06`, `zzow07`, `zzow08`, `zzow06,zzow07,zzow08` (if you want to run the test on all zzow servers), or `Any zzow servers` (pick any zzow servers, potentially help reduce wait time)
- You can choose from one of `zzow09`, `zzow10`, `zzow11`, `zzow09,zzow10,zzow11` (if you want to run the test on all zzow servers), or `Any zzow servers` (pick any zzow servers, potentially help reduce wait time)
- Default is `Any zzow servers`

### Choose Install Test
Expand All @@ -29,7 +29,9 @@ Workflow trigger is at [cicd-test](https://github.com/zowe/zowe-install-packagin
- SMPE PTF
- Extensions
- Keyring
- z/OS node v18
- z/OS java 11 Pax
- z/OS java 11 Keyring
- z/OS node v20
- Non-strict Verify External Certificate
- Install PTF twice
- VSAM Caching storage method
Expand Down Expand Up @@ -109,7 +111,7 @@ Background: CICD testing relies on a `zowe.pax` or `zowe-smpe.zip` (for SMPE ins
When running CICD integration tests during RC stage, the following string will be parsed into the Github Actions matrix. As a result, a total of 21 independent jobs will be spawned.
```
basic/install.ts(zzow06,zzow07,zzow08);basic/install-ptf.ts(zzow06,zzow07,zzow08);basic/install-ext.ts(zzow07);extended/keyring.ts(zzow06,zzow07,zzow08);extended/node-versions/node-v18.ts(zzow06,zzow07,zzow08);extended/node-versions/node-v20.ts(zzow06,zzow07,zzow08);extended/certificates/nonstrict-verify-external-certificate.ts(zzow06)
basic/install.ts(zzow09,zzow10,zzow11);basic/install-ptf.ts(zzow09,zzow10,zzow11);basic/install-ext.ts(zzow10);extended/keyring.ts(zzow09,zzow10,zzow11);extended/node-versions/node-v20.ts(zzow09,zzow10,zzow11);extended/node-versions/node-v20.ts(zzow09,zzow10,zzow11);extended/certificates/nonstrict-verify-external-certificate.ts(zzow09)
```
Total elapsed time when running in parallel is approximately 3.5 hours on paper idealy if all parallel jobs are executing at the same time. In reality, from numerous tests performed, total elapsed time is around 4 hours.
Expand All @@ -121,8 +123,11 @@ Selected test running elapsed time:
| ---- | ------------ |
| Convenience Pax | 53m |
| SMPE PTF | 68m |
| z/OS node v18 | 45m |
| Keyring | 53m |
| z/OS node v20 | 45m |
| z/OS node v22 | 45m |
| z/OS java 11 Pax | 53m |
| z/OS java 11 Keyring | 53m |
| Keyring | 53m |
| Non-strict Verify External Certificate | 51m |
| Extensions | 67m
Expand Down
40 changes: 27 additions & 13 deletions .github/workflows/cicd-test.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
name: Zowe CICD Integration Tests

permissions:
contents: write
issues: write
pull-requests: write
statuses: write

on:
workflow_dispatch:
inputs:
Expand All @@ -9,10 +16,10 @@ on:
default: 'Any zzow servers'
options:
- Any zzow servers
- zzow06
- zzow07
- zzow08
- zzow06,zzow07,zzow08
- zzow09
- zzow10
- zzow11
- zzow09,zzow10,zzow11
install-test:
description: 'Choose Install Test'
type: choice
Expand All @@ -24,8 +31,10 @@ on:
- SMPE PTF
- Extensions
- Keyring
- z/OS node v18
- z/OS node v20
- z/OS node v22
- z/OS java 11 Pax
- z/OS java 11 Keyring
- Non-strict Verify External Certificate
- Install PTF Twice
- VSAM Caching Storage Method
Expand Down Expand Up @@ -62,8 +71,8 @@ env:
DEFAULT_ZOWE_EXT_ARTIFACTORY_PATTERN: libs-snapshot-local/org/zowe/{ext-name}/*/{ext-name}-*.pax

# below block can be overwritten, adjusted by DevOps only
# ZOS_NODE_VERSION more to choose from: v16.20.1, v18.16.0
ZOS_NODE_VERSION: v16.20.1
# ZOS_NODE_VERSION more to choose from: v18.16.0, v20.11.0
ZOS_NODE_VERSION: v18.16.0
CLIENT_NODE_VERSION: v12.18.3
INSTALL_TEST_DEBUG_INFORMATION: zowe-install-test:*
SANITY_TEST_DEBUG_INFORMATION: zowe-sanity-test:*
Expand All @@ -74,16 +83,18 @@ env:
SMPE_PTF_TESTFILE: basic/install-ptf.ts
EXTENSIONS_TESTFILE: basic/install-ext.ts
KEYRING_TESTFILE: extended/keyring.ts
ZOS_NODE_V18_TESTFILE: extended/node-versions/node-v18.ts
ZOS_NODE_V20_TESTFILE: extended/node-versions/node-v20.ts
ZOS_NODE_V22_TESTFILE: extended/node-versions/node-v22.ts
ZOS_JAVA_11_PAX_TESTFILE: extended/java-versions/java11/install-pax.ts
ZOS_JAVA_11_KYRNG_TESTFILE: extended/java-versions/java11/install-keyring.ts
NON_STRICT_VERIFY_EXTERNAL_CERTIFICATE_TESTFILE: extended/certificates/nonstrict-verify-external-certificate.ts
INSTALL_PTF_TWICE_TESTFILE: extended/install-ptf-two-times.ts
VSAM_CACHING_STORAGE_METHOD_TESTFILE: extended/caching-storages/vsam-storage.ts
INFINISPAN_CACHING_STORAGE_METHOD_TESTFILE: extended/caching-storages/infinispan-storage.ts
CONFIG_MANAGER_TESTFILE: extended/config-manager/enable-config-manager.ts
GENERAL_API_DOCUMENTATION_TESTFILE: basic/install-api-gen.ts
ZOWE_NIGHTLY_TESTS_FULL: basic/install.ts(all);basic/install-ptf.ts(all)
ZOWE_RELEASE_TESTS_FULL: basic/install.ts(all);basic/install-ptf.ts(all);basic/install-ext.ts(any);extended/keyring.ts(all);extended/node-versions/node-v18.ts(zzow08);extended/node-versions/node-v20.ts(any);extended/certificates/nonstrict-verify-external-certificate.ts(any);extended/caching-storages/infinispan-storage.ts(any);extended/config-manager/enable-config-manager.ts(any)
ZOWE_RELEASE_TESTS_FULL: basic/install.ts(all);basic/install-ptf.ts(all);basic/install-ext.ts(any);extended/keyring.ts(all);extended/node-versions/node-v20.ts(any);extended/node-versions/node-v22.ts(any);extended/certificates/nonstrict-verify-external-certificate.ts(any);extended/caching-storages/infinispan-storage.ts(any);extended/config-manager/enable-config-manager.ts(any)

jobs:
display-dispatch-event-id:
Expand Down Expand Up @@ -291,12 +302,15 @@ jobs:
case 'Keyring':
eta = 53
break;
case 'z/OS node v18':
eta = 45
break;
case 'z/OS node v20':
eta = 45
break;
case 'z/OS java 11 Pax':
eta = 53
break;
case 'z/OS java 11 Keyring':
eta = 53
break;q
case 'Infinispan Caching Storage Method':
eta = 51
break;
Expand Down Expand Up @@ -378,7 +392,7 @@ jobs:
- name: '[After Test 2] Upload test report'
if: always()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: InstallTestReports-${{ env.TEST_NAME }}-${{ steps.more-test-prep.outputs.TEST_SERVER_NICKNAME }}-${{ github.run_id }}-${{ env.CURRENT_TIME }}
path: ${{ env.INSTALL_TEST_PATH }}/reports/
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/diff-schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- name: '[Build] Make diff'
run: git diff ${{ env.FROM }} ${{ env.TO }} -- schemas > schemas.diff
- name: '[Upload]'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: schemas.diff
path: schemas.diff
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/diff-yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- name: '[Build] Make diff'
run: git diff ${{ env.FROM }} ${{ env.TO }} -- example-zowe.yaml > example-yaml.diff
- name: '[Upload]'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: example-yaml.diff
path: example-yaml.diff
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/link-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# This link checker focuses on covering end-user facing links, not developer documentation.
# This means we cover the smp/e, pswi, and zwe content.
# The lychee toml files are set to ignore links which popped up in comments or variables.
permissions: read-all

name: Link Check CI

on:
pull_request:
types: [opened, synchronize]
push:
branches:
- 'v3.x/staging'
- 'v2.x/staging'
workflow_dispatch:

jobs:
lychee-link-check:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@f81112d0d2814ded911bd23e3beaa9dda9093915 # v2.1.0
with:
fail: true
format: json
output: lychee_output.json
args: --config ./.github/lychee.toml --no-progress --verbose --max-retries 10 'bin/**/*' 'smpe/**/*' 'workflows/**/*'

- name: Output failed links in console
id: quick-output
if: always()
run: |
if [[ -f "lychee_output.json" ]]; then
jq .fail_map lychee_output.json
else
echo "lychee command failed and didn't produce output"
fi
- name: Publish Output
id: publish
if: always()
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
with:
name: lychee_results.json
path: lychee_output.json
7 changes: 4 additions & 3 deletions .pax/pre-packaging.sh
Original file line number Diff line number Diff line change
Expand Up @@ -190,9 +190,10 @@ BASE_DIR=$(
pwd
) # <something>/.pax

# use node v16 to build
export NODE_HOME=/ZOWE/node/node-v16.20.1-os390-s390x

# use node v18 to build
export NODE_HOME=/ZOWE/node/node-v18.16.0
export JAVA_HOME=/ZOWE/node/J8.0_64
export PATH=$JAVA_HOME/bin:$PATH
ZOWE_ROOT_DIR="${BASE_DIR}/content"

cd "${BASE_DIR}"
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ All notable changes to the Zowe Installer will be documented in this file.

#### Minor enhancements/defect fixes

## `2.18.1`
- Bugfix: When logging `zwe` command, sometimes the log has wrong file tag and the log is unreadable. [#4068](https://github.com/zowe/zowe-install-packaging/pull/4068)
- Bugfix: When `--log-dir` parameter for `zwe` command is a file, there might be an error "InternalError: stack overflow". [#4063](https://github.com/zowe/zowe-install-packaging/pull/4063)
- Bugfix: Error message `ZWEL0141E` did not print user ID. [#3971](https://github.com/zowe/zowe-install-packaging/pull/3971)

## `2.17.0`

## New features and enhancements
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,3 +192,10 @@ Please check details in [playbooks folder](playbooks/README.md).
## Quick Sanity Check on Your Zowe Instance

Please check details in [sanity test folder](tests/sanity/README.md).

<p>Hosting infrastructure for this project is supported by:</p>
<p>
<a href="https://www.digitalocean.com/?refcode=77a4454d32a1&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge">
<img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" width="201px">
</a>
</p>
3 changes: 2 additions & 1 deletion bin/commands/.errors
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,5 @@ ZWEL0200E||Failed to copy USS file %s to MVS data set %s.
ZWEL0201E||File %s does not exist.
ZWEL0202E||Unable to find samplib key for %s.
ZWEL0203E||Env value in key-value pair %s has not been defined.
ZWEL0316E||Command requires zowe.useConfigmgr=true to use.
ZWEL0316E||Command requires zowe.useConfigmgr=true to use.
ZWEL0319E||NodeJS required but not found. Errors such as ZWEL0157E may occur as a result. The value 'node.home' in the Zowe YAML is not correct.
Loading

0 comments on commit 251ce4d

Please sign in to comment.