Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update v2 manifest, node versions, and automation #4106

Merged
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
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
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
9 changes: 4 additions & 5 deletions .github/scripts/cicd_test/make_matrix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,14 @@ case $install_test_choice in
test_file="$KEYRING_TESTFILE"
;;

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

"z/OS node v20")
test_file="$ZOS_NODE_V20_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
5 changes: 2 additions & 3 deletions .github/workflows/cicd-test-readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Workflow trigger is at [cicd-test](https://github.com/zowe/zowe-install-packagin
- SMPE PTF
- Extensions
- Keyring
- z/OS node v18
- z/OS node v20
- Non-strict Verify External Certificate
- Install PTF twice
- VSAM Caching storage method
Expand Down Expand Up @@ -109,7 +109,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(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-v18.ts(zzow09,zzow10,zzow11);extended/node-versions/node-v20.ts(zzow09,zzow10,zzow11);extended/certificates/nonstrict-verify-external-certificate.ts(zzow09)
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,7 +121,6 @@ Selected test running elapsed time:
| ---- | ------------ |
| Convenience Pax | 53m |
| SMPE PTF | 68m |
| z/OS node v18 | 45m |
| z/OS node v20 | 45m |
| Keyring | 53m |
| Non-strict Verify External Certificate | 51m |
Expand Down
13 changes: 5 additions & 8 deletions .github/workflows/cicd-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ on:
- SMPE PTF
- Extensions
- Keyring
- z/OS node v18
- z/OS node v20
- z/OS node v22
- Non-strict Verify External Certificate
- Install PTF Twice
- VSAM Caching Storage Method
Expand Down Expand Up @@ -69,8 +69,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 @@ -81,16 +81,16 @@ 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
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(zzow11);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 @@ -298,9 +298,6 @@ jobs:
case 'Keyring':
eta = 53
break;
case 'z/OS node v18':
eta = 45
break;
case 'z/OS node v20':
eta = 45
break;
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/J17.0_64
export PATH=$JAVA_HOME/bin:$PATH
ZOWE_ROOT_DIR="${BASE_DIR}/content"

cd "${BASE_DIR}"
Expand Down
2 changes: 1 addition & 1 deletion bin/libs/node.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export NODE_STDIN_CCSID=1047
# Workaround Fix for node 8.16.1 that requires compatibility mode for untagged files
export __UNTAGGED_READ_MODE=V6

NODE_MIN=16
NODE_MIN=18

ensure_node_is_on_path() {
if [[ ":${PATH}:" != *":${NODE_HOME}/bin:"* ]]; then
Expand Down
2 changes: 1 addition & 1 deletion bin/libs/node.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import * as shell from './shell';
import * as config from './config';
import { PathAPI as pathoid } from './pathoid';

const NODE_MIN_VERSION=16;
const NODE_MIN_VERSION=18;

// enforce encoding of stdio/stdout/stderr
// sometimes /dev/tty* ($SSH_TTY) are not configured properly, for example tagged as binary or wrong encoding
Expand Down
10 changes: 9 additions & 1 deletion manifest.json.template
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@
"version": "~2.0.0-SNAPSHOT"
},
"org.zowe.licenses": {
"version": "2.3.0",
"version": "2.18.0",
"artifact": "zowe_licenses_full.zip"
}
},
Expand Down Expand Up @@ -391,6 +391,14 @@
"tag": "v2.x/master",
"destinations": ["Zowe PAX"]
}]
}, {
"componentGroup": "Zowe Client Python SDK",
"entries": [{
"repository": "zowe-client-python-sdk",
"core": false,
"tag": "main",
"destinations": ["Zowe Client Python SDK"]
}]
}
],
"imageDependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*
* SPDX-License-Identifier: EPL-2.0
*
* Copyright IBM Corporation 2022
* Copyright Zowe Contributors 2024
*/

import {
Expand All @@ -15,9 +15,8 @@ import {
} from '../../../utils';
import { TEST_TIMEOUT_CONVENIENCE_BUILD } from '../../../constants';

// Only runs on zzow11 at time of change (04.2023). See cicd-test.yml and make_matrix.sh.
const testServer = process.env.TEST_SERVER;
const testSuiteName = 'Test convenience build installation with node.js v18';
const testSuiteName = 'Test convenience build installation with node.js v22';
describe(testSuiteName, () => {
beforeAll(() => {
// validate variables
Expand All @@ -33,7 +32,7 @@ describe(testSuiteName, () => {
{
'zowe_build_local': process.env['ZOWE_BUILD_LOCAL'],
'zowe_custom_for_test': 'true',
'zos_node_home': '/ZOWE/node/node-v18.16.0',
'zos_node_home': '/ZOWE/node/node-v22.10.0',
'zowe_lock_keystore': 'false',
}
);
Expand Down
8 changes: 4 additions & 4 deletions workflows/files/ZWELOADC.xml
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@
<![CDATA[
<p>Use this step to define the variables for RACF.</p>
<p>For more information about security system setup and it's variables, please open via right-click in new tab or window and refer to security documentation here
<a href="https://techdocs.broadcom.com/us/en/ca-mainframe-software/traditional-management/mainframe-common-maintenance-procedures/1-0/configure-ca-smp-e-internet-service-retrieval/configure-ibm-racf-security.html">configure RACF security certificates</a>
<a href="a href="https://techdocs.broadcom.com/us/en/ca-mainframe-software/traditional-management/mainframe-common-maintenance-procedures/1-0/configure-ca-smp-e-internet-service-retrieval/obtain-the-certificates-for-ca-smp-e-internet-service-retrieval/configure-ibm-racf-security.html">configure RACF security certificates</a>
or there <a href="https://www.ibm.com/docs/en/zos/2.2.0?topic=syntax-racdcert-add-add-certificate">RACDCERT ADD (Add certificate) command</a>.</p>
]]></instructions>
<weight>1</weight>
Expand Down Expand Up @@ -252,7 +252,7 @@
<instructions substitution="false"><![CDATA[
<p>Use this step to define the variables for ACF2.</p>
<p>For more information about security system setup and it's variables, please open via right-click in new tab or window and refer to security documentation
<a href="https://techdocs.broadcom.com/us/en/ca-mainframe-software/security/ca-acf2-for-z-os/16-0/administrating/digital-certificate-support/process-digital-certificates-with-ca-acf2.html#concept.dita_742faf19321a7e7286b7e3f9b1c1a66acb9562f7_INSERTSubcommand">configure ACF2 security certificates</a>.</p>
<a href="https://techdocs.broadcom.com/us/en/ca-mainframe-software/security/ca-acf2-for-z-os/16-0/administrating/digital-certificate-support/process-digital-certificates-with-acf2/insert-certificates.html">configure ACF2 security certificates</a>.</p>
]]></instructions>
<weight>1</weight>
<skills>Security Administrator</skills>
Expand Down Expand Up @@ -367,7 +367,7 @@
<instructions substitution="true"><![CDATA[
<p>This step will load signed client authentication certificate from the ${instance-output_dataset} into ESM</p>
<p>For more information about security system setup and it's variables, please open via right-click in new tab or window and refer to security documentation here
<a href="https://techdocs.broadcom.com/us/en/ca-mainframe-software/traditional-management/mainframe-common-maintenance-procedures/1-0/configure-ca-smp-e-internet-service-retrieval/configure-ibm-racf-security.html">configure RACF security certificates</a> <br/>
<a href="a href="https://techdocs.broadcom.com/us/en/ca-mainframe-software/traditional-management/mainframe-common-maintenance-procedures/1-0/configure-ca-smp-e-internet-service-retrieval/obtain-the-certificates-for-ca-smp-e-internet-service-retrieval/configure-ibm-racf-security.html">configure RACF security certificates</a> <br/>
or there <a href="https://www.ibm.com/docs/en/zos/2.2.0?topic=syntax-racdcert-add-add-certificate">RACDCERT ADD (Add certificate) command</a>.</p>
]]></instructions>
<weight>1</weight>
Expand Down Expand Up @@ -452,7 +452,7 @@ DCDSN(${instance-output_dataset}) TRUST
<instructions substitution="true"><![CDATA[
<p>This step will load signed client authentication certificate from the ${instance-output_dataset} into ESM</p>
<p>For more information about security system setup and it's variables, please open via right-click in new tab or window and refer to security documentation
<a href="https://techdocs.broadcom.com/us/en/ca-mainframe-software/security/ca-acf2-for-z-os/16-0/administrating/digital-certificate-support/process-digital-certificates-with-ca-acf2.html#concept.dita_742faf19321a7e7286b7e3f9b1c1a66acb9562f7_INSERTSubcommand">configure ACF2 security certificates</a>.</p>
<a href="https://techdocs.broadcom.com/us/en/ca-mainframe-software/security/ca-acf2-for-z-os/16-0/administrating/digital-certificate-support/process-digital-certificates-with-acf2/insert-certificates.html">configure ACF2 security certificates</a>.</p>
]]></instructions>
<weight>1</weight>
<skills>Security Administrator</skills>
Expand Down
Loading