From 376740a488a1e03514eeb433a1cf2dcb9cc3e249 Mon Sep 17 00:00:00 2001 From: Ali Date: Thu, 8 Aug 2024 09:09:32 -0400 Subject: [PATCH 1/8] Added Steps Outline Signed-off-by: Ali <65877768+alim395@users.noreply.github.com> --- .../COBOL Programming Course #4 - Testing.md | 211 +++++++++++++++++- .../Images/image209.png | Bin 255766 -> 64607 bytes 2 files changed, 209 insertions(+), 2 deletions(-) diff --git a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md index 80127991..2cccae85 100644 --- a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md +++ b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md @@ -293,9 +293,216 @@ You can take a look at the COBOL Check wiki page for better understanding: https ## Lab -In this lab exercise, you will learn to set up your environment for the COBOL Check by connecting to an IBM Z system to access the USS(Unix System Services), view a simple COBOL program and test suites in VS Code, compile them on the USS using COBOL Check to generate a copy of the program under test that includes the test cases and paragraphs to be tested. Then you will copy the newly generated program from USS to MVS datasets and submit JCL to compile the copied COBOL program, and view the output. Refer to “Installation of VS Code and extensions” to configure VS Code if you have not already done so. You can either use IBM Z Open Editor and Zowe Explorer, or Code4z. +In this lab exercise, you will learn to set up and automate the COBOL Check environment using GitHub Actions. You'll create a GitHub repository that connects to an IBM Z system, accesses USS (Unix System Services), and automates the process of running COBOL Check on sample programs. -To proceed further, it's better to have some knowledge of JCL and linux terminal commands. + +You will: + +1. Set up a GitHub repository with necessary workflows and scripts. + +2. Use GitHub Actions to automatically upload COBOL Check files to USS. + +3. Run COBOL Check on sample programs via automated scripts. + +4. Automatically copy generated programs from USS to MVS datasets. + +5. Submit JCL to compile the copied COBOL programs and view the output using Zowe Explorer in VS Code. + + +This lab introduces modern DevOps practices to mainframe development, demonstrating how to integrate traditional COBOL testing with contemporary CI/CD pipelines. + + +**Prerequisites:** + +* GitHub account + +* Basic knowledge of Git, GitHub, and GitHub Actions + +* VS Code with Zowe Explorer extension installed + +* Basic understanding of JCL and Linux terminal commands + + +Note: While many steps are automated, you'll still interact directly with the mainframe using Zowe Explorer to submit jobs and view results, providing a blend of automated and hands-on experience. + + +By the end of this lab, you'll have practical experience in setting up an automated testing environment for COBOL programs, bridging the gap between mainframe development and modern DevOps practices. + +// + +### Set up a GitHub repository with necessary workflows and scripts +1. **Create a new GitHub repository** + - Log into your GitHub account + - Click the '+' icon in the top right corner and select \"New repository\" + - Name your repository (e.g., \"cobol-check-automation\") + - Choose to make it public or private + - Check the box to \"Add a README file\" + - Click \"Create repository\" + +2. **Clone the repository locally** + - On the repository page, click the green \"Code\" button\n - Copy the HTTPS URL\n - Open your terminal or command prompt + - Navigate to where you want to store the project + - Run: `git clone ` + - Change into the new directory: `cd cobol-check-automation` + +3. **Set up GitHub Secrets** + - In your GitHub repository, go to \"Settings\" > \"Secrets and variables\" > \"Actions\" + - Add two new repository secrets: + - Name: ZOWE_USERNAME, Value: zXXXXX *(for example)* + - Name: ZOWE_PASSWORD, Value: Your IBM Z system password + +4. **Create directory structure** + - Create the following directories in your local repository: + ``` + mkdir -p .github/workflows + mkdir -p .github/scripts\n + mkdir cobol-check + ``` + +5. **Create workflow file** + - Create a new file: `.github/workflows/zowe-cli-operations.yml` + - Copy and paste the following content into this file: + + ``` + name: Zowe CLI Operations + on: + push: + branches: [main] + pull_request: + branches: [main] + jobs: + zowe-operations: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: "18" + + - name: Install Zowe CLI + run: npm install -g @zowe/cli@latest + + - name: Make scripts executable + run: | + chmod +x .github/scripts/zowe_operations.sh + chmod +x .github/scripts/mainframe_operations.sh + + - name: Run Zowe operations + env: + ZOWE_OPT_HOST: 192.86.32.250 + ZOWE_OPT_PORT: 10443 + ZOWE_OPT_USER: ${{ secrets.ZOWE_USERNAME }} + ZOWE_OPT_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} + ZOWE_OPT_REJECT_UNAUTHORIZED: false + ZOWE_USERNAME: ${{ secrets.ZOWE_USERNAME }} + run: .github/scripts/zowe_operations.sh + + - name: Perform mainframe operations + env: + ZOWE_USERNAME: ${{ secrets.ZOWE_USERNAME }} + ZOWE_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} + run: | + sshpass -p "$ZOWE_PASSWORD" ssh -o StrictHostKeyChecking=no $ZOWE_USERNAME@192.86.32.250 'sh -s' < .github/scripts/mainframe_operations.sh + ``` + +6. **Create script files** + - Create `.github/scripts/zowe_operations.sh` and add the following: + + ``` + #!/bin/bash + # zowe_operations.sh + + # Convert username to lowercase + LOWERCASE_USERNAME=$(echo "$ZOWE_USERNAME" | tr '[:upper:]' '[:lower:]') + + # Check if directory exists, create if it doesn't + if ! zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" &>/dev/null; then + echo "Directory does not exist. Creating it..." + zowe zos-files create uss-directory /z/$LOWERCASE_USERNAME/cobolcheck + else + echo "Directory already exists." + fi + + # Upload files + zowe zos-files upload dir-to-uss "./cobol-check" "/z/$LOWERCASE_USERNAME/cobolcheck" --recursive --binary-files "cobol-check-0.2.9.jar" + + # Verify upload + echo "Verifying upload:" + zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" + + ``` + - Create `.github/scripts/mainframe_operations.sh` and add the following: + + ``` + #!/bin/bash + # mainframe_operations.sh + + # Set up environment + export PATH=$PATH:/usr/lpp/java/J8.0_64/bin + export JAVA_HOME=/usr/lpp/java/J8.0_64 + export PATH=$PATH:/usr/lpp/zowe/cli/node/bin + + # Check Java availability + java -version + + # Change to the appropriate directory + cd /z/$ZOWE_USERNAME/cobolcheck + ls -al + chmod +x cobolcheck + ls -al + cd scripts + ls -al + chmod +x linux_gnucobol_run_tests + cd .. + pwd + + # Run COBOL check on NUMBERS + ./cobolcheck -p NUMBERS + + # Copy NUMBERS files to datasets + cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL(NUMBERS)'" + cp NUMBERS.JCL "//'${ZOWE_USERNAME}.JCL(NUMBERS)'" + + # Run COBOL check on EMPPAY + ./cobolcheck -p EMPPAY + + # Copy EMPPAY files to datasets + cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL(EMPPAY)'" + cp EMPPAY.JCL "//'${ZOWE_USERNAME}.JCL(EMPPAY)'" + + # Run COBOL check on DEPTPAY + ./cobolcheck -p DEPTPAY + + # Copy DEPTPAY files to datasets + cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL(DEPTPAY)'" + cp DEPTPAY.JCL "//'${ZOWE_USERNAME}.JCL(DEPTPAY)'" + + echo "Mainframe operations completed" + + ``` + - Ensure both scripts have Unix-style line endings (LF, not CRLF) + +7. **Add COBOL Check files** + - Download the latest COBOL Check distribution from the official repository + - Extract the contents into your `cobol-check` directory + +8. **Commit and push your changes** + - Stage your new files: `git add .` + - Commit the changes: `git commit -m \"Initial setup for COBOL Check automation\"` + - Push to GitHub: `git push origin main` + +9. **Verify workflow** + - Go to the \"Actions\" tab in your GitHub repository + - You should see the workflow running (triggered by your push) + - Wait for it to complete and check the logs for any errors + + +By following these steps, you'll have set up a GitHub repository with the necessary workflow and scripts to automate COBOL Check operations. This setup forms the foundation for the rest of the lab exercises, where you'll use this automation to interact with the mainframe and run COBOL Check on your programs." + +// 1. Get the latest COBOL Check distribution from the GitHub repository of the COBOL Check https://github.com/openmainframeproject/cobol-check/tree/Developer/build/distributions. Click on the “View raw” button or the download button on the right most corner. You will get the .zip of COBOL Check. diff --git a/COBOL Programming Course #4 - Testing/Images/image209.png b/COBOL Programming Course #4 - Testing/Images/image209.png index 0ae572355ddb8fb58094d31639ee977626d61437..fb888b79c9490073363363be5df690ccb9a44090 100644 GIT binary patch literal 64607 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

&$j~);)0jOQs7E*b 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⪚e@(zy*);nuK_@#saoV=pb;D3qCL$A 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

OE64mv>#&b=||INClp=K5U?b?>8;$r&KHb#r9G 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 KT5-kc@xKACFGd&u literal 255766 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 z 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

6)?#F@zo5yCh|Bx_ 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�$X{) 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 Date: Wed, 14 Aug 2024 18:33:27 -0400 Subject: [PATCH 2/8] Removed some excess content from previous iteration. Signed-off-by: Ali <65877768+alim395@users.noreply.github.com> --- .../COBOL Programming Course #4 - Testing.md | 285 ++++++------------ .../Images/image211.png | Bin 33143 -> 9141 bytes 2 files changed, 93 insertions(+), 192 deletions(-) diff --git a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md index 2cccae85..fc86aecb 100644 --- a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md +++ b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md @@ -291,6 +291,8 @@ The typical automated check follows these steps: You can take a look at the COBOL Check wiki page for better understanding: https://github.com/openmainframeproject/cobol-check/wiki/A-Brief-Example +// + ## Lab In this lab exercise, you will learn to set up and automate the COBOL Check environment using GitHub Actions. You'll create a GitHub repository that connects to an IBM Z system, accesses USS (Unix System Services), and automates the process of running COBOL Check on sample programs. @@ -328,8 +330,6 @@ Note: While many steps are automated, you'll still interact directly with the ma By the end of this lab, you'll have practical experience in setting up an automated testing environment for COBOL programs, bridging the gap between mainframe development and modern DevOps practices. -// - ### Set up a GitHub repository with necessary workflows and scripts 1. **Create a new GitHub repository** - Log into your GitHub account @@ -438,227 +438,128 @@ By the end of this lab, you'll have practical experience in setting up an automa ``` #!/bin/bash - # mainframe_operations.sh - - # Set up environment - export PATH=$PATH:/usr/lpp/java/J8.0_64/bin - export JAVA_HOME=/usr/lpp/java/J8.0_64 - export PATH=$PATH:/usr/lpp/zowe/cli/node/bin - - # Check Java availability - java -version - - # Change to the appropriate directory - cd /z/$ZOWE_USERNAME/cobolcheck - ls -al - chmod +x cobolcheck - ls -al - cd scripts - ls -al - chmod +x linux_gnucobol_run_tests - cd .. - pwd - - # Run COBOL check on NUMBERS - ./cobolcheck -p NUMBERS - - # Copy NUMBERS files to datasets - cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL(NUMBERS)'" - cp NUMBERS.JCL "//'${ZOWE_USERNAME}.JCL(NUMBERS)'" - - # Run COBOL check on EMPPAY - ./cobolcheck -p EMPPAY - - # Copy EMPPAY files to datasets - cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL(EMPPAY)'" - cp EMPPAY.JCL "//'${ZOWE_USERNAME}.JCL(EMPPAY)'" - - # Run COBOL check on DEPTPAY - ./cobolcheck -p DEPTPAY - - # Copy DEPTPAY files to datasets - cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL(DEPTPAY)'" - cp DEPTPAY.JCL "//'${ZOWE_USERNAME}.JCL(DEPTPAY)'" - - echo "Mainframe operations completed" + # mainframe_operations.sh + + # Set up environment + export PATH=$PATH:/usr/lpp/java/J8.0_64/bin + export JAVA_HOME=/usr/lpp/java/J8.0_64 + export PATH=$PATH:/usr/lpp/zowe/cli/node/bin + + # Check Java availability + java -version + + # Change to the appropriate directory + cd /z/$ZOWE_USERNAME/cobolcheck || { echo "Directory not found"; exit 1; } + ls -al + + # Check if cobolcheck exists and make it executable + if [ -f cobolcheck ]; then + chmod +x cobolcheck + ls -al + else + echo "cobolcheck file not found" + exit 1 + fi + + # Check and make linux_gnucobol_run_tests executable + if [ -d scripts ] && [ -f scripts/linux_gnucobol_run_tests ]; then + cd scripts + chmod +x linux_gnucobol_run_tests + cd .. + else + echo "scripts directory or linux_gnucobol_run_tests not found" + exit 1 + fi + + pwd + + # Function to run COBOL check and copy files + run_cobol_check() { + local program=$1 + if [ -f "${program}.CBL" ] && [ -f "${program}.JCL" ]; then + ./cobolcheck -p "$program" + if [ -f CC##99.CBL ]; then + cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL(${program})'" + cp "${program}.JCL" "//'${ZOWE_USERNAME}.JCL(${program})'" + echo "${program} processed successfully" + else + echo "CC##99.CBL not generated for ${program}" + fi + else + echo "${program}.CBL or ${program}.JCL not found" + fi + } + + # Run COBOL check on NUMBERS, EMPPAY, and DEPTPAY + for program in NUMBERS EMPPAY DEPTPAY; do + run_cobol_check "$program" + done + + echo "Mainframe operations completed" ``` - Ensure both scripts have Unix-style line endings (LF, not CRLF) 7. **Add COBOL Check files** - - Download the latest COBOL Check distribution from the official repository - - Extract the contents into your `cobol-check` directory - -8. **Commit and push your changes** - - Stage your new files: `git add .` - - Commit the changes: `git commit -m \"Initial setup for COBOL Check automation\"` - - Push to GitHub: `git push origin main` - -9. **Verify workflow** - - Go to the \"Actions\" tab in your GitHub repository - - You should see the workflow running (triggered by your push) - - Wait for it to complete and check the logs for any errors - - -By following these steps, you'll have set up a GitHub repository with the necessary workflow and scripts to automate COBOL Check operations. This setup forms the foundation for the rest of the lab exercises, where you'll use this automation to interact with the mainframe and run COBOL Check on your programs." - -// - -1. Get the latest COBOL Check distribution from the GitHub repository of the COBOL Check https://github.com/openmainframeproject/cobol-check/tree/Developer/build/distributions. - Click on the “View raw” button or the download button on the right most corner. You will get the .zip of COBOL Check. - -![](Images/image209.png) - -*Figure 1. Download COBOL Check distribution* - -![](Images/image210.png) - -*Figure 2. Button to download the .zip file* - -2. Check your download location to view the .zip file and then extract it. - -![](Images/image211.png) - -*Figure 3. COBOL Check folder* - -3. Open your VS Code with the same team configuration file with the Learn Cobol folder which you have used in course 2. If not, you can also download it from https://github.com/openmainframeproject/cobol-programming-course/releases/latest - -4. click on the icon of Zowe Explore of VS Code. - -![](Images/image212.png) - -*Figure 4. Zowe Explorer* - - In the DATA SETS section, you can view all the PDS (Partitioned datasets) and sequential files present. In the USS (Unix System Services) section, you can view the files or folder that is stored in the USS. USS is a posix compliant linux like environment which makes it easy for developers to interact with previous knowledge of using linux terminals and commands. In the JOBS section, you can view all about the running or completed jobs. - - -5. Put your username and password in all the three sections by clicking on the search icon to view the files (DATA SETS, USS, JOBS) which you have learned in the previous chapters. - -![](Images/image213.png) + * Get the latest COBOL Check distribution from the GitHub repository of the COBOL Check https://github.com/openmainframeproject/cobol-check/tree/Developer/build/distributions. Click on the “View raw” button or the download button on the right most corner. You will get the .zip of COBOL Check. -*Figure 5. Enter your username* + ![](Images/image209.png) -![](Images/image214.png) + *Figure 1. Download COBOL Check distribution* -*Figure 6. Enter your password* + ![](Images/image210.png) -6. After entering your username and password for the USS section search for `/z/z999XX` . put your username in place of z999XX. Now you can view all the files that are present in the USS. + *Figure 2. Button to download the .zip file* -![](Images/image215.png) + * Check your download location to view the .zip file and then extract it to the root of your local repository. -*Figure 7. Search for /z/z999XX* + ![](Images/image211.png) -7. Another way of interacting with the USS is through the SSH connection. Open your terminal in the vs code window. Issue the command `ssh z99998@192.86.32.250` , in the place of z99998 use your own username. You can find the ip address in the zowe.config file that comes with the team configuration folder. - -![](Images/image216.png) - -*Figure 8. ssh connection* - -8. Enter your password to view the directories in the USS. Issue your first command `pwd` which will show the directory you are currently in, that is your root directory. Issue the command `ls` to list all the files and folders in this directory. - -![](Images/image217.png) - -*Figure 9. present working directory* - -9. You need to create a directory for COBOL Check and copy the contents of the COBOL Check distribution that you have downloaded earlier. Issue the command `mkdir cobolcheck` - This will create an empty directory. Then use `ls` command to view the created directory. - -![](Images/image218.png) - -*Figure 10. Create COBOL Check directory in the USS* - -10. Issue `cd cobolcheck` to enter into the directory. - -![](Images/image219.png) - -*Figure 11. Enter into COBOL Check directory in the USS* - - Note: If you left your terminal idle for some time, you need to kill that terminal, again you have to ssh into the mainframe. you can follow from step 8 again. - -11. Open another terminal tab and go to the file location where the files and folders of COBOL Check are present. Then use `ls` to see those. - -![](Images/image220.png) - -*Figure 12. COBOL Check directory on the local system* - -12. To copy all the files and folders from this directory, you need to use the command : `zowe zos-files upload dir-to-uss "." "/z/z99998/cobolcheck" --recursive --binary-files "cobol-check-0.2.8.jar"` . Then enter your username and password. (Remember to type all the alphabets in small letters). - - -`Note: Use the latest version (or the version you are using) of the COBOL Check on the above command.` + *Figure 3. COBOL Check folder* + * Open your VS Code with the same team configuration file with the Learn Cobol folder which you have used in course 2. If not, you can also download it from https://github.com/openmainframeproject/cobol-programming-course/releases/latest -In this command the `.` represents the current directory -and the flag `--recursive` is used for copying all the folders which are even inside other folders. -By default, this command will copy all the files in ascii mode, -but you need to copy `the cobol-check-0.2.8.jar` in binary mode that's why the flag `--binary-files` is used. -You can look into your `/bin` folder of COBOL Check to see the latest version and name which need to use there. -At the time of writing this course material, it is version 0.2.8. - -To know more about copying the files from local machine to USS, you can refer to zowe cli docs: https://docs.zowe.org/v2.4.x/web_help/index.html?p=zowe_zos-files_upload_dir-to-uss. - -![](Images/image221.png) - -*Figure 13. Command to copy the files from local machine to USS* - -After entering the command, you will get a message uploaded successfully. - -![](Images/image222.png) + * click on the icon of Zowe Explore of VS Code. -*Figure 14. Successfully uploaded message* + ![](Images/image212.png) -13. Now again open your terminal and ssh into the mainframe to view the files and folders in the COBOL Check directory. You can see the contents of uploaded. + *Figure 4. Zowe Explorer* -![](Images/image223.png) + In the DATA SETS section, you can view all the PDS (Partitioned datasets) and sequential files present. In the USS (Unix System Services) section, you can view the files or folder that is stored in the USS. USS is a posix compliant linux like environment which makes it easy for developers to interact with previous knowledge of using linux terminals and commands. In the JOBS section, you can view all about the running or completed jobs. -*Figure 15. View the contents in the directory* -14. you can use the USS tab of your vs code to view the COBOL Check directory. + * Put your username and password in all the three sections by clicking on the search icon to view the files (DATA SETS, USS, JOBS) which you have learned in the previous chapters. -![](Images/image224.png) + ![](Images/image213.png) -*Figure 16. Locate the directories on the USS section in the zowe* + *Figure 5. Enter your username* -15. Issue `ls -al` command to see the file permission of COBOL Check then issue `chmod +x cobolcheck`. This will give COBOL Check file the executable permission. + ![](Images/image214.png) -![](Images/image225.png) - -*Figure 17. Providing executable permission* - -16. Do the same as done above in the `/scripts` folder. Issue command : `cd scripts` to enter into scripts directory then use `chmod +x linux_gnucobol_run_tests` to make this file executable. - -![](Images/image226.png) - -*Figure 18. Providing executable permission* - -Then issue command `cd ..` to come back to the parent directory. - -17. View the COBOL source code and the test case files. You can also use the USS tab. - -![](Images/image227.png) - -*Figure 19. view files in the USS tab* - -18. You can see it comes with some source code and test files. You need to run COBOL Check using the NUMBERS.CBL to check whether COBOL Check is working correctly. - Issue the command `./cobolcheck -p NUMBERS`. - -`Note: You may see the NullPointerException, but that can be ignored.` - -![](Images/image228.png) + *Figure 6. Enter your password* + + * After entering your username and password for the USS section search for `/z/z999XX` . put your username in place of z999XX. Now you can view all the files that are present in the USS. -*Figure 20. Run a COBOL program with the cobolcheck command* + ![](Images/image215.png) -19. After running the command, the COBOL Check will generate a new source code named `CC##99.CBL` which includes the COBOL source code along with the test cases embedded. + *Figure 7. Search for /z/z999XX* -![](Images/image229.png) +8. **Commit and push your changes** + - Stage your new files: `git add .` + - Commit the changes: `git commit -m \"Initial setup for COBOL Check automation\"` + - Push to GitHub: `git push origin main` -*Figure 21. Output: A new COBOL program with the test cases embedded as statements* +9. **Verify workflow** + - Go to the \"Actions\" tab in your GitHub repository + - You should see the workflow running (triggered by your push) + - Wait for it to complete and check the logs for any errors -20. You need to copy this file to the MVS data sets (Z99998.CBL) which you can view in your DATA SETS tab. Use the command `cp CC##99.CBL "//'Z99998.CBL(NUMBERS)'"` -![](Images/image230.png) +By following these steps, you'll have set up a GitHub repository with the necessary workflow and scripts to automate COBOL Check operations. This setup forms the foundation for the rest of the lab exercises, where you'll use this automation to interact with the mainframe and run COBOL Check on your programs." -*Figure 22. Copy the newly generate COBOL program to the mainframe* +// -21. view the files in the DATA SETS tab, you can see NUMBERS in Z99998.CBL. +1. view the files in the DATA SETS tab, you can see NUMBERS in Z99998.CBL. ![](Images/image231.png) diff --git a/COBOL Programming Course #4 - Testing/Images/image211.png b/COBOL Programming Course #4 - Testing/Images/image211.png index 7b6572d3410f4c46ad424cf968701725fea8d9bb..a2e26afefee9fea867ab2620c37b757cf865efaf 100644 GIT binary patch literal 9141 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 From 328f2ba8643a19460e07e6b4626e5448310de20f Mon Sep 17 00:00:00 2001 From: Ali Date: Thu, 15 Aug 2024 11:50:17 -0400 Subject: [PATCH 3/8] Added Figure for github secrets Signed-off-by: Ali <65877768+alim395@users.noreply.github.com> --- .../COBOL Programming Course #4 - Testing.md | 5 +++-- .../Images/image243.png | Bin 0 -> 82142 bytes zowe.config.json | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 COBOL Programming Course #4 - Testing/Images/image243.png diff --git a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md index fc86aecb..cab9851c 100644 --- a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md +++ b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md @@ -347,9 +347,10 @@ By the end of this lab, you'll have practical experience in setting up an automa 3. **Set up GitHub Secrets** - In your GitHub repository, go to \"Settings\" > \"Secrets and variables\" > \"Actions\" +![](Images/image243.png) - Add two new repository secrets: - - Name: ZOWE_USERNAME, Value: zXXXXX *(for example)* - - Name: ZOWE_PASSWORD, Value: Your IBM Z system password + - Name: ZOWE_USERNAME, Value: ZXXXXX *(for example)* + - Name: ZOWE_PASSWORD, Value: Your IBM Z system password 4. **Create directory structure** - Create the following directories in your local repository: diff --git a/COBOL Programming Course #4 - Testing/Images/image243.png b/COBOL Programming Course #4 - Testing/Images/image243.png new file mode 100644 index 0000000000000000000000000000000000000000..f769a2610f8fcaca832453f1163bfbf7aed98aec GIT binary patch literal 82142 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 literal 0 HcmV?d00001 diff --git a/zowe.config.json b/zowe.config.json index 2d5940c1..6d7231d5 100644 --- a/zowe.config.json +++ b/zowe.config.json @@ -31,4 +31,4 @@ "base": "base" }, "plugins": [] -} +} \ No newline at end of file From 2a2050d102aeeab7b2daec320d2dcd04a87b0ca6 Mon Sep 17 00:00:00 2001 From: alim395 Date: Wed, 21 Aug 2024 18:24:20 +0300 Subject: [PATCH 4/8] Updated Main Script Signed-off-by: Ali <65877768+alim395@users.noreply.github.com> --- .../COBOL Programming Course #4 - Testing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md index cab9851c..d578c178 100644 --- a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md +++ b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md @@ -393,7 +393,7 @@ By the end of this lab, you'll have practical experience in setting up an automa - name: Run Zowe operations env: - ZOWE_OPT_HOST: 192.86.32.250 + ZOWE_OPT_HOST: 204.90.115.200 ZOWE_OPT_PORT: 10443 ZOWE_OPT_USER: ${{ secrets.ZOWE_USERNAME }} ZOWE_OPT_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} @@ -406,7 +406,7 @@ By the end of this lab, you'll have practical experience in setting up an automa ZOWE_USERNAME: ${{ secrets.ZOWE_USERNAME }} ZOWE_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} run: | - sshpass -p "$ZOWE_PASSWORD" ssh -o StrictHostKeyChecking=no $ZOWE_USERNAME@192.86.32.250 'sh -s' < .github/scripts/mainframe_operations.sh + sshpass -p "$ZOWE_PASSWORD" ssh -o StrictHostKeyChecking=no $ZOWE_USERNAME@204.90.115.200 'sh -s' < .github/scripts/mainframe_operations.sh ``` 6. **Create script files** From cdd2fbf4a487de7703d22ae28ae29d62991c35ec Mon Sep 17 00:00:00 2001 From: alim395 Date: Wed, 21 Aug 2024 18:39:13 +0300 Subject: [PATCH 5/8] Updated Mainframe script Signed-off-by: Ali <65877768+alim395@users.noreply.github.com> --- .../COBOL Programming Course #4 - Testing.md | 81 ++++++++++--------- 1 file changed, 45 insertions(+), 36 deletions(-) diff --git a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md index d578c178..989f0ed4 100644 --- a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md +++ b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md @@ -449,51 +449,60 @@ By the end of this lab, you'll have practical experience in setting up an automa # Check Java availability java -version - # Change to the appropriate directory - cd /z/$ZOWE_USERNAME/cobolcheck || { echo "Directory not found"; exit 1; } - ls -al + # Set ZOWE_USERNAME + ZOWE_USERNAME="Z36963" # Replace with the actual username or dataset prefix - # Check if cobolcheck exists and make it executable - if [ -f cobolcheck ]; then - chmod +x cobolcheck - ls -al - else - echo "cobolcheck file not found" - exit 1 - fi + # Change to the cobolcheck directory + cd cobolcheck + echo "Changed to $(pwd)" + ls -al - # Check and make linux_gnucobol_run_tests executable - if [ -d scripts ] && [ -f scripts/linux_gnucobol_run_tests ]; then - cd scripts - chmod +x linux_gnucobol_run_tests - cd .. + # Make cobolcheck executable + chmod +x cobolcheck + echo "Made cobolcheck executable" + + # Make script in scripts directory executable + cd scripts + chmod +x linux_gnucobol_run_tests + echo "Made linux_gnucobol_run_tests executable" + cd .. + + # Function to run cobolcheck and copy files + run_cobolcheck() { + program=$1 + echo "Running cobolcheck for $program" + + # Run cobolcheck, but don't exit if it fails + ./cobolcheck -p $program + echo "Cobolcheck execution completed for $program (exceptions may have occurred)" + + # Check if CC##99.CBL was created, regardless of cobolcheck exit status + if [ -f "CC##99.CBL" ]; then + # Copy to the MVS dataset + if cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL($program)'"; then + echo "Copied CC##99.CBL to ${ZOWE_USERNAME}.CBL($program)" + else + echo "Failed to copy CC##99.CBL to ${ZOWE_USERNAME}.CBL($program)" + fi else - echo "scripts directory or linux_gnucobol_run_tests not found" - exit 1 + echo "CC##99.CBL not found for $program" fi - - pwd - - # Function to run COBOL check and copy files - run_cobol_check() { - local program=$1 - if [ -f "${program}.CBL" ] && [ -f "${program}.JCL" ]; then - ./cobolcheck -p "$program" - if [ -f CC##99.CBL ]; then - cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL(${program})'" - cp "${program}.JCL" "//'${ZOWE_USERNAME}.JCL(${program})'" - echo "${program} processed successfully" - else - echo "CC##99.CBL not generated for ${program}" - fi + + # Copy the JCL file if it exists + if [ -f "${program}.JCL" ]; then + if cp ${program}.JCL "//'${ZOWE_USERNAME}.JCL($program)'"; then + echo "Copied ${program}.JCL to ${ZOWE_USERNAME}.JCL($program)" else - echo "${program}.CBL or ${program}.JCL not found" + echo "Failed to copy ${program}.JCL to ${ZOWE_USERNAME}.JCL($program)" fi + else + echo "${program}.JCL not found" + fi } - # Run COBOL check on NUMBERS, EMPPAY, and DEPTPAY + # Run for each program for program in NUMBERS EMPPAY DEPTPAY; do - run_cobol_check "$program" + run_cobolcheck $program done echo "Mainframe operations completed" From 56b63a4c83308dd35afaef5fc0f4c26548146ae1 Mon Sep 17 00:00:00 2001 From: Ali <65877768+alim395@users.noreply.github.com> Date: Thu, 22 Aug 2024 18:22:53 +0300 Subject: [PATCH 6/8] Final Revision of Course Materials, may need figs. Signed-off-by: Ali <65877768+alim395@users.noreply.github.com> --- .../COBOL Programming Course #4 - Testing.md | 981 ++++++++++++------ 1 file changed, 638 insertions(+), 343 deletions(-) diff --git a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md index 989f0ed4..48a6a5c9 100644 --- a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md +++ b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md @@ -293,337 +293,623 @@ You can take a look at the COBOL Check wiki page for better understanding: https // -## Lab +# Automation with GitHub Actions +Hello everyone! My name is Ali, and I'm excited to be here as a mentee for the COBOL Programming Course. -In this lab exercise, you will learn to set up and automate the COBOL Check environment using GitHub Actions. You'll create a GitHub repository that connects to an IBM Z system, accesses USS (Unix System Services), and automates the process of running COBOL Check on sample programs. +As part of my journey in this course, I've been tasked with an exciting project that I'd like to share with you today. My role has been to automate the process of running and testing COBOL programs using a tool called cobolcheck. +Initially, we were planning to use Jenkins for this automation. However, after consulting with some experts in the field, we made an interesting pivot. We decided to go with GitHub Actions instead. This choice was made because GitHub Actions is more accessible and easier to understand, especially for those who might be new to automation or continuous integration. -You will: +This shift to GitHub Actions has been an exciting part of the learning process. It's taught me the importance of flexibility in software development and how choosing the right tools can make a big difference in project efficiency. -1. Set up a GitHub repository with necessary workflows and scripts. +Now on the topic of GitHub actions… -2. Use GitHub Actions to automatically upload COBOL Check files to USS. +GitHub Actions allows you to automate workflows within your GitHub repository. We thought that it would be a powerful and easy to use platform for automating tasks related to Zowe CLI commands and running COBOL Check. It allows defining workflows in a YAML configuration file, similar to other CI/CD tools. -3. Run COBOL Check on sample programs via automated scripts. +This YAML file can specify Zowe CLI commands to be executed along with options for handling outputs and chaining actions. -4. Automatically copy generated programs from USS to MVS datasets. +Over the past few weeks, I've been working on creating a workflow that streamlines the testing process, making it easier and more efficient for developers to test their COBOL programs on the mainframe, all integrated seamlessly with GitHub. -5. Submit JCL to compile the copied COBOL programs and view the output using Zowe Explorer in VS Code. +One of the key objectives for future development is to further automate the process by extending the current workflow by incorporating the submission of jobs using JCL (Job Control Language) files. +In this tutorial, I'll be walking you through the steps I've taken to create this automation, from setting up the environment to running the final GitHub Actions workflow. We'll cover everything from the basics of using cobolcheck to integrating it with GitHub Actions. -This lab introduces modern DevOps practices to mainframe development, demonstrating how to integrate traditional COBOL testing with contemporary CI/CD pipelines. +Whether you're new to COBOL or an experienced programmer looking to modernize your workflow with GitHub Actions, I hope you'll find this tutorial helpful and informative. +So, let's dive in and see how we can make COBOL testing a breeze with automation and GitHub Actions! -**Prerequisites:** +## Part Deux +Now that we've introduced our project, let's talk about what you'll need to follow along and how to get started with GitHub. -* GitHub account +Before we dive into creating our GitHub repository, let's go over the prerequisites you'll need to follow along with this tutorial: -* Basic knowledge of Git, GitHub, and GitHub Actions +1. A GitHub account: If you don't have one already, you'll need to sign up at github.com. It's free and only takes a few minutes. +2. Git installed on your local machine: This is essential for interacting with your GitHub repository from your computer. You can download it from git-scm.com. Make sure to choose the version appropriate for your operating system. +3. Basic understanding of Git: While we won't be diving deep into Git commands, familiarity with concepts like repositories, commits, and branches will be helpful. +4. A text editor: You'll need this for editing files locally. Popular choices include Visual Studio Code, Sublime Text, or even Notepad++. +5. Access to a mainframe environment: This is where we'll be running our COBOL programs. Your course instructor should have provided you with the necessary access details. +6. (Optional) GitHub Desktop: If you're new to Git or prefer a graphical interface, GitHub Desktop can be a user-friendly alternative to command-line Git. You can download it from desktop.github.com. -* VS Code with Zowe Explorer extension installed +If you need to install Git or set up any of these tools, please pause the video now to do so. You can find installation guides for Git on the official Git website. -* Basic understanding of JCL and Linux terminal commands +Now that we've covered the prerequisites, let's move on to creating our GitHub repository. +1. First, log into your GitHub account. +2. In the upper-right corner of the page, click the '+' icon, then select 'New repository'. +3. For the repository name, let's call it 'cobol-check-automation'. +4. You can add a description if you like. I'll add: "Automating COBOL testing with cobolcheck and GitHub Actions." +5. Keep the repository public so others can see and learn from your work. +6. Now, here's an important step: Check the box that says 'Initialize this repository with a README'. This will create a README file for us to start with. +7. You can add a .gitignore file if you want, but for now, we'll skip this. +8. For the license, you can choose an open-source license if you plan to share your code widely. For this tutorial, I'll select the MIT License. +9. Finally, click 'Create repository'. -Note: While many steps are automated, you'll still interact directly with the mainframe using Zowe Explorer to submit jobs and view results, providing a blend of automated and hands-on experience. +And there we have it! We've just created our new GitHub repository with a README file initialized. +Great! Now that we've created our repository on GitHub, let's get it onto your local machine so you can work with the files directly. There are many ways to do this, but for the sake of simplicity, we will do this using Git from the command line. -By the end of this lab, you'll have practical experience in setting up an automated testing environment for COBOL programs, bridging the gap between mainframe development and modern DevOps practices. +### Method 1: Using Git from the command line -### Set up a GitHub repository with necessary workflows and scripts -1. **Create a new GitHub repository** - - Log into your GitHub account - - Click the '+' icon in the top right corner and select \"New repository\" - - Name your repository (e.g., \"cobol-check-automation\") - - Choose to make it public or private - - Check the box to \"Add a README file\" - - Click \"Create repository\" +1. First, open your terminal or command prompt. +2. Navigate to the directory where you want to store your project. +3. On your GitHub repository page, click the green 'Code' button and copy the URL provided. +4. In your terminal, type the following command, replacing `[URL]` with the URL you just copied: +```bash + git clone [URL] +``` +5. Press Enter, and Git will clone the repository to your local machine. + +We will now discuss the last step before we are all set to begin cobolcheck. + +## Part Tree +Now that we have our repository set up both on GitHub and locally, let's talk about an important feature of GitHub that we'll be using in our automation: GitHub Secrets. -2. **Clone the repository locally** - - On the repository page, click the green \"Code\" button\n - Copy the HTTPS URL\n - Open your terminal or command prompt - - Navigate to where you want to store the project - - Run: `git clone ` - - Change into the new directory: `cd cobol-check-automation` +### What are GitHub Secrets? -3. **Set up GitHub Secrets** - - In your GitHub repository, go to \"Settings\" > \"Secrets and variables\" > \"Actions\" -![](Images/image243.png) - - Add two new repository secrets: - - Name: ZOWE_USERNAME, Value: ZXXXXX *(for example)* - - Name: ZOWE_PASSWORD, Value: Your IBM Z system password +GitHub Secrets are a way to store sensitive information in your GitHub repository. These could be things like API keys, passwords, or in our case, mainframe credentials. The key feature of GitHub Secrets is that they're encrypted and only exposed to selected GitHub Actions during runtime. -4. **Create directory structure** - - Create the following directories in your local repository: - ``` - mkdir -p .github/workflows - mkdir -p .github/scripts\n - mkdir cobol-check - ``` +### Why do we use GitHub Secrets? -5. **Create workflow file** - - Create a new file: `.github/workflows/zowe-cli-operations.yml` - - Copy and paste the following content into this file: +1. Security: We never want to hardcode sensitive information directly into our scripts or workflows. That would be like leaving your house key under the doormat - anyone who can see your code would have access to your sensitive data. +2. Flexibility: By using secrets, we can easily update our credentials without changing our code. +3. Best Practices: Using secrets is considered a best practice in DevOps and helps in maintaining compliance with various security standards. - ``` - name: Zowe CLI Operations - on: - push: - branches: [main] - pull_request: - branches: [main] - jobs: - zowe-operations: - runs-on: ubuntu-latest +For our COBOL automation project, we'll need to store our mainframe credentials as secrets. This way, our GitHub Actions can securely access the mainframe without exposing the credentials in our code. - steps: - - uses: actions/checkout@v3 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: "18" - - - name: Install Zowe CLI - run: npm install -g @zowe/cli@latest - - - name: Make scripts executable - run: | - chmod +x .github/scripts/zowe_operations.sh - chmod +x .github/scripts/mainframe_operations.sh - - - name: Run Zowe operations - env: - ZOWE_OPT_HOST: 204.90.115.200 - ZOWE_OPT_PORT: 10443 - ZOWE_OPT_USER: ${{ secrets.ZOWE_USERNAME }} - ZOWE_OPT_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} - ZOWE_OPT_REJECT_UNAUTHORIZED: false - ZOWE_USERNAME: ${{ secrets.ZOWE_USERNAME }} - run: .github/scripts/zowe_operations.sh - - - name: Perform mainframe operations - env: - ZOWE_USERNAME: ${{ secrets.ZOWE_USERNAME }} - ZOWE_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} - run: | - sshpass -p "$ZOWE_PASSWORD" ssh -o StrictHostKeyChecking=no $ZOWE_USERNAME@204.90.115.200 'sh -s' < .github/scripts/mainframe_operations.sh - ``` - -6. **Create script files** - - Create `.github/scripts/zowe_operations.sh` and add the following: - - ``` - #!/bin/bash - # zowe_operations.sh - - # Convert username to lowercase - LOWERCASE_USERNAME=$(echo "$ZOWE_USERNAME" | tr '[:upper:]' '[:lower:]') - - # Check if directory exists, create if it doesn't - if ! zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" &>/dev/null; then - echo "Directory does not exist. Creating it..." - zowe zos-files create uss-directory /z/$LOWERCASE_USERNAME/cobolcheck - else - echo "Directory already exists." - fi - - # Upload files - zowe zos-files upload dir-to-uss "./cobol-check" "/z/$LOWERCASE_USERNAME/cobolcheck" --recursive --binary-files "cobol-check-0.2.9.jar" - - # Verify upload - echo "Verifying upload:" - zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" - - ``` - - Create `.github/scripts/mainframe_operations.sh` and add the following: - - ``` - #!/bin/bash - # mainframe_operations.sh - - # Set up environment - export PATH=$PATH:/usr/lpp/java/J8.0_64/bin - export JAVA_HOME=/usr/lpp/java/J8.0_64 - export PATH=$PATH:/usr/lpp/zowe/cli/node/bin - - # Check Java availability - java -version - - # Set ZOWE_USERNAME - ZOWE_USERNAME="Z36963" # Replace with the actual username or dataset prefix - - # Change to the cobolcheck directory - cd cobolcheck - echo "Changed to $(pwd)" - ls -al - - # Make cobolcheck executable - chmod +x cobolcheck - echo "Made cobolcheck executable" - - # Make script in scripts directory executable - cd scripts - chmod +x linux_gnucobol_run_tests - echo "Made linux_gnucobol_run_tests executable" - cd .. - - # Function to run cobolcheck and copy files - run_cobolcheck() { - program=$1 - echo "Running cobolcheck for $program" - - # Run cobolcheck, but don't exit if it fails - ./cobolcheck -p $program - echo "Cobolcheck execution completed for $program (exceptions may have occurred)" - - # Check if CC##99.CBL was created, regardless of cobolcheck exit status - if [ -f "CC##99.CBL" ]; then - # Copy to the MVS dataset - if cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL($program)'"; then - echo "Copied CC##99.CBL to ${ZOWE_USERNAME}.CBL($program)" - else - echo "Failed to copy CC##99.CBL to ${ZOWE_USERNAME}.CBL($program)" - fi - else - echo "CC##99.CBL not found for $program" - fi - - # Copy the JCL file if it exists - if [ -f "${program}.JCL" ]; then - if cp ${program}.JCL "//'${ZOWE_USERNAME}.JCL($program)'"; then - echo "Copied ${program}.JCL to ${ZOWE_USERNAME}.JCL($program)" - else - echo "Failed to copy ${program}.JCL to ${ZOWE_USERNAME}.JCL($program)" - fi - else - echo "${program}.JCL not found" - fi - } - - # Run for each program - for program in NUMBERS EMPPAY DEPTPAY; do - run_cobolcheck $program - done +Let me show you how to set up a secret in our repository: + +```plaintext +[Switch to GitHub repository screen] +``` - echo "Mainframe operations completed" +1. In your repository, click on the 'Settings' tab. +2. In the left sidebar, click on 'Secrets and variables', then 'Actions'. +3. Click on 'New repository secret'. +4. For the name, let's enter `ZOWE_USERNAME`. This will be our mainframe username. +5. In the value field, enter your actual mainframe username. +6. Click 'Add secret'. - ``` - - Ensure both scripts have Unix-style line endings (LF, not CRLF) - -7. **Add COBOL Check files** - * Get the latest COBOL Check distribution from the GitHub repository of the COBOL Check https://github.com/openmainframeproject/cobol-check/tree/Developer/build/distributions. Click on the “View raw” button or the download button on the right most corner. You will get the .zip of COBOL Check. +Let's add another secret for our password: - ![](Images/image209.png) +1. Click 'New repository secret' again. +2. Name this one `ZOWE_PASSWORD`. +3. Enter your mainframe password as the value. +4. Click 'Add secret'. - *Figure 1. Download COBOL Check distribution* +Great! Now we have our mainframe credentials stored securely as GitHub Secrets. - ![](Images/image210.png) +In our GitHub Actions workflow, we'll be able to access these secrets using special syntax, like this: +```bash +${{ secrets.ZOWE_USERNAME }} ${{ secrets.ZOWE_PASSWORD }} +``` +This allows our workflow to use the credentials without ever exposing them in our code. - *Figure 2. Button to download the .zip file* +Remember, never share your secrets or commit them to your repository. GitHub Secrets are designed to keep this information secure, so always use them for sensitive data. - * Check your download location to view the .zip file and then extract it to the root of your local repository. +In the next segment, we'll start setting up our GitHub Actions workflow and see how we can use these secrets in our automation. - ![](Images/image211.png) +## Part Catherine +Now that we have our repository set up and our secrets in place, it's time to create our GitHub Actions workflow. This is where the magic happens - we'll automate our COBOL testing process. - *Figure 3. COBOL Check folder* +First, let's talk about what GitHub Actions are. They're essentially automated workflows that you can set up in your GitHub repository. These workflows can do things like run tests, deploy code, or in our case, run COBOL checks whenever we make changes to our code. - * Open your VS Code with the same team configuration file with the Learn Cobol folder which you have used in course 2. If not, you can also download it from https://github.com/openmainframeproject/cobol-programming-course/releases/latest - - * click on the icon of Zowe Explore of VS Code. +Let's create our workflow: - ![](Images/image212.png) +1. In your GitHub repository, click on the 'Actions' tab. +2. You'll see a page suggesting some workflow templates. For our custom workflow, click on 'set up a workflow yourself'. - *Figure 4. Zowe Explorer* +This will create a new YAML file in a `.github/workflows` directory. YAML is a human-friendly data serialization standard that's commonly used for configuration files. - In the DATA SETS section, you can view all the PDS (Partitioned datasets) and sequential files present. In the USS (Unix System Services) section, you can view the files or folder that is stored in the USS. USS is a posix compliant linux like environment which makes it easy for developers to interact with previous knowledge of using linux terminals and commands. In the JOBS section, you can view all about the running or completed jobs. +Let's go through this file and set it up for our needs: +```yaml +name: COBOL Check Automation - * Put your username and password in all the three sections by clicking on the search icon to view the files (DATA SETS, USS, JOBS) which you have learned in the previous chapters. +on: + push: + branches: [ main ] - ![](Images/image213.png) +jobs: + cobol-check: + runs-on: ubuntu-latest - *Figure 5. Enter your username* + steps: + - uses: actions/checkout@v2 + - name: Set up Java + uses: actions/setup-java@v2 + with: + java-version: '11' + - name: Run COBOL Check + env: + ZOWE_USERNAME: ${{ secrets.ZOWE_USERNAME }} + ZOWE_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} + run: | + # Here we'll add our commands to run cobolcheck + echo "Running COBOL Check" + # Add actual cobolcheck commands here +``` - ![](Images/image214.png) +Let's break this down: - *Figure 6. Enter your password* - - * After entering your username and password for the USS section search for `/z/z999XX` . put your username in place of z999XX. Now you can view all the files that are present in the USS. +- We're defining a job called 'cobol-check' that runs on the latest Ubuntu environment. +- The 'steps' section outlines what the job will do: + 1. It checks out our repository. + 2. It sets up Java, which is needed for cobolcheck. + 3. It runs our COBOL check commands. - ![](Images/image215.png) +Notice how we're using our GitHub Secrets here. We're setting them as environment variables that our script can use, but their values are never exposed in the logs. - *Figure 7. Search for /z/z999XX* +Now, let's commit this workflow file: -8. **Commit and push your changes** - - Stage your new files: `git add .` - - Commit the changes: `git commit -m \"Initial setup for COBOL Check automation\"` - - Push to GitHub: `git push origin main` +```plaintext +[Switch to GitHub interface] +``` -9. **Verify workflow** - - Go to the \"Actions\" tab in your GitHub repository - - You should see the workflow running (triggered by your push) - - Wait for it to complete and check the logs for any errors +1. Scroll down and click 'Start commit'. +2. Add a commit message like "Add GitHub Actions workflow for COBOL checking". +3. Click 'Commit new file'. +Great! We've just set up our GitHub Actions workflow. To test it, let's make a small change to our repository - maybe update the README file. -By following these steps, you'll have set up a GitHub repository with the necessary workflow and scripts to automate COBOL Check operations. This setup forms the foundation for the rest of the lab exercises, where you'll use this automation to interact with the mainframe and run COBOL Check on your programs." +```plaintext +[Make a change and commit] +``` -// +Now, if we go to the Actions tab, we should see our workflow running. Click on it to see the details. -1. view the files in the DATA SETS tab, you can see NUMBERS in Z99998.CBL. +```plaintext +[Show workflow running] +``` -![](Images/image231.png) +You can see each step being executed. If there are any issues, they'll be highlighted here. -*Figure 23. View the file on the DATA SETS tab* +And that's it! We've successfully set up a GitHub Actions workflow to automate our COBOL checking process. In the next segment, we'll dive deeper into the actual COBOL checking commands and how to interpret the results. -22. you can view the source code by right-clicking on it then click on ‘pull from mainframe’ +```plaintext +[Transition to the next segment] +``` +## Part Seis: No BS +Certainly! Let's create a script for adding the cobolcheck file to the repository. We'll cover downloading, extracting, adding to the repo, and committing the change. Here's a script for this segment: -23. Now, to run this code on the mainframe, you need to write a JCL in the Z99XXX.CBL with the same name NUMBERS (this course assumes you have basic knowledge about JCL). +Now that we have our GitHub Actions workflow set up, we need to add the COBOL Check tool to our repository. This will ensure that our workflow has access to the tool when it runs. -![](Images/image232.png) +Let's go through this process step by step: -*Figure 24. JCL to run the program* +1. First, we need to download the latest COBOL Check distribution. -24. Now submit the job. +```plaintext +[Switch to browser] +``` -![](Images/image233.png) +Let's navigate to the COBOL Check GitHub repository at https://github.com/openmainframeproject/cobol-check/tree/Developer/build/distributions. -*Figure 25. Submit the job* +2. Here, we're looking for the latest .zip file. It should be named something like 'cobol-check-.zip'. Click on the 'View raw' button or the download button in the top right corner to download this file. -25. Open the submitted job in the JOBS tab. Then expand it. Click on `RUN:SYSOUT` to see the desired output of the test case passed or failed. - The code `CC 0000` is success. If you get something else, then check the steps and JCL, then resubmit it. +3. Once the download is complete, let's extract the contents of the zip file. -![](Images/image234.png) +```plaintext +[Switch to file explorer] +``` -*Figure 26. RUN:SYSOUT-117 view the job output* +Right-click on the downloaded zip file and select 'Extract All' (on Windows) or use your preferred extraction method. +4. Now that we have the files extracted, let's add them to our repository. -\newpage -# Unit Testing with COBOL Check -In the previous Chapter, you have learned to set up the environment for COBOL Check on the USS (Unix System Services). In this chapter, you will see how to take any COBOL program and write unit tests for it (Lab 2). Also, Later in the chapter, you will see the concept of Test-Driven development (Lab 3). +```plaintext +[Switch to your local repository folder] +``` + +Create a new folder in your repository called 'cobol-check' and copy the extracted files into this folder. + +5. Next, we need to stage these new files for commit. + +```plaintext +[Open terminal/command prompt] +``` + +Navigate to your repository folder and run these Git commands: + +```bash +git add cobol-check +git status +``` + +The `git status` command will show you all the new files that are staged for commit. + +6. Now, let's commit these changes: + +```bash +git commit -m "Add COBOL Check tool to repository" +``` + +7. Finally, we need to push these changes to GitHub: + +```bash +git push origin main +``` + +```plaintext +[Switch to GitHub repository page and refresh] +``` + +Great! Now, you should see the new 'cobol-check' folder in your GitHub repository. + +By adding COBOL Check directly to our repository, we ensure that our GitHub Actions workflow will have access to the tool without needing to download it each time the workflow runs. This can save time and reduce potential points of failure in our automation. + +In the next segment, we'll update our GitHub Actions workflow to use this local copy of COBOL Check, and we'll start writing the actual commands to run our COBOL tests. + +```plaintext +[Transition to the next segment] +``` + +## Part Lucky 7 +In this segment, we're going to create a crucial script for our COBOL Check automation process. This script, which we'll call `zowe_operations.sh`, is responsible for setting up our mainframe environment and uploading the necessary files for COBOL Check to run. + +But before we create it, let's understand why we need this script and what it does: + +### Purpose of the Script + +1. **Mainframe Interaction**: This script uses Zowe CLI to interact with the mainframe. Zowe is an open-source framework that simplifies interaction with z/OS systems. +2. **Environment Setup**: It ensures that we have the correct directory structure on the mainframe to run our COBOL Check tests. +3. **File Transfer**: It uploads our COBOL Check files from our GitHub repository to the mainframe. + +Now, let's break down what each part of the script does: + +1. **Username Conversion**: + +```bash +LOWERCASE_USERNAME=$(echo "$ZOWE_USERNAME" | tr '[:upper:]' '[:lower:]') +``` + +This converts the username to lowercase, as mainframe usernames are typically case-sensitive and lowercase. + +2. **Directory Check and Creation**: + +```bash +if ! zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" &>/dev/null; then + echo "Directory does not exist. Creating it..." + zowe zos-files create uss-directory /z/$LOWERCASE_USERNAME/cobolcheck +else + echo "Directory already exists." +fi +``` + +This checks if the required directory exists on the mainframe. If it doesn't, the script creates it. This ensures we have a place to upload our COBOL Check files. + +3. **File Upload**: + +```bash +zowe zos-files upload dir-to-uss "./cobol-check" "/z/$LOWERCASE_USERNAME/cobolcheck" --recursive --binary-files "cobol-check-0.2.9.jar" +``` + +This uploads the COBOL Check files from our GitHub repository to the mainframe. The `--recursive` flag ensures all subdirectories are uploaded, and `--binary-files` specifies which files should be transferred in binary mode. + +4. **Upload Verification**: + +```bash +echo "Verifying upload:" +zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" +``` + +This lists the contents of the directory on the mainframe, allowing us to verify that our files were uploaded successfully. + +By automating these steps, we ensure that every time our GitHub Actions workflow runs, we have the correct environment and up-to-date files on the mainframe to run our COBOL Check tests. + +Now, let's create this script in our repository. + +1. Navigate to your GitHub repository in your web browser. +2. Click on the 'Add file' button, then select 'Create new file'. +3. In the name field, type `.github/scripts/zowe_operations.sh`. This will automatically create the `.github` and `scripts` folders if they don't exist. +4. In the file editor, let's add our script: + +```bash +#!/bin/bash + +# zowe_operations.sh + +# Convert username to lowercase +LOWERCASE_USERNAME=$(echo "$ZOWE_USERNAME" | tr '[:upper:]' '[:lower:]') + +# Check if directory exists, create if it doesn't +if ! zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" &>/dev/null; then + echo "Directory does not exist. Creating it..." + zowe zos-files create uss-directory /z/$LOWERCASE_USERNAME/cobolcheck +else + echo "Directory already exists." +fi + +# Upload files +zowe zos-files upload dir-to-uss "./cobol-check" "/z/$LOWERCASE_USERNAME/cobolcheck" --recursive --binary-files "cobol-check-0.2.9.jar" + +# Verify upload +echo "Verifying upload:" +zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" +``` + +5. Scroll down to the 'Commit new file' section. +6. Add a commit message like "Add Zowe operations script in .github/scripts/". +7. Ensure 'Commit directly to the main branch' is selected. +8. Click 'Commit new file'. + +Great! Now our Zowe operations script is in the repository, neatly organized in the `.github/scripts/` directory. + +### Next, let's update our GitHub Actions workflow to use this new script: + +1. In your repository, navigate to the `.github/workflows` directory. +2. Click on the workflow file we created earlier (it might be named `main.yml`). +3. Click the pencil icon to edit the file. +4. Find the step we previously named 'Run COBOL Check' and update it to look like this: + +```yaml +- name: Setup Mainframe Environment and Upload COBOL Check + env: + ZOWE_USERNAME: ${{ secrets.ZOWE_USERNAME }} + ZOWE_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} + run: | + chmod +x .github/scripts/zowe_operations.sh + .github/scripts/zowe_operations.sh +``` + +5. Scroll down to the 'Commit changes' section. +6. Add a commit message like "Update workflow to use Zowe operations script from .github/scripts/". +7. Ensure 'Commit directly to the main branch' is selected. +8. Click 'Commit changes'. + +Excellent! We've now created our Zowe operations script in a dedicated scripts folder and updated our workflow to use it, all directly on GitHub. + +This organization keeps our repository clean and makes it easier to manage multiple scripts as our project grows. -## Lab 2 +In the next segment, we'll test our updated workflow. -In this lab, You will have to write test cases for a given COBOL program to check the paragraphs of the program. Here the code is written first, then the tests are done to check the correctness of the code, but in a later portion of the chapter you will see the TDD where the tests are written first then the code is written to pass the tests. i.e., the tests drive the code. +```plaintext +[Transition to the next segment] +``` + +## Part Hewitt +Now that we have our environment set up and COBOL Check files uploaded to the mainframe, we need to create the main script that will actually run COBOL Check on our mainframe. This script will set up the necessary environment variables, make our files executable, and run COBOL Check for each of our programs. + +Let's create this script directly on GitHub: + +1. Navigate to your GitHub repository in your web browser. +2. Click on the 'Add file' button, then select 'Create new file'. +3. Name the file `.github/scripts/mainframe_operations.sh`. +4. In the file editor, let's add our script: + +```bash +#!/bin/bash + +# mainframe_operations.sh + +# Set up environment +export PATH=$PATH:/usr/lpp/java/J8.0_64/bin +export JAVA_HOME=/usr/lpp/java/J8.0_64 +export PATH=$PATH:/usr/lpp/zowe/cli/node/bin + +# Check Java availability +java -version + +# Set ZOWE_USERNAME +ZOWE_USERNAME="Z99998" # Replace with the actual username + +# Change to the cobolcheck directory +cd cobolcheck +echo "Changed to $(pwd)" +ls -al + +# Make cobolcheck executable +chmod +x cobolcheck +echo "Made cobolcheck executable" + +# Make script in scripts directory executable +cd scripts +chmod +x linux_gnucobol_run_tests +echo "Made linux_gnucobol_run_tests executable" +cd .. + +# Function to run cobolcheck and copy files +run_cobolcheck() { + program=$1 + echo "Running cobolcheck for $program" + + # Run cobolcheck, but don't exit if it fails + ./cobolcheck -p $program + echo "Cobolcheck execution completed for $program (exceptions may have occurred)" + + # Check if CC##99.CBL was created, regardless of cobolcheck exit status + if [ -f "CC##99.CBL" ]; then + # Copy to the MVS dataset + if cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL($program)'"; then + echo "Copied CC##99.CBL to ${ZOWE_USERNAME}.CBL($program)" + else + echo "Failed to copy CC##99.CBL to ${ZOWE_USERNAME}.CBL($program)" + fi + else + echo "CC##99.CBL not found for $program" + fi + + # Copy the JCL file if it exists + if [ -f "${program}.JCL" ]; then + if cp ${program}.JCL "//'${ZOWE_USERNAME}.JCL($program)'"; then + echo "Copied ${program}.JCL to ${ZOWE_USERNAME}.JCL($program)" + else + echo "Failed to copy ${program}.JCL to ${ZOWE_USERNAME}.JCL($program)" + fi + else + echo "${program}.JCL not found" + fi +} + +# Run for each program +for program in NUMBERS EMPPAY DEPTPAY; do + run_cobolcheck $program +done + +echo "Mainframe operations completed" +``` + +Now, let's go through what this script does: + +1. It sets up the environment variables for Java and Zowe CLI. +2. It checks Java availability. +3. It changes to the cobolcheck directory and makes necessary files executable. +4. It defines a function `run_cobolcheck` that: + - Runs COBOL Check for a given program + - Copies the generated files to the appropriate MVS datasets +5. It then runs this function for each of our COBOL programs: NUMBERS, EMPPAY, and DEPTPAY. +5. Scroll down to the 'Commit new file' section. +6. Add a commit message like "Add main COBOL Check execution script". +7. Ensure 'Commit directly to the main branch' is selected. +8. Click 'Commit new file'. -1. In the USS tab, right-click on the cobol folder then click on create file. Name the file with .CBL extension. +Now that we've added this script, we need to update our GitHub Actions workflow to use it. Let's add a new step to our workflow: -![](Images/image236.png) +[Navigate to the workflow file] -*Figure 1. Create new file* +Add this new step after the 'Setup Mainframe Environment and Upload COBOL Check' step: -![](Images/image237.png) +```yaml +- name: Run COBOL Check on Mainframe + env: + ZOWE_USERNAME: ${{ secrets.ZOWE_USERNAME }} + ZOWE_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} + run: | + chmod +x .github/scripts/mainframe_operations.sh + .github/scripts/mainframe_operations.sh +``` + +This new step will execute our mainframe operations script, running COBOL Check for each of our programs. + +Remember to commit these changes to the workflow file. -*Figure 2. Name the newly created file* +In the GitHub Actions output for this step, you should expect to see: -2. Click on the new file (EMPPAY.CBL) or click on pull it from mainframe to view the file in the vs code editor. Then write the COBOL code. +1. Confirmation that the script changed to the correct directory. +2. Messages about making files executable. +3. Output from COBOL Check for each program (NUMBERS, EMPPAY, DEPTPAY). +4. Messages about copying files to MVS datasets. +5. Any error messages if something goes wrong. +In the next segment, we'll run our updated workflow and analyze the results. + +```plaintext +[Transition to the next segment] ``` + +## Part Nien! Nien! Nein! Nein! Nein! +Now that we have our main COBOL Check execution script, we need to create the Job Control Language (JCL) files for each of our COBOL programs. These JCL files are crucial as they define how our programs will be compiled and executed on the mainframe. + +### Let's start by creating the JCL file for our NUMBERS program: + +1. Navigate to your GitHub repository in your web browser. +2. Click on the 'Add file' button, then select 'Create new file'. +3. Name the file `NUMBERS.JCL`. +4. In the file editor, let's add our JCL content: + +```plaintext +//NUMBERSJ JOB 1,NOTIFY=&SYSUID +//******************************************************* +//COBRUN EXEC IGYWCL +//COBOL.SYSIN DD DSN=&SYSUID..CBL(CBL0001),DISP=SHR +//LKED.SYSLMOD DD DSN=&SYSUID..LOAD(CBL0001),DISP=SHR +//******************************************************* +// IF RC = 0 THEN +//******************************************************* +//RUN EXEC PGM=NUMBERS +//STEPLIB DD DSN=&SYSUID..LOAD,DISP=SHR +//ACCTREC DD DSN=&SYSUID..DATA,DISP=SHR +//PRTLINE DD SYSOUT=*,OUTLIM=15000 +//SYSOUT DD SYSOUT=*,OUTLIM=15000 +//CEEDUMP DD DUMMY +//SYSUDUMP DD DUMMY +//******************************************************* +// ELSE +// ENDIF +``` + +Now, let's break down what this JCL file does: + +1. `//NUMBERSJ JOB 1,NOTIFY=&SYSUID`: This line defines the job name and parameters. +2. `//COBRUN EXEC IGYWCL`: This executes the COBOL compiler and linkage editor. +3. `//COBOL.SYSIN DD DSN=&SYSUID..CBL(CBL0001),DISP=SHR`: This specifies the input COBOL source code. +4. `//LKED.SYSLMOD DD DSN=&SYSUID..LOAD(CBL0001),DISP=SHR`: This specifies where to store the compiled program. +5. The `IF RC = 0 THEN` block: This checks if the compilation was successful. +6. `//RUN EXEC PGM=NUMBERS`: This executes the NUMBERS program. +7. The subsequent DD statements define the necessary datasets for the program execution. + +This JCL file will compile our NUMBERS COBOL program and, if successful, run it on the mainframe. + +5. Scroll down to the 'Commit new file' section. +6. Add a commit message like "Add JCL file for NUMBERS program". +7. Ensure 'Commit directly to the main branch' is selected. +8. Click 'Commit new file'. + +### Now that we've added this JCL file, our `mainframe_operations.sh` script will be able to find and use it when running COBOL Check for the NUMBERS program. + +In the GitHub Actions output, you should now expect to see: + +1. A message indicating that `NUMBERS.JCL` was found. +2. A message confirming that `NUMBERS.JCL` was copied to the appropriate MVS dataset. + +Remember, we still need to create similar JCL files for EMPPAY and DEPTPAY programs. In a real-world scenario, each program would have its own specific JCL file tailored to its requirements. + +### Now that we've created and committed our JCL file, let's review how we can manually submit this job using Zowe Explorer in Visual Studio Code. As you'll recall from the introductory chapter of this course, you should already have Zowe Explorer set up and configured in your VSCode environment. + +Let's go through the process of submitting our NUMBERS job: + +1. Open VSCode and locate the Zowe Explorer icon in your sidebar. Click on it to open the Zowe Explorer panel. +2. In the Zowe Explorer panel, you should see your mainframe connection that we set up earlier in the course. +3. Expand your connection and navigate to your JCL dataset. It should be named something like `YOURUSERID.JCL`. +4. Find the NUMBERS member we just created. +5. Right-click on the NUMBERS member and select 'Submit Job'. +6. Zowe Explorer will submit the job to the mainframe and show you the job ID. You'll see a notification in the bottom right corner of VSCode with this information. +7. Once the job is completed, right-click on the job in the 'Jobs' view and select 'View Job Output' to see the results of your job submission. + +This process allows you to quickly test your JCL and see the results without leaving your VSCode environment. It's particularly useful when you're making changes to your COBOL programs or JCL and want to test them immediately. + +Remember, while our GitHub Actions workflow can automate this process, being able to manually submit jobs is an important skill for mainframe development and debugging. It allows you to iteratively test and refine your programs and JCL files. + +### In the next segment, we'll discuss unit testing. + +## Part Deus Ex Machina +Now that we've set up our environment and created our JCL files, let's dive into unit testing our COBOL programs using COBOL Check. In this segment, we'll focus on creating and testing our EMPPAY program. + +### First, let's create our `EMPPAY.CBL` program: + +1. Navigate to your GitHub repository in your web browser. +2. Go to the `src/main/cobol` directory. If it doesn't exist, create it: + - Click `Create new file` + - In the name field, type `src/main/cobol/EMPPAY.CBL` + - This will create the directories if they don't exist +3. Click on the 'Add file' button, then select 'Create new file'. +4. Name the file `EMPPAY.CBL`. +5. In the file editor, let's add our COBOL program: + +```cobol IDENTIFICATION DIVISION. PROGRAM-ID. EMPPAY. AUTHOR. ASHIS KUMAR NAIK. - DATA DIVISION. WORKING-STORAGE SECTION. 77 REC-COUNTER PIC 9(1). @@ -637,7 +923,7 @@ In this lab, You will have to write test cases for a given COBOL program to chec 05 EMP-HOURS PIC 9(3). 05 EMP-PAY-WEEK PIC 9(7)V99. 05 EMP-PAY-MONTH PIC 9(7)V99. - + PROCEDURE DIVISION. PERFORM INITIALIZATION. PERFORM PAYMENT-WEEKLY. @@ -650,7 +936,7 @@ In this lab, You will have to write test cases for a given COBOL program to chec MOVE 19 TO EMP-HOURS. MOVE 23.50 TO EMP-HOURLY-RATE. PAYMENT-WEEKLY. - + IF EMP-HOURS >= 40 MOVE .25 TO EMP-OT-RATE ELSE IF EMP-HOURS >= 50 @@ -660,7 +946,7 @@ In this lab, You will have to write test cases for a given COBOL program to chec COMPUTE EMP-PAY-WEEK = (EMP-HOURS * EMP-HOURLY-RATE) * (1 + EMP-OT-RATE). PAYMENT-MONTHLY. - + IF EMP-HOURS > 150 MOVE .50 TO EMP-REWARD ELSE @@ -675,75 +961,76 @@ In this lab, You will have to write test cases for a given COBOL program to chec DISPLAY "Gross Pay Per Week: " EMP-PAY-WEEK . DISPLAY "Gross Pay Per Month: " EMP-PAY-MONTH . DISPLAY "Hi Chris - how's Loretta today?". - ``` -3. Right-click on the cobol directory under the test directory. Click on the `Create Directory` and name it the same as the program name (EMPPAY). - -![](Images/image238.png) - -*Figure 3. Create a new directory* - -![](Images/image239.png) - -*Figure 4. Name the directory* - -4. create a new file inside the EMPPAY directory as you learned above with the extension .cut which will be a testsuite file. Then write the test suites and test cases. - +6. Commit this new file to your repository. + +### Now that we have our EMPPAY program, let's create our test suite: + +1. In your repository, navigate to the `test` directory. +2. Create a new directory named `EMPPAY`. +3. Inside the EMPPAY directory, create a new file named `EMPPAY.cut`. +4. In this file, we'll write our test cases: + +```plaintext +TestSuite 'Checks the employee payment' + +TestCase 'checks the EMP-OT-RATE TO be 0.25' +MOVE 50 TO EMP-HOURS +MOVE 23.50 TO EMP-HOURLY-RATE +PERFORM PAYMENT-WEEKLY +EXPECT EMP-OT-RATE TO BE 0.25 + +TestCase 'checks the EMP-PAY-WEEKLY > 900 if EMP-HOURS >= 40' +MOVE 40 TO EMP-HOURS +MOVE 23.50 TO EMP-HOURLY-RATE +PERFORM PAYMENT-WEEKLY +EXPECT EMP-PAY-WEEK >= 900 + +TestCase 'checks the EMP-PAY-WEEKLY > 1600 ' +MOVE 60 TO EMP-HOURS +MOVE 23.50 TO EMP-HOURLY-RATE +PERFORM PAYMENT-WEEKLY +EXPECT EMP-PAY-WEEK >= 1600 + +TestCase 'checks the EMP-PAY-MONTHLY to be greater than 9600' +MOVE 160 TO EMP-HOURS +MOVE 1600 TO EMP-PAY-WEEK +PERFORM PAYMENT-MONTHLY +EXPECT EMP-PAY-MONTH >= 9600 ``` - TestSuite 'Checks the employee payment' - TestCase 'checks the EMP-OT-RATE TO be 0.25' - MOVE 50 TO EMP-HOURS - MOVE 23.50 TO EMP-HOURLY-RATE - PERFORM PAYMENT-WEEKLY - EXPECT EMP-OT-RATE TO BE 0.25 +5. Commit these changes to your repository. - TestCase 'checks the EMP-PAY-WEEKLY > 900 if EMP-HOURS >= 40' - MOVE 40 TO EMP-HOURS - MOVE 23.50 TO EMP-HOURLY-RATE - PERFORM PAYMENT-WEEKLY - EXPECT EMP-PAY-WEEK >= 900 +### Now, let's update our `mainframe_operations.sh` script to run COBOL Check for EMPPAY: - TestCase 'checks the EMP-PAY-WEEKLY > 1600 ' - MOVE 60 TO EMP-HOURS - MOVE 23.50 TO EMP-HOURLY-RATE - PERFORM PAYMENT-WEEKLY - EXPECT EMP-PAY-WEEK >= 1600 +[Navigate to `mainframe_operations.sh` and add the following lines] - TestCase 'checks the EMP-PAY-MONTHLY to be greater than 9600' - MOVE 160 TO EMP-HOURS - MOVE 1600 TO EMP-PAY-WEEK - PERFORM PAYMENT-MONTHLY - EXPECT EMP-PAY-MONTH >= 9600 +```bash +# Run COBOL Check for EMPPAY +echo "Running COBOL Check for EMPPAY" +./cobolcheck -p EMPPAY ``` -5. SSH into your USS of the mainframe. Then run the usual command ./cobolcheck -p EMPPAY. Here the flag -p represents the program name. Now the new cobol source code with the name CC##99.CBL is generated as we have seen earlier. - -![](Images/image240.png) +Commit these changes to your repository. -*Figure 5. ssh connection* +### Now that we have our EMPPAY program and its test suite, we need to create the JCL file to run it on the mainframe. Let's create `EMPPAY.JCL`: -6. Copy the newly generate source code to DATA SETS (Z99998.CBL) just like as we have seen earlier, use the command `cp CC##99.CBL "//'Z99998.CBL(EMPPAY)'"` +1. In your GitHub repository, navigate to the root directory. +2. Click on 'Add file', then 'Create new file'. +3. Name the file `EMPPAY.JCL`. +4. In the file editor, add the following JCL content: -![](Images/image241.png) - -*Figure 6. Copy files from USS to PDS* - -7. Write a JCL script with the same name as EMPPAY.JCL for running the program (EMPPAY.CBL) on z/os. - -``` +```plaintext //EMPPAY JOB 1,NOTIFY=&SYSUID -//***************************************************/ +//******************************************************* //* Copyright Contributors to the COBOL Programming Course //* SPDX-License-Identifier: CC-BY-4.0 -//***************************************************/ +//******************************************************* //COBRUN EXEC IGYWCL //COBOL.SYSIN DD DSN=&SYSUID..CBL(EMPPAY),DISP=SHR //LKED.SYSLMOD DD DSN=&SYSUID..LOAD(EMPPAY),DISP=SHR -//***************************************************/ // IF RC = 0 THEN -//***************************************************/ //RUN EXEC PGM=EMPPAY //STEPLIB DD DSN=&SYSUID..LOAD,DISP=SHR //ACCTREC DD DSN=&SYSUID..DATA,DISP=SHR @@ -751,49 +1038,52 @@ In this lab, You will have to write test cases for a given COBOL program to chec //SYSOUT DD SYSOUT=*,OUTLIM=15000 //CEEDUMP DD DUMMY //SYSUDUMP DD DUMMY -//***************************************************/ -// ELSE // ENDIF - ``` -8. Submit the job and view the output in the JOBS section. +5. Commit this new file to your repository. -![](Images/image242.png) +This JCL file will compile our EMPPAY program and, if successful, run it on the mainframe. It's crucial for executing our tests in the mainframe environment. -*Figure 7. Job output* +When we run our GitHub Actions workflow, it will now: -## Test Driven Development: Unit test with TDD +1. Upload `EMPPAY.CBL` to the mainframe. +2. Run COBOL Check on EMPPAY. +3. Generate the `CC##99.CBL` file. +4. Copy this file to the appropriate MVS dataset. +5. Submit the `EMPPAY.JCL` job to run the tests. -If your team is hesitant to skip traditional unit tests, remember: TDD drives the code development, and every line of code has an associated test case, so unit testing is integrated into the practice. Unit testing is repeatedly done on the code until each unit function per the requirements, eliminating the need for you to write more unit test cases. +In the GitHub Actions output, you should expect to see: -At IBM, teams found that the built-in unit testing produces better code. One team recently worked on a project where a small portion of the team used TDD while the rest wrote unit tests after the code. When the code was complete, the developers that wrote unit tests were surprised to see that the TDD coders were done and had more solid code. +1. Messages about running COBOL Check for EMPPAY. +2. Output from the COBOL Check process. +3. Messages about copying `CC##99.CBL` to the MVS dataset. +4. Job submission and output for `EMPPAY.JCL`. -Unlike unit testing that focuses only on testing the functions, classes, and procedures, TDD drives the complete development of the application. Therefore, you can also write functional and acceptance tests first. +Remember, writing good unit tests is crucial for maintaining code quality. These tests help us catch bugs early and ensure that our code behaves correctly even as we make changes. -To gain the full benefits of unit testing and TDD, automate the tests by using automated unit test tools. Automating your tests is essential for continuous integration and is the first step in creating an automated continuous delivery pipeline. +### Next, we will discuss Test Driven Development (TDD). -## Lab 3 -1. First write the desired test cases in a file with `deptpay.cut` extension and store it in a directory (name of directory: DEPTPAY, same as the program name) inside the desired COBOL Check directory configuration as we have seen earlier. +## Magna Carta +Now that we've seen how to write unit tests for existing code, let's explore Test-Driven Development (TDD) using COBOL Check. TDD is a software development process where you write tests before writing the actual code. This approach can lead to better code quality and design. -``` - TestSuite "Calculation of average Salary" +### Let's create a new program called DEPTPAY using TDD: - TestCase 'NUMBER OF PERSON TO BE 19' - PERFORM AVERAGE-SALARY. - EXPECT DEPT-NBR-EMPS TO BE 19 - - TestCase 'TOTAL AVERAGE SALARY TO BE 111111.11' - PERFORM AVERAGE-SALARY. - EXPECT DEPT-TOTAL-SALARIES TO BE 111111.11 +1. First, we'll write our test cases. In your GitHub repository, create a new file at 'src/test/cobol/DEPTPAY.cut' with the following content: ``` +TestSuite "Calculation of average Salary" -The name of testsuite describes with - -2. Write the COBOL source code for the program and save it as `DEPTPAY.CBL` in desired COBOL Check directory. +TestCase 'NUMBER OF PERSON TO BE 19' +PERFORM AVERAGE-SALARY. +EXPECT DEPT-NBR-EMPS TO BE 19 +TestCase 'TOTAL AVERAGE SALARY TO BE 111111.11' +PERFORM AVERAGE-SALARY. +EXPECT DEPT-TOTAL-SALARIES TO BE 111111.11 ``` +2. Now, let's create our COBOL program to pass these tests. Create a new file at 'src/main/cobol/DEPTPAY.CBL': +```cobol IDENTIFICATION DIVISION. PROGRAM-ID. DEPTPAY. DATA DIVISION. @@ -821,7 +1111,7 @@ The name of testsuite describes with MOVE 111111.11 TO DEPT-TOTAL-SALARIES. COMPUTE DEPT-AVG-SALARY = (DEPT-TOTAL-SALARIES / DEPT-NBR-EMPS). - ***** + DISPLAY-DETAILS. DISPLAY "Department Name: " DEPT-NAME. DISPLAY "Department Location: " DEPT-LOC. @@ -829,34 +1119,29 @@ The name of testsuite describes with DISPLAY "Manager NAME: " MANAGER-FNAME. DISPLAY "Department AVG Salary: " DEPT-AVG-SALARY. DISPLAY "Number of employees: " DEPT-NBR-EMPS. - ``` -3. Write the jcl for automatically copying the program form USS to PDS (partitioned Data sets) and submitting it. Each time you have made some changes to the code or test cases you need to run the command in USS `./cobolcheck -p DEPTPAY` - -``` - +3. Now, let's create a JCL file to run our tests. Create 'DEPTPAY.JCL' in the root of your repository: +``` //DEPTPAYJ JOB 1,NOTIFY=&SYSUID //COPY2DS1 EXEC PGM=IKJEFT01 //INUNIX DD PATHOPTS=(ORDONLY), -// PATH='/z/z99998/cobolcheck/CC##99.CBL' -//OUTMVS DD DSN=Z99998.CBL(DEPTPAY),DISP=SHR +// PATH='/z/&SYSUID./cobolcheck/CC##99.CBL' +//OUTMVS DD DSN=&SYSUID..CBL(DEPTPAY),DISP=SHR //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * OCOPY IND(INUNIX) OUTDD(OUTMVS) TEXT CONVERT(YES) PATHOPTS(USE) /* //COBRUN EXEC IGYWCL -//COBOL.SYSIN DD DSN=Z99998.CBL(DEPTPAY),DISP=SHR -//LKED.SYSLMOD DD DSN=Z99998.LOAD(DEPTPAY),DISP=SHR +//COBOL.SYSIN DD DSN=&SYSUID..CBL(DEPTPAY),DISP=SHR +//LKED.SYSLMOD DD DSN=&SYSUID..LOAD(DEPTPAY),DISP=SHR //RUN EXEC PGM=DEPTPAY -//STEPLIB DD DSN=Z99998.LOAD,DISP=SHR - - +//STEPLIB DD DSN=&SYSUID..LOAD,DISP=SHR ``` -In the Jobs section, see the output. -Note: JOBS status code `CC 0000` is for success. If you got something else, correct the code and the test suites. Then resubmit. -4. Add a new testcase to the `deptpay.cut` file. +4. Commit all these changes to your repository. + +Now, let's add a new test case to demonstrate the TDD process. Add the following to your DEPTPAY.cut file: ``` TestCase 'average salary will be greater than 5840' @@ -864,7 +1149,17 @@ PERFORM AVERAGE-SALARY. EXPECT DEPT-AVG-SALARY >= 5840 ``` -Then submit the jcl and see the output. +Commit this change to your repository. + +When you run your GitHub Actions workflow now, it will: +1. Run COBOL Check on DEPTPAY +2. Copy the generated CC##99.CBL to the mainframe +3. Submit the DEPTPAY.JCL job + +In the job output, look for the status code. A 'CC 0000' indicates success. If you see a different code, you'll need to adjust your code or tests and rerun the workflow. +This TDD approach ensures that your code is testable from the start and that all functionality is covered by tests. It can lead to better design decisions and more maintainable code. + [End of chapter] + ## Basics of continuous integration, continuous delivery From 9b7c8b9564d1a00f8009672aaf139cd0d7e5167e Mon Sep 17 00:00:00 2001 From: Ali <65877768+alim395@users.noreply.github.com> Date: Sat, 24 Aug 2024 14:24:03 +0300 Subject: [PATCH 7/8] Update COBOL Programming Course #4 - Testing.md Removed Unnecessary preamble. Signed-off-by: Ali <65877768+alim395@users.noreply.github.com> --- .../COBOL Programming Course #4 - Testing.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md index 48a6a5c9..786df894 100644 --- a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md +++ b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md @@ -294,16 +294,6 @@ You can take a look at the COBOL Check wiki page for better understanding: https // # Automation with GitHub Actions -Hello everyone! My name is Ali, and I'm excited to be here as a mentee for the COBOL Programming Course. - -As part of my journey in this course, I've been tasked with an exciting project that I'd like to share with you today. My role has been to automate the process of running and testing COBOL programs using a tool called cobolcheck. - -Initially, we were planning to use Jenkins for this automation. However, after consulting with some experts in the field, we made an interesting pivot. We decided to go with GitHub Actions instead. This choice was made because GitHub Actions is more accessible and easier to understand, especially for those who might be new to automation or continuous integration. - -This shift to GitHub Actions has been an exciting part of the learning process. It's taught me the importance of flexibility in software development and how choosing the right tools can make a big difference in project efficiency. - -Now on the topic of GitHub actions… - GitHub Actions allows you to automate workflows within your GitHub repository. We thought that it would be a powerful and easy to use platform for automating tasks related to Zowe CLI commands and running COBOL Check. It allows defining workflows in a YAML configuration file, similar to other CI/CD tools. This YAML file can specify Zowe CLI commands to be executed along with options for handling outputs and chaining actions. From 8bae49996d3236a76b272f88cd2446eebc5e2653 Mon Sep 17 00:00:00 2001 From: Ali <65877768+alim395@users.noreply.github.com> Date: Sat, 24 Aug 2024 14:24:03 +0300 Subject: [PATCH 8/8] Update COBOL Programming Course #4 - Testing.md Removed Unnecessary preamble. Fixed Headings and some formatting. Signed-off-by: Ali <65877768+alim395@users.noreply.github.com> --- .../COBOL Programming Course #4 - Testing.md | 653 ++++++++---------- 1 file changed, 270 insertions(+), 383 deletions(-) diff --git a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md index 48a6a5c9..595dc408 100644 --- a/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md +++ b/COBOL Programming Course #4 - Testing/COBOL Programming Course #4 - Testing.md @@ -294,16 +294,6 @@ You can take a look at the COBOL Check wiki page for better understanding: https // # Automation with GitHub Actions -Hello everyone! My name is Ali, and I'm excited to be here as a mentee for the COBOL Programming Course. - -As part of my journey in this course, I've been tasked with an exciting project that I'd like to share with you today. My role has been to automate the process of running and testing COBOL programs using a tool called cobolcheck. - -Initially, we were planning to use Jenkins for this automation. However, after consulting with some experts in the field, we made an interesting pivot. We decided to go with GitHub Actions instead. This choice was made because GitHub Actions is more accessible and easier to understand, especially for those who might be new to automation or continuous integration. - -This shift to GitHub Actions has been an exciting part of the learning process. It's taught me the importance of flexibility in software development and how choosing the right tools can make a big difference in project efficiency. - -Now on the topic of GitHub actions… - GitHub Actions allows you to automate workflows within your GitHub repository. We thought that it would be a powerful and easy to use platform for automating tasks related to Zowe CLI commands and running COBOL Check. It allows defining workflows in a YAML configuration file, similar to other CI/CD tools. This YAML file can specify Zowe CLI commands to be executed along with options for handling outputs and chaining actions. @@ -318,7 +308,7 @@ Whether you're new to COBOL or an experienced programmer looking to modernize yo So, let's dive in and see how we can make COBOL testing a breeze with automation and GitHub Actions! -## Part Deux +## Lab 1: Setup Now that we've introduced our project, let's talk about what you'll need to follow along and how to get started with GitHub. Before we dive into creating our GitHub repository, let's go over the prerequisites you'll need to follow along with this tutorial: @@ -348,8 +338,6 @@ And there we have it! We've just created our new GitHub repository with a README Great! Now that we've created our repository on GitHub, let's get it onto your local machine so you can work with the files directly. There are many ways to do this, but for the sake of simplicity, we will do this using Git from the command line. -### Method 1: Using Git from the command line - 1. First, open your terminal or command prompt. 2. Navigate to the directory where you want to store your project. 3. On your GitHub repository page, click the green 'Code' button and copy the URL provided. @@ -357,18 +345,15 @@ Great! Now that we've created our repository on GitHub, let's get it onto your l ```bash git clone [URL] ``` -5. Press Enter, and Git will clone the repository to your local machine. +1. Press Enter, and Git will clone the repository to your local machine. We will now discuss the last step before we are all set to begin cobolcheck. -## Part Tree -Now that we have our repository set up both on GitHub and locally, let's talk about an important feature of GitHub that we'll be using in our automation: GitHub Secrets. - -### What are GitHub Secrets? +### GitHub Secrets: GitHub Secrets are a way to store sensitive information in your GitHub repository. These could be things like API keys, passwords, or in our case, mainframe credentials. The key feature of GitHub Secrets is that they're encrypted and only exposed to selected GitHub Actions during runtime. -### Why do we use GitHub Secrets? +Why do we use GitHub Secrets? 1. Security: We never want to hardcode sensitive information directly into our scripts or workflows. That would be like leaving your house key under the doormat - anyone who can see your code would have access to your sensitive data. 2. Flexibility: By using secrets, we can easily update our credentials without changing our code. @@ -408,7 +393,7 @@ Remember, never share your secrets or commit them to your repository. GitHub Sec In the next segment, we'll start setting up our GitHub Actions workflow and see how we can use these secrets in our automation. -## Part Catherine +### Workflows: Now that we have our repository set up and our secrets in place, it's time to create our GitHub Actions workflow. This is where the magic happens - we'll automate our COBOL testing process. First, let's talk about what GitHub Actions are. They're essentially automated workflows that you can set up in your GitHub repository. These workflows can do things like run tests, deploy code, or in our case, run COBOL checks whenever we make changes to our code. @@ -485,167 +470,109 @@ You can see each step being executed. If there are any issues, they'll be highli And that's it! We've successfully set up a GitHub Actions workflow to automate our COBOL checking process. In the next segment, we'll dive deeper into the actual COBOL checking commands and how to interpret the results. -```plaintext -[Transition to the next segment] -``` - -## Part Seis: No BS -Certainly! Let's create a script for adding the cobolcheck file to the repository. We'll cover downloading, extracting, adding to the repo, and committing the change. Here's a script for this segment: - +### COBOL Check: Now that we have our GitHub Actions workflow set up, we need to add the COBOL Check tool to our repository. This will ensure that our workflow has access to the tool when it runs. Let's go through this process step by step: -1. First, we need to download the latest COBOL Check distribution. - -```plaintext -[Switch to browser] -``` +1. Navigate to the COBOL Check GitHub repository at https://github.com/openmainframeproject/cobol-check/tree/Developer/build/distributions. -Let's navigate to the COBOL Check GitHub repository at https://github.com/openmainframeproject/cobol-check/tree/Developer/build/distributions. - -2. Here, we're looking for the latest .zip file. It should be named something like 'cobol-check-.zip'. Click on the 'View raw' button or the download button in the top right corner to download this file. +2. Here, we're looking for the latest .zip file. It should be named something like 'cobol-check-0.X.X.zip'. Click on the 'View raw' button or the download button in the top right corner to download this file. 3. Once the download is complete, let's extract the contents of the zip file. -```plaintext -[Switch to file explorer] -``` + ```plaintext + [Switch to file explorer] + ``` -Right-click on the downloaded zip file and select 'Extract All' (on Windows) or use your preferred extraction method. + Right-click on the downloaded zip file and select 'Extract All' (on Windows) or use your preferred extraction method. 4. Now that we have the files extracted, let's add them to our repository. -```plaintext -[Switch to your local repository folder] -``` + ```plaintext + [Switch to your local repository folder] + ``` -Create a new folder in your repository called 'cobol-check' and copy the extracted files into this folder. + Create a new folder in your repository called 'cobol-check' and copy the extracted files into this folder. 5. Next, we need to stage these new files for commit. -```plaintext -[Open terminal/command prompt] -``` + ```plaintext + [Open terminal/command prompt] + ``` -Navigate to your repository folder and run these Git commands: + Navigate to your repository folder and run these Git commands: -```bash -git add cobol-check -git status -``` + ```bash + git add cobol-check + git status + ``` -The `git status` command will show you all the new files that are staged for commit. + The `git status` command will show you all the new files that are staged for commit. 6. Now, let's commit these changes: -```bash -git commit -m "Add COBOL Check tool to repository" -``` + ```bash + git commit -m "Add COBOL Check tool to repository" + ``` 7. Finally, we need to push these changes to GitHub: -```bash -git push origin main -``` - -```plaintext -[Switch to GitHub repository page and refresh] -``` + ```bash + git push origin main + ``` -Great! Now, you should see the new 'cobol-check' folder in your GitHub repository. + ```plaintext + [Switch to GitHub repository page and refresh] + ``` -By adding COBOL Check directly to our repository, we ensure that our GitHub Actions workflow will have access to the tool without needing to download it each time the workflow runs. This can save time and reduce potential points of failure in our automation. + Great! Now, you should see the new 'cobol-check' folder in your GitHub repository. -In the next segment, we'll update our GitHub Actions workflow to use this local copy of COBOL Check, and we'll start writing the actual commands to run our COBOL tests. + By adding COBOL Check directly to our repository, we ensure that our GitHub Actions workflow will have access to the tool without needing to download it each time the workflow runs. This can save time and reduce potential points of failure in our automation. -```plaintext -[Transition to the next segment] -``` + In the next segment, we'll update our GitHub Actions workflow to use this local copy of COBOL Check, and we'll start writing the actual commands to run our COBOL tests. -## Part Lucky 7 +### Basic Script In this segment, we're going to create a crucial script for our COBOL Check automation process. This script, which we'll call `zowe_operations.sh`, is responsible for setting up our mainframe environment and uploading the necessary files for COBOL Check to run. But before we create it, let's understand why we need this script and what it does: -### Purpose of the Script - 1. **Mainframe Interaction**: This script uses Zowe CLI to interact with the mainframe. Zowe is an open-source framework that simplifies interaction with z/OS systems. 2. **Environment Setup**: It ensures that we have the correct directory structure on the mainframe to run our COBOL Check tests. 3. **File Transfer**: It uploads our COBOL Check files from our GitHub repository to the mainframe. -Now, let's break down what each part of the script does: - -1. **Username Conversion**: - -```bash -LOWERCASE_USERNAME=$(echo "$ZOWE_USERNAME" | tr '[:upper:]' '[:lower:]') -``` - -This converts the username to lowercase, as mainframe usernames are typically case-sensitive and lowercase. - -2. **Directory Check and Creation**: - -```bash -if ! zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" &>/dev/null; then - echo "Directory does not exist. Creating it..." - zowe zos-files create uss-directory /z/$LOWERCASE_USERNAME/cobolcheck -else - echo "Directory already exists." -fi -``` - -This checks if the required directory exists on the mainframe. If it doesn't, the script creates it. This ensures we have a place to upload our COBOL Check files. - -3. **File Upload**: - -```bash -zowe zos-files upload dir-to-uss "./cobol-check" "/z/$LOWERCASE_USERNAME/cobolcheck" --recursive --binary-files "cobol-check-0.2.9.jar" -``` - -This uploads the COBOL Check files from our GitHub repository to the mainframe. The `--recursive` flag ensures all subdirectories are uploaded, and `--binary-files` specifies which files should be transferred in binary mode. - -4. **Upload Verification**: - -```bash -echo "Verifying upload:" -zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" -``` - -This lists the contents of the directory on the mainframe, allowing us to verify that our files were uploaded successfully. - By automating these steps, we ensure that every time our GitHub Actions workflow runs, we have the correct environment and up-to-date files on the mainframe to run our COBOL Check tests. -Now, let's create this script in our repository. +**Now, let's create this script in our repository.** 1. Navigate to your GitHub repository in your web browser. 2. Click on the 'Add file' button, then select 'Create new file'. 3. In the name field, type `.github/scripts/zowe_operations.sh`. This will automatically create the `.github` and `scripts` folders if they don't exist. 4. In the file editor, let's add our script: -```bash -#!/bin/bash + ```bash + #!/bin/bash -# zowe_operations.sh + # zowe_operations.sh -# Convert username to lowercase -LOWERCASE_USERNAME=$(echo "$ZOWE_USERNAME" | tr '[:upper:]' '[:lower:]') + # Convert username to lowercase + LOWERCASE_USERNAME=$(echo "$ZOWE_USERNAME" | tr '[:upper:]' '[:lower:]') -# Check if directory exists, create if it doesn't -if ! zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" &>/dev/null; then - echo "Directory does not exist. Creating it..." - zowe zos-files create uss-directory /z/$LOWERCASE_USERNAME/cobolcheck -else - echo "Directory already exists." -fi + # Check if directory exists, create if it doesn't + if ! zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" &>/dev/null; then + echo "Directory does not exist. Creating it..." + zowe zos-files create uss-directory /z/$LOWERCASE_USERNAME/cobolcheck + else + echo "Directory already exists." + fi -# Upload files -zowe zos-files upload dir-to-uss "./cobol-check" "/z/$LOWERCASE_USERNAME/cobolcheck" --recursive --binary-files "cobol-check-0.2.9.jar" + # Upload files + zowe zos-files upload dir-to-uss "./cobol-check" "/z/$LOWERCASE_USERNAME/cobolcheck" --recursive --binary-files "cobol-check-0.2.9.jar" -# Verify upload -echo "Verifying upload:" -zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" -``` + # Verify upload + echo "Verifying upload:" + zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" + ``` 5. Scroll down to the 'Commit new file' section. 6. Add a commit message like "Add Zowe operations script in .github/scripts/". @@ -654,39 +581,31 @@ zowe zos-files list uss-files "/z/$LOWERCASE_USERNAME/cobolcheck" Great! Now our Zowe operations script is in the repository, neatly organized in the `.github/scripts/` directory. -### Next, let's update our GitHub Actions workflow to use this new script: +**Next, let's update our GitHub Actions workflow to use this new script:** 1. In your repository, navigate to the `.github/workflows` directory. 2. Click on the workflow file we created earlier (it might be named `main.yml`). 3. Click the pencil icon to edit the file. 4. Find the step we previously named 'Run COBOL Check' and update it to look like this: -```yaml -- name: Setup Mainframe Environment and Upload COBOL Check - env: - ZOWE_USERNAME: ${{ secrets.ZOWE_USERNAME }} - ZOWE_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} - run: | - chmod +x .github/scripts/zowe_operations.sh - .github/scripts/zowe_operations.sh -``` + ```yaml + - name: Setup Mainframe Environment and Upload COBOL Check + env: + ZOWE_USERNAME: ${{ secrets.ZOWE_USERNAME }} + ZOWE_PASSWORD: ${{ secrets.ZOWE_PASSWORD }} + run: | + chmod +x .github/scripts/zowe_operations.sh + .github/scripts/zowe_operations.sh + ``` 5. Scroll down to the 'Commit changes' section. 6. Add a commit message like "Update workflow to use Zowe operations script from .github/scripts/". 7. Ensure 'Commit directly to the main branch' is selected. 8. Click 'Commit changes'. -Excellent! We've now created our Zowe operations script in a dedicated scripts folder and updated our workflow to use it, all directly on GitHub. - -This organization keeps our repository clean and makes it easier to manage multiple scripts as our project grows. - -In the next segment, we'll test our updated workflow. - -```plaintext -[Transition to the next segment] -``` +We've now created our Zowe operations script in a dedicated scripts folder and updated our workflow to use it, all directly on GitHub. This organization keeps our repository clean and makes it easier to manage multiple scripts as our project grows. -## Part Hewitt +### Testing Script: Now that we have our environment set up and COBOL Check files uploaded to the mainframe, we need to create the main script that will actually run COBOL Check on our mainframe. This script will set up the necessary environment variables, make our files executable, and run COBOL Check for each of our programs. Let's create this script directly on GitHub: @@ -696,87 +615,77 @@ Let's create this script directly on GitHub: 3. Name the file `.github/scripts/mainframe_operations.sh`. 4. In the file editor, let's add our script: -```bash -#!/bin/bash - -# mainframe_operations.sh - -# Set up environment -export PATH=$PATH:/usr/lpp/java/J8.0_64/bin -export JAVA_HOME=/usr/lpp/java/J8.0_64 -export PATH=$PATH:/usr/lpp/zowe/cli/node/bin - -# Check Java availability -java -version - -# Set ZOWE_USERNAME -ZOWE_USERNAME="Z99998" # Replace with the actual username - -# Change to the cobolcheck directory -cd cobolcheck -echo "Changed to $(pwd)" -ls -al - -# Make cobolcheck executable -chmod +x cobolcheck -echo "Made cobolcheck executable" - -# Make script in scripts directory executable -cd scripts -chmod +x linux_gnucobol_run_tests -echo "Made linux_gnucobol_run_tests executable" -cd .. - -# Function to run cobolcheck and copy files -run_cobolcheck() { - program=$1 - echo "Running cobolcheck for $program" - - # Run cobolcheck, but don't exit if it fails - ./cobolcheck -p $program - echo "Cobolcheck execution completed for $program (exceptions may have occurred)" - - # Check if CC##99.CBL was created, regardless of cobolcheck exit status - if [ -f "CC##99.CBL" ]; then - # Copy to the MVS dataset - if cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL($program)'"; then - echo "Copied CC##99.CBL to ${ZOWE_USERNAME}.CBL($program)" - else - echo "Failed to copy CC##99.CBL to ${ZOWE_USERNAME}.CBL($program)" - fi - else - echo "CC##99.CBL not found for $program" - fi - - # Copy the JCL file if it exists - if [ -f "${program}.JCL" ]; then - if cp ${program}.JCL "//'${ZOWE_USERNAME}.JCL($program)'"; then - echo "Copied ${program}.JCL to ${ZOWE_USERNAME}.JCL($program)" - else - echo "Failed to copy ${program}.JCL to ${ZOWE_USERNAME}.JCL($program)" - fi - else - echo "${program}.JCL not found" - fi -} - -# Run for each program -for program in NUMBERS EMPPAY DEPTPAY; do - run_cobolcheck $program -done - -echo "Mainframe operations completed" -``` - -Now, let's go through what this script does: - -1. It sets up the environment variables for Java and Zowe CLI. -2. It checks Java availability. -3. It changes to the cobolcheck directory and makes necessary files executable. -4. It defines a function `run_cobolcheck` that: - - Runs COBOL Check for a given program - - Copies the generated files to the appropriate MVS datasets -5. It then runs this function for each of our COBOL programs: NUMBERS, EMPPAY, and DEPTPAY. + ```bash + #!/bin/bash + + # mainframe_operations.sh + + # Set up environment + export PATH=$PATH:/usr/lpp/java/J8.0_64/bin + export JAVA_HOME=/usr/lpp/java/J8.0_64 + export PATH=$PATH:/usr/lpp/zowe/cli/node/bin + + # Check Java availability + java -version + + # Set ZOWE_USERNAME + ZOWE_USERNAME="Z99998" # Replace with the actual username + + # Change to the cobolcheck directory + cd cobolcheck + echo "Changed to $(pwd)" + ls -al + + # Make cobolcheck executable + chmod +x cobolcheck + echo "Made cobolcheck executable" + + # Make script in scripts directory executable + cd scripts + chmod +x linux_gnucobol_run_tests + echo "Made linux_gnucobol_run_tests executable" + cd .. + + # Function to run cobolcheck and copy files + run_cobolcheck() { + program=$1 + echo "Running cobolcheck for $program" + + # Run cobolcheck, but don't exit if it fails + ./cobolcheck -p $program + echo "Cobolcheck execution completed for $program (exceptions may have occurred)" + + # Check if CC##99.CBL was created, regardless of cobolcheck exit status + if [ -f "CC##99.CBL" ]; then + # Copy to the MVS dataset + if cp CC##99.CBL "//'${ZOWE_USERNAME}.CBL($program)'"; then + echo "Copied CC##99.CBL to ${ZOWE_USERNAME}.CBL($program)" + else + echo "Failed to copy CC##99.CBL to ${ZOWE_USERNAME}.CBL($program)" + fi + else + echo "CC##99.CBL not found for $program" + fi + + # Copy the JCL file if it exists + if [ -f "${program}.JCL" ]; then + if cp ${program}.JCL "//'${ZOWE_USERNAME}.JCL($program)'"; then + echo "Copied ${program}.JCL to ${ZOWE_USERNAME}.JCL($program)" + else + echo "Failed to copy ${program}.JCL to ${ZOWE_USERNAME}.JCL($program)" + fi + else + echo "${program}.JCL not found" + fi + } + + # Run for each program + for program in NUMBERS EMPPAY DEPTPAY; do + run_cobolcheck $program + done + + echo "Mainframe operations completed" + ``` 5. Scroll down to the 'Commit new file' section. 6. Add a commit message like "Add main COBOL Check execution script". @@ -811,16 +720,10 @@ In the GitHub Actions output for this step, you should expect to see: 4. Messages about copying files to MVS datasets. 5. Any error messages if something goes wrong. -In the next segment, we'll run our updated workflow and analyze the results. - -```plaintext -[Transition to the next segment] -``` - -## Part Nien! Nien! Nein! Nein! Nein! +### JCL: Now that we have our main COBOL Check execution script, we need to create the Job Control Language (JCL) files for each of our COBOL programs. These JCL files are crucial as they define how our programs will be compiled and executed on the mainframe. -### Let's start by creating the JCL file for our NUMBERS program: +**Let's start by creating the JCL file for our NUMBERS program:** 1. Navigate to your GitHub repository in your web browser. 2. Click on the 'Add file' button, then select 'Create new file'. @@ -865,7 +768,7 @@ This JCL file will compile our NUMBERS COBOL program and, if successful, run it 7. Ensure 'Commit directly to the main branch' is selected. 8. Click 'Commit new file'. -### Now that we've added this JCL file, our `mainframe_operations.sh` script will be able to find and use it when running COBOL Check for the NUMBERS program. +**Now that we've added this JCL file, our `mainframe_operations.sh` script will be able to find and use it when running COBOL Check for the NUMBERS program.** In the GitHub Actions output, you should now expect to see: @@ -874,7 +777,7 @@ In the GitHub Actions output, you should now expect to see: Remember, we still need to create similar JCL files for EMPPAY and DEPTPAY programs. In a real-world scenario, each program would have its own specific JCL file tailored to its requirements. -### Now that we've created and committed our JCL file, let's review how we can manually submit this job using Zowe Explorer in Visual Studio Code. As you'll recall from the introductory chapter of this course, you should already have Zowe Explorer set up and configured in your VSCode environment. +**Now that we've created and committed our JCL file, let's review how we can manually submit this job using Zowe Explorer in Visual Studio Code. As you'll recall from the introductory chapter of this course, you should already have Zowe Explorer set up and configured in your VSCode environment.** Let's go through the process of submitting our NUMBERS job: @@ -890,12 +793,10 @@ This process allows you to quickly test your JCL and see the results without lea Remember, while our GitHub Actions workflow can automate this process, being able to manually submit jobs is an important skill for mainframe development and debugging. It allows you to iteratively test and refine your programs and JCL files. -### In the next segment, we'll discuss unit testing. - -## Part Deus Ex Machina +## Lab 2: Unit Testing Now that we've set up our environment and created our JCL files, let's dive into unit testing our COBOL programs using COBOL Check. In this segment, we'll focus on creating and testing our EMPPAY program. -### First, let's create our `EMPPAY.CBL` program: +**First, let's create our `EMPPAY.CBL` program:** 1. Navigate to your GitHub repository in your web browser. 2. Go to the `src/main/cobol` directory. If it doesn't exist, create it: @@ -906,140 +807,128 @@ Now that we've set up our environment and created our JCL files, let's dive into 4. Name the file `EMPPAY.CBL`. 5. In the file editor, let's add our COBOL program: -```cobol - IDENTIFICATION DIVISION. - PROGRAM-ID. EMPPAY. - AUTHOR. ASHIS KUMAR NAIK. - DATA DIVISION. - WORKING-STORAGE SECTION. - 77 REC-COUNTER PIC 9(1). - 01 EMP-RECORD. - 05 EMP-NAME. - 10 EMP-FNAME PIC X(15) VALUE 'FRANCISCO'. - 10 EMP-LNAME PIC X(15). - 05 EMP-HOURLY-RATE PIC 9(3)V99. - 05 EMP-OT-RATE PIC V99. - 05 EMP-REWARD PIC V99. - 05 EMP-HOURS PIC 9(3). - 05 EMP-PAY-WEEK PIC 9(7)V99. - 05 EMP-PAY-MONTH PIC 9(7)V99. - - PROCEDURE DIVISION. - PERFORM INITIALIZATION. - PERFORM PAYMENT-WEEKLY. - PERFORM PAYMENT-MONTHLY. - PERFORM SHOW-OUTPUT. - STOP RUN. - INITIALIZATION. - MOVE "Millard" TO EMP-FNAME. - MOVE "Fillmore" TO EMP-LNAME. - MOVE 19 TO EMP-HOURS. - MOVE 23.50 TO EMP-HOURLY-RATE. - PAYMENT-WEEKLY. - - IF EMP-HOURS >= 40 - MOVE .25 TO EMP-OT-RATE - ELSE IF EMP-HOURS >= 50 - MOVE .50 TO EMP-OT-RATE - ELSE - MOVE ZERO TO EMP-OT-RATE. - COMPUTE EMP-PAY-WEEK = - (EMP-HOURS * EMP-HOURLY-RATE) * (1 + EMP-OT-RATE). - PAYMENT-MONTHLY. - - IF EMP-HOURS > 150 - MOVE .50 TO EMP-REWARD - ELSE - MOVE ZERO TO EMP-REWARD. - COMPUTE EMP-PAY-MONTH = - (EMP-PAY-WEEK * 4) * (1 + EMP-REWARD). - SHOW-OUTPUT. - DISPLAY "Name: " EMP-NAME. - DISPLAY "Hours Worked Per Week: " EMP-HOURS. - DISPLAY "Hourly Rate: " EMP-HOURLY-RATE. - DISPLAY "Bonus-Rate: " EMP-OT-RATE. - DISPLAY "Gross Pay Per Week: " EMP-PAY-WEEK . - DISPLAY "Gross Pay Per Month: " EMP-PAY-MONTH . - DISPLAY "Hi Chris - how's Loretta today?". -``` - -6. Commit this new file to your repository. - -### Now that we have our EMPPAY program, let's create our test suite: - -1. In your repository, navigate to the `test` directory. -2. Create a new directory named `EMPPAY`. -3. Inside the EMPPAY directory, create a new file named `EMPPAY.cut`. -4. In this file, we'll write our test cases: - -```plaintext -TestSuite 'Checks the employee payment' - -TestCase 'checks the EMP-OT-RATE TO be 0.25' -MOVE 50 TO EMP-HOURS -MOVE 23.50 TO EMP-HOURLY-RATE -PERFORM PAYMENT-WEEKLY -EXPECT EMP-OT-RATE TO BE 0.25 - -TestCase 'checks the EMP-PAY-WEEKLY > 900 if EMP-HOURS >= 40' -MOVE 40 TO EMP-HOURS -MOVE 23.50 TO EMP-HOURLY-RATE -PERFORM PAYMENT-WEEKLY -EXPECT EMP-PAY-WEEK >= 900 - -TestCase 'checks the EMP-PAY-WEEKLY > 1600 ' -MOVE 60 TO EMP-HOURS -MOVE 23.50 TO EMP-HOURLY-RATE -PERFORM PAYMENT-WEEKLY -EXPECT EMP-PAY-WEEK >= 1600 - -TestCase 'checks the EMP-PAY-MONTHLY to be greater than 9600' -MOVE 160 TO EMP-HOURS -MOVE 1600 TO EMP-PAY-WEEK -PERFORM PAYMENT-MONTHLY -EXPECT EMP-PAY-MONTH >= 9600 -``` - -5. Commit these changes to your repository. - -### Now, let's update our `mainframe_operations.sh` script to run COBOL Check for EMPPAY: - -[Navigate to `mainframe_operations.sh` and add the following lines] - -```bash -# Run COBOL Check for EMPPAY -echo "Running COBOL Check for EMPPAY" -./cobolcheck -p EMPPAY -``` - -Commit these changes to your repository. - -### Now that we have our EMPPAY program and its test suite, we need to create the JCL file to run it on the mainframe. Let's create `EMPPAY.JCL`: - -1. In your GitHub repository, navigate to the root directory. -2. Click on 'Add file', then 'Create new file'. -3. Name the file `EMPPAY.JCL`. -4. In the file editor, add the following JCL content: - -```plaintext -//EMPPAY JOB 1,NOTIFY=&SYSUID -//******************************************************* -//* Copyright Contributors to the COBOL Programming Course -//* SPDX-License-Identifier: CC-BY-4.0 -//******************************************************* -//COBRUN EXEC IGYWCL -//COBOL.SYSIN DD DSN=&SYSUID..CBL(EMPPAY),DISP=SHR -//LKED.SYSLMOD DD DSN=&SYSUID..LOAD(EMPPAY),DISP=SHR -// IF RC = 0 THEN -//RUN EXEC PGM=EMPPAY -//STEPLIB DD DSN=&SYSUID..LOAD,DISP=SHR -//ACCTREC DD DSN=&SYSUID..DATA,DISP=SHR -//PRTLINE DD SYSOUT=*,OUTLIM=15000 -//SYSOUT DD SYSOUT=*,OUTLIM=15000 -//CEEDUMP DD DUMMY -//SYSUDUMP DD DUMMY -// ENDIF -``` + ```cobol + IDENTIFICATION DIVISION. + PROGRAM-ID. EMPPAY. + AUTHOR. ASHIS KUMAR NAIK. + DATA DIVISION. + WORKING-STORAGE SECTION. + 77 REC-COUNTER PIC 9(1). + 01 EMP-RECORD. + 05 EMP-NAME. + 10 EMP-FNAME PIC X(15) VALUE 'FRANCISCO'. + 10 EMP-LNAME PIC X(15). + 05 EMP-HOURLY-RATE PIC 9(3)V99. + 05 EMP-OT-RATE PIC V99. + 05 EMP-REWARD PIC V99. + 05 EMP-HOURS PIC 9(3). + 05 EMP-PAY-WEEK PIC 9(7)V99. + 05 EMP-PAY-MONTH PIC 9(7)V99. + + PROCEDURE DIVISION. + PERFORM INITIALIZATION. + PERFORM PAYMENT-WEEKLY. + PERFORM PAYMENT-MONTHLY. + PERFORM SHOW-OUTPUT. + STOP RUN. + INITIALIZATION. + MOVE "Millard" TO EMP-FNAME. + MOVE "Fillmore" TO EMP-LNAME. + MOVE 19 TO EMP-HOURS. + MOVE 23.50 TO EMP-HOURLY-RATE. + PAYMENT-WEEKLY. + + IF EMP-HOURS >= 40 + MOVE .25 TO EMP-OT-RATE + ELSE IF EMP-HOURS >= 50 + MOVE .50 TO EMP-OT-RATE + ELSE + MOVE ZERO TO EMP-OT-RATE. + COMPUTE EMP-PAY-WEEK = + (EMP-HOURS * EMP-HOURLY-RATE) * (1 + EMP-OT-RATE). + PAYMENT-MONTHLY. + + IF EMP-HOURS > 150 + MOVE .50 TO EMP-REWARD + ELSE + MOVE ZERO TO EMP-REWARD. + COMPUTE EMP-PAY-MONTH = + (EMP-PAY-WEEK * 4) * (1 + EMP-REWARD). + SHOW-OUTPUT. + DISPLAY "Name: " EMP-NAME. + DISPLAY "Hours Worked Per Week: " EMP-HOURS. + DISPLAY "Hourly Rate: " EMP-HOURLY-RATE. + DISPLAY "Bonus-Rate: " EMP-OT-RATE. + DISPLAY "Gross Pay Per Week: " EMP-PAY-WEEK . + DISPLAY "Gross Pay Per Month: " EMP-PAY-MONTH . + DISPLAY "Hi Chris - how's Loretta today?". + ``` + + 6. Commit this new file to your repository. + + **Now that we have our EMPPAY program, let's create our test suite:** + + 1. In your repository, navigate to the `test` directory. + 2. Create a new directory named `EMPPAY`. + 3. Inside the EMPPAY directory, create a new file named `EMPPAY.cut`. + 4. In this file, we'll write our test cases: + + ```plaintext + TestSuite 'Checks the employee payment' + + TestCase 'checks the EMP-OT-RATE TO be 0.25' + MOVE 50 TO EMP-HOURS + MOVE 23.50 TO EMP-HOURLY-RATE + PERFORM PAYMENT-WEEKLY + EXPECT EMP-OT-RATE TO BE 0.25 + + TestCase 'checks the EMP-PAY-WEEKLY > 900 if EMP-HOURS >= 40' + MOVE 40 TO EMP-HOURS + MOVE 23.50 TO EMP-HOURLY-RATE + PERFORM PAYMENT-WEEKLY + EXPECT EMP-PAY-WEEK >= 900 + + TestCase 'checks the EMP-PAY-WEEKLY > 1600 ' + MOVE 60 TO EMP-HOURS + MOVE 23.50 TO EMP-HOURLY-RATE + PERFORM PAYMENT-WEEKLY + EXPECT EMP-PAY-WEEK >= 1600 + + TestCase 'checks the EMP-PAY-MONTHLY to be greater than 9600' + MOVE 160 TO EMP-HOURS + MOVE 1600 TO EMP-PAY-WEEK + PERFORM PAYMENT-MONTHLY + EXPECT EMP-PAY-MONTH >= 9600 + ``` + + 5. Commit these changes to your repository. + + **Now that we have our EMPPAY program and its test suite, we need to create the JCL file to run it on the mainframe. Let's create `EMPPAY.JCL`:** + + 1. In your GitHub repository, navigate to the root directory. + 2. Click on 'Add file', then 'Create new file'. + 3. Name the file `EMPPAY.JCL`. + 4. In the file editor, add the following JCL content: + + ```plaintext + //EMPPAY JOB 1,NOTIFY=&SYSUID + //******************************************************* + //* Copyright Contributors to the COBOL Programming Course + //* SPDX-License-Identifier: CC-BY-4.0 + //******************************************************* + //COBRUN EXEC IGYWCL + //COBOL.SYSIN DD DSN=&SYSUID..CBL(EMPPAY),DISP=SHR + //LKED.SYSLMOD DD DSN=&SYSUID..LOAD(EMPPAY),DISP=SHR + // IF RC = 0 THEN + //RUN EXEC PGM=EMPPAY + //STEPLIB DD DSN=&SYSUID..LOAD,DISP=SHR + //ACCTREC DD DSN=&SYSUID..DATA,DISP=SHR + //PRTLINE DD SYSOUT=*,OUTLIM=15000 + //SYSOUT DD SYSOUT=*,OUTLIM=15000 + //CEEDUMP DD DUMMY + //SYSUDUMP DD DUMMY + // ENDIF + ``` 5. Commit this new file to your repository. @@ -1062,9 +951,7 @@ In the GitHub Actions output, you should expect to see: Remember, writing good unit tests is crucial for maintaining code quality. These tests help us catch bugs early and ensure that our code behaves correctly even as we make changes. -### Next, we will discuss Test Driven Development (TDD). - -## Magna Carta +## Lab 3: Test Driven Development Now that we've seen how to write unit tests for existing code, let's explore Test-Driven Development (TDD) using COBOL Check. TDD is a software development process where you write tests before writing the actual code. This approach can lead to better code quality and design. ### Let's create a new program called DEPTPAY using TDD: @@ -1157,8 +1044,8 @@ When you run your GitHub Actions workflow now, it will: 3. Submit the DEPTPAY.JCL job In the job output, look for the status code. A 'CC 0000' indicates success. If you see a different code, you'll need to adjust your code or tests and rerun the workflow. + This TDD approach ensures that your code is testable from the start and that all functionality is covered by tests. It can lead to better design decisions and more maintainable code. - [End of chapter] ## Basics of continuous integration, continuous delivery