Skip to content

Commit 8c5f8e1

Browse files
committed
2 parents 797accc + c137e98 commit 8c5f8e1

File tree

12 files changed

+155
-372
lines changed

12 files changed

+155
-372
lines changed

CONTRIBUTING.md

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,38 @@ Please request new features via the issue tracker. When requesting features, try
2222

2323
If you're thinking of fixing a bug or adding new features, be sure to open an issue first. This gives us a place to have a discussion about the work.
2424

25+
### Setting up your development environment
26+
27+
First of all, install Zowe CLI. Our plug-in is designed to work with the `lts-incremental` version.
28+
```console
29+
npm config set @brightside:registry https://api.bintray.com/npm/ca/brightside
30+
npm install @brightside/core@lts-lncremental
31+
```
32+
33+
In order to make code changes to the cics-deploy plugin, you'll need to fork the repository, and build the plugin from source.
34+
35+
```console
36+
git clone https://github.com/<your_github_id>/zowe-cli-cics-deploy-plugin
37+
cd zowe-cli-cics-deploy-plugin
38+
npm install
39+
npm run build
40+
zowe plugins install .
41+
```
42+
43+
### Developing the cics-deploy plug-in
44+
45+
As a plug-in for Zowe CLI, we aim to follow their guidelines. Our plugin is based on the Imperative CLI framework.
46+
47+
| For more information about ... | See: |
48+
| ------------------------------ | ----- |
49+
| Conventions and best practices for creating packages and plug-ins for Zowe CLI | [Package and Plug-in Guidelines](https://github.com/zowe/zowe-cli/blob/master/docs/PackagesAndPluginGuidelines.md)|
50+
| Guidelines for running tests on the plug-ins that you build for Zowe CLI | [Plug-in Testing Guidelines](https://github.com/zowe/zowe-cli/blob/master/docs/PluginTESTINGGuidelines.md) |
51+
| Documentation that describes the features of the Imperative CLI Framework | [About Imperative CLI Framework](https://github.com/zowe/imperative/wiki) |
52+
53+
As per the testing guidelines above, all code should have unit tests. System tests should be written for cases where it's not necessary to interact with a remote CICS system.
54+
55+
Please make sure all tests pass before opening a PR.
56+
2557
### Licensing
2658

2759
All code must have an EPL v2.0 header. Please add the following to any new files you create:
@@ -93,16 +125,20 @@ To save you having to type the above for every commit, Git can add the `Signed-o
93125

94126
If you haven't signed each commit, then the pull request will fail to pass all checks.
95127

128+
## Branches and releases
96129

97-
## Developing Zowe CLI plug-ins
130+
We have three main branches in our repo:
131+
- *dev*: our main dev branch, which will work with Zowe CLI @lts-incremental. New pull requests should normally be made into this branch.
132+
- *master*: our release branch, which will work with Zowe CLI @lts-incremental. Project maintainers will merge code into here from `dev` when we're ready to release.
133+
- *zowe-dev*: a branch which works with Zowe CLI@daily so we can prepare for forthcoming major releases of Zowe CLI.
98134

99-
For guidelines on developing Zowe CLI plug-ins see the [Zowe CLI GitHub repository](https://github.com/zowe/zowe-cli). The following information is critical to working with the code, running/writing/maintaining automated tests, developing consistent syntax and ensuring that the plug-in integrates with Zowe CLI properly:
135+
### Release process
100136

101-
| For more information about ... | See: |
102-
| ------------------------------ | ----- |
103-
| General guidelines that apply to contributing to Zowe CLI and plug-ins | [Contribution Guidelines](https://github.com/zowe/zowe-cli/blob/master/CONTRIBUTING.md) |
104-
| Conventions and best practices for creating packages and plug-ins for Zowe CLI | [Package and Plug-in Guidelines](https://github.com/zowe/zowe-cli/blob/master/docs/PackagesAndPluginGuidelines.md)|
105-
| Guidelines for running tests on Zowe CLI | [Testing Guidelines](https://github.com/zowe/zowe-cli/blob/master/docs/TESTING.md) |
106-
| Guidelines for running tests on the plug-ins that you build for Zowe CLI | [Plug-in Testing Guidelines](https://github.com/zowe/zowe-cli/blob/master/docs/PluginTESTINGGuidelines.md) |
107-
| Documentation that describes the features of the Imperative CLI Framework | [About Imperative CLI Framework](https://github.com/zowe/imperative/wiki) |
108-
Versioning conventions for Zowe CLI and plug-ins| [Versioning Guidelines](https://github.com/zowe/zowe-cli/blob/master/docs/MaintainerVersioning.md) |
137+
1. Ensure all code to be released is merged into `dev`.
138+
2. Create a release branch locally based on `master`.
139+
3. Merge commits to be relaased into the release branch. Avoid cherry-picking changes so that `master` always remains a subset of `dev`.
140+
4. Update the version number in `package.json` according to [semantic versioning](https://semver.org/).
141+
- Note: if the only changes being made are to the documentation, do not update the version number. In this case the GitHub Pages site will be published when `master` is built, but no new version of the plug-in will be published.
142+
5. Make a PR to merge your release brnach into `master`. The reviewer should make sure all commits are suitable to release and version number has been updated appropriately.
143+
6. After the PR is merged, Jenkins will run a build of `master` and publish the new version to registry.npmjs.org.
144+
7. Delete the release branch.

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,14 @@
44

55
This project provides a plug-in for [Zowe CLI](https://github.com/zowe/zowe-cli) to deploy applications developed on a workstation to IBM CICS Transaction Server for z/OS (CICS). It aims to provide an experience similar to deploying to a cloud platform when deploying to CICS. It will also provide low-level commands for performing individual steps of the deployment process that could be used as part of a CI/CD pipeline.
66

7-
## Status
7+
## Installing
88

9-
The project was started in February 2019 and is at an early stage of development. It will initially focus on generating and deploying CICS bundles containing Node.js applications.
10-
11-
To try it out, build the plug-in from source as described in [setup](docs-internal/tutorials/Setup.md).
9+
Install the plug-in by following the steps in [installing](https://ibm.github.io/zowe-cli-cics-deploy-plugin/installing.html).
1210

1311
## Documentation
1412

1513
You can find information and tutorials on using this plug-in in our [documentation](https://ibm.github.io/zowe-cli-cics-deploy-plugin/index.html).
1614

1715
## Contributing
1816

19-
Contributions are welcome - see the [contribution guidelines](CONTRIBUTING.md). If you have a question or encounter a problem, please search the [issues](https://github.com/IBM/zowe-cli-cics-deploy-plugin/issues) in this repo before raising a [New issue](https://github.com/IBM/zowe-cli-cics-deploy-plugin/issues/new).
17+
Contributions are welcome - see the [contribution guidelines](CONTRIBUTING.md). If you have a question or encounter a problem, please search the [issues](https://github.com/IBM/zowe-cli-cics-deploy-plugin/issues) before raising a [New issue](https://github.com/IBM/zowe-cli-cics-deploy-plugin/issues/new).

__tests__/api/BundleDeploy/BundleDeployer.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,14 @@ describe("BundleDeployer01", () => {
391391
parms.arguments.jobcard = "'//DFHDPLOY JOB DFHDPLOY,'some text',CLASS=A,MSGCLASS=X,TIME=NOLIMIT'";
392392
await testDeployJCL(parms);
393393
});
394+
it("should tolerate a single leading slash for jobcard", async () => {
395+
396+
let parms: IHandlerParameters;
397+
parms = DEFAULT_PARAMTERS;
398+
setCommonParmsForDeployTests(parms);
399+
parms.arguments.jobcard = "/DFHDPLOY JOB DFHDPLOY,CLASS=A,MSGCLASS=X,TIME=NOLIMIT";
400+
await testDeployJCL(parms);
401+
});
394402
it("should support long bundledir", async () => {
395403
let parms: IHandlerParameters;
396404
parms = DEFAULT_PARAMTERS;

__tests__/api/BundleDeploy/__snapshots__/BundleDeployer.test.ts.snap

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,24 @@ UNDEPLOY BUNDLE(12345678)
578578
"
579579
`;
580580

581+
exports[`BundleDeployer01 should tolerate a single leading slash for jobcard 1`] = `
582+
"//DFHDPLOY JOB DFHDPLOY,CLASS=A,MSGCLASS=X,TIME=NOLIMIT
583+
//DFHDPLOY EXEC PGM=DFHDPLOY,REGION=100M
584+
//STEPLIB DD DISP=SHR,DSN=12345678901234567890123456789012345.SDFHLOAD
585+
// DD DISP=SHR,DSN=abcde12345abcde12345abcde12345abcde.SEYUAUTH
586+
//SYSTSPRT DD SYSOUT=*
587+
//SYSIN DD *
588+
*
589+
SET CICSPLEX(12345678);
590+
*
591+
DEPLOY BUNDLE(12345678)
592+
BUNDLEDIR(1234567890)
593+
SCOPE(12345678)
594+
STATE(ENABLED)
595+
/*
596+
"
597+
`;
598+
581599
exports[`BundleDeployer01 should tolerate bundledir with extra slasshes 1`] = `
582600
"//DFHDPLOY JOB DFHDPLOY,CLASS=A,MSGCLASS=X,TIME=NOLIMIT
583601
//DFHDPLOY EXEC PGM=DFHDPLOY,REGION=100M

0 commit comments

Comments
 (0)