Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Executable tutorial final submission (Feedback has been acted upon) #1305

Closed
wants to merge 118 commits into from
Closed

Executable tutorial final submission (Feedback has been acted upon) #1305

wants to merge 118 commits into from

Conversation

KallePettersson
Copy link

Executable tutorial: CI workflow for C++ project using Travis CI and CxxTest for automated building and testing

Members

Kalle Pettersson (kalpet@kth.se) Github: kallepettersson

Proposal

I will create a Katacoda executable tutorial including:

  • Creating a simple C++ project
  • Writing unit tests using the CxxTest framework
  • Creating a Travis CI server
  • Creating a CI pipeline that automatically builds and tests the project on every push

Solution

The tutorial can be found here: link

Kalle Pettersson and others added 30 commits March 23, 2021 12:48
Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com>
Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com>
Co-authored-by: taqui <taqui@kth.se>
Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com>
…#955)

Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com>
Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com>
Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com>
Co-authored-by: taqui <taqui@kth.se>
Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com>
Co-authored-by: Agnes <agnesfo@kth.se>
Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com>
)

Co-authored-by: Gabriel Chang <gc.chang95@gmail.com>
Co-authored-by: Eva Despinoy <despinoy@kth.se>
…escriptions (#944)

Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com>
andreaskth and others added 13 commits April 22, 2021 11:03
* course automation proposal

* Update README.md

* executable tutorial proposal

* Deletete course automation README

* add a team member

* add feedback proposal

* update team member

Co-authored-by: César Soto Valero <cesarsotovalero@gmail.com>
* Added readme for week3

* Update README.md

* WIP Presentation week 3, Topic TDA

* WIP Presentation week 3, Topic TBA

* (WIP) MLOPS

Presentation idea for week 3, idea and outline still work in progress but will update shortly

* MLOPS : Current application and future possibilities

Updated Readme with initial ideas for presentation

* MLOps: Current application and future possibilities

Added README for presentation idea

* Added readme

* deleted testfile

* Demo:  ML CI/CD with Github Actions and Kubernetes

Added README to demo

* Update readme

* added alternative idea

* Feedback on essay #988

* Delete jhammarstedt-Carllei

* added readme

* Feedback on #988

* Update README.md

* Feedback  #988

* Feedback on #988

* fix

* Fix PR error

* new try for PR

* Delete file for separate PR

* Feedback #988

* Feedback #988 (updated readme)

* Delete contributions/demo/jhammarstedt-sestys directory
* Doc Adds Readme

* Update README with feedback
Co-authored-by: andnil5 <andnil5@kth.se>
@KallePettersson
Copy link
Author

Hi @gangwalmegha I just created a PR for a version of the executable tutorial that is ready for feedback!

@gangwalmegha
Copy link

Hi @KallePettersson , Thank you. I will start working on the feedback.

@gangwalmegha
Copy link

Hi @KallePettersson,
I have gone through the tutorial and I am facing some issues and I have sent you an email on your kth id. could you please check your mail?

@gangwalmegha
Copy link

As per the TA's feedback, I am attaching the summary of the email conversation regarding the issues faced during execution of the
Sv_ Regarding Feedback on Executable tutorial.pdf

@gangwalmegha
Copy link

Feedback proposal on PR # 1305

Duplicate of #

*Tutorial for feedback: CI workflow for C++ project using Travis CI and CxxTest for automated building and testing

Member

Megha Gangwal (gangwal@kth.se)
GitHub: gangwalmegha

Proposal

I plan to give feedback to [# 1305] #1305

Overall feedback

The tutorial is a on a subject of interest. The Katakoda platform is quite structured, and it also provides the bash environment to run the code in a simple way with access to the tutorial instructions on the same screen

I was quite engaged with the tutorial. Overall nice work and a good topic. I only have minor suggestions that author may like to address

  1. Though the flow of tutorial and instruction is simple and logical, the instruction could have been broken into smaller numbered steps for better readability.

  2. The time allocated is 15 min is little, short if one wants to read the instructions, create the files using Vim and run the code as well. I believe a 30 min duration will be more realistic as it will give the tutorial learner a good time to perform all the steps properly.

  3. As the focus of the tutorial is continuous integration using the Travis CI and Cxxtest, it would have been good to provide the needed learning source links in the introduction itself. It would have kept the focus of tutorial taker on the objective of the tutorial

  4. There were issues in performing the actual activities in steps 2 and 3, which I am highlighting in the feedback for specific steps.

Introduction

The introduction is easy to understand and goal-oriented. It gives the learner an overall idea of the flow of the tutorial. As mentioned in point 3 of the overall feedback, it can be further enhanced by including some information about Travis CI and CxxTest as this will be a new topic for most of the tutorial takers like me.

Step 1

Step 1 was mainly focused on creating various code files and header files. The sub-steps were explained well and provided links to relevant material if someone wants to understand a bit more about C++ programming. This step put me at ease as I have limited coding experience on C++. I took some time to understand the various commands on Vim.

In complex.cpp file inclusion of iostream was missing, now it is included in the revised version.

Step 2

Step 2 was dedicated for creating the test cases and running the CxxTest. The instructions in this step could be broken down into smaller sub instructions for better readability. However, the information provided in this section was good from understanding the structure of the code and rationale behind it.

This step got a bit complicated due to indentation issues in the makefile. It required some effort to fix the errors with the help of the tutorial author. The makefile did generate the complex.o file, but it did not generate simple_test.out file. I try to debug the error for 4 to 5 times and also updated the environment using the following command provided by the tutorial author

“ apt-get update -y” and “apt-get install -y cxxtest”

I then did all the steps again, but it did not help. The tutorial author was quite helpful while I was trying to fix the issue.

Step 3

I was not able execute the Step 3 completely because of the above mentioned issues. I could only execute the first command on step 3 and then the next command was not getting executed. If the errors in previous are debugged, then Step 3 could be performed in a quick succession.

However, the activities provided in step3 with regards to Travis CI are clear and easy to understand. Link to the repo has been given, which is helpful for the tutorial learner.

End

It would be helpful for the tutorial learner if you include resources or links to read more about the topic for e.g. Travis CI: https://docs.travis-ci.com/user/tutorial/ , difference between Travis CI and Jenkins: https://www.guru99.com/jenkins-vs-travis.html for understanding CxxTest: https://cxxtest.com/

Overall it is a good tutorial, nice effort by the author.

@gangwalmegha
Copy link

Updated feedback after the author has fixed issues in the code

Feedback proposal on PR # 1305

Tutorial for feedback: CI workflow for C++ project using Travis CI and CxxTest for automated building and testing

Member

Megha Gangwal (gangwal@kth.se)
GitHub: gangwalmegha

Proposal

I plan to give feedback to [# 1305] #1305

Overall feedback

The tutorial is on a subject of interest. The Katakoda platform is quite structured, and it also provides the bash environment to run the code in a simple way with access to the tutorial instructions on the same screen

I was quite engaged with the tutorial. Overall nice work and a good topic. I only have minor suggestions that the author may like to address

  1. Though the flow of tutorial and instruction is simple and logical, the instruction could have been broken into smaller numbered steps for better readability.

  2. The time allocated is 15 min is little, short if one wants to read the instructions, create the files using Vim and run the code as well. I believe a 30 min duration will be more realistic as it will give the tutorial learner a good time to perform all the steps properly.

  3. As the focus of the tutorial is continuous integration using the Travis CI and Cxxtest, it would have been good to provide the needed learning source links in the introduction itself. It would have kept the focus of tutorial taker on the objective of the tutorial

  4. There were issues in performing the actual activities in steps 2 and 3, which I am highlighting in the feedback for specific steps.

Introduction

The introduction is easy to understand and goal-oriented. It gives the learner an overall idea of the flow of the tutorial. As mentioned in point 3 of the overall feedback, it can be further enhanced by including some information about Travis CI and CxxTest as this will be a new topic for most of the tutorial takers like me.

Step 1

Step 1 was mainly focused on creating various code files and header files. The sub-steps were explained well and provided links to relevant material if someone wants to understand a bit more about C++ programming. This step put me at ease as I have limited coding experience on C++. I took some time to understand the various commands on Vim.

In complex.cpp file inclusion of iostream was missing, now it is included in the revised version.

Step 2

Step 2 was dedicated for creating the test cases and running the CxxTest. The instructions in this step could be broken down into smaller sub instructions for better readability. However, the information provided in this section was good and detailed to understand the structure of the code and rationale behind it.

This step got a bit complicated due to indentation issues in the makefile. It required some effort to fix the errors with the help of the tutorial author. The makefile did generate the complex.o file, but it did not generate simple_test.out file. It took some attempts to debug all the issues and also an update to the environment using the following command provided by the tutorial author

“ apt-get update -y” and “apt-get install -y cxxtest”

The tutorial author was quite helpful while issues were being fixed. After fixing the issues, all the instructions were executed without difficulties.

There is a typo in Compiling and running tests section i.e. "oone". Also, the note section can be on the next line.

Step 3

After fixing the issues by the author, now all instructions are executing properly in step 3 as well. Kudos to the author for quickly fixing the issue.
The instructions provided in step 3 with regards to Travis CI are able to create the needed level of understanding for the learners, however, to improve the readability, the instructions can be broken down into smaller sub instructions. A link to the repo has been given, which is helpful.

End

It would be helpful for the tutorial learner if you include resources or links to read more about the topic for e.g. difference between Travis CI and Jenkins: https://www.guru99.com/jenkins-vs-travis.html or for understanding CxxTest: https://cxxtest.com/

Overall it is a good tutorial, a nice effort by the author.

khaes-kth pushed a commit that referenced this pull request Apr 27, 2021
Co-authored-by: Megha Ved <meghaved@Meghas-MBP.lan>
@KallePettersson
Copy link
Author

Thank you @gangwalmegha for your valuable feedback!
For the TA is grading, I’ve fixed:

  • I’ve fixed the bugs associated with the makefile and testing
  • I’ve added resource links in the introduction
  • I’ve changed the duration of the tutorial

@KallePettersson KallePettersson changed the title Executable tutorial submission (Ready for feedback) Executable tutorial final submission (Feedback has been acted upon) Apr 30, 2021
@SophieHYe SophieHYe self-assigned this May 3, 2021
@SophieHYe
Copy link

Hi,
Please solve the conflicts and remove unnecessary changed files. Thanks!

SophieHYe pushed a commit that referenced this pull request May 3, 2021
* Feedback Proposal

* Feedback submission

* Feedback submission

* Revised version of feedback after fixing issues by the tutorial author

* Revised version of feedback after fixing issues by the tutorial author

Co-authored-by: Megha Ved <meghaved@Meghas-MBP.lan>
@KallePettersson
Copy link
Author

Hi @SophieHYe, i had similar errors in another submission and the TA suggested I created a new fork and PR and it worked. So I did the same thing here, the new PR is #1469. Will ping you from there to and close this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.