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

Major rework to improve code quality and add automation checks #805

Merged
merged 484 commits into from
Jun 19, 2020
Merged

Major rework to improve code quality and add automation checks #805

merged 484 commits into from
Jun 19, 2020

Conversation

kvedala
Copy link
Collaborator

@kvedala kvedala commented May 29, 2020

Description of Change

  • Add cmake based structure
  • Include documentation building
  • Add GitHub Actions using cmake to check code compilation on linux (ubuntu), Mac OS and Windows (using MS Visual C++ compiler)
  • Add GitHub action to auto-generate documentation and push to repo's respective GitHub Pages -> this will create the website https://thealgorithms.github.io/C-Plus-Plus similar to https://kvedala.github.io/C-Plus-Plus
  • add documentations to various source codes including mathematical formulations where possible
  • fix cpp lint issues with existing files
  • fix source codes so they compile on all operating systems
  • github actions workflow improved by
    • adding auto format code and file name
    • stage-by-stage actions for efficient checks
  • New algorithms - Machine learning and Numerical methods
    • ADALINE learning
    • QR matrix decomposition
    • real eigen value computation using QR decomposition
    • Kohonen Self organizing Maps (SOM) - unsupervised learning
    • roots of n^th degree polynomial using Durand-Kerner algorithm
    • LU decomposition of matrix
    • realtime computation of data statistics - mean, variance and standard deviation
    • ordinary differential equations solver using three Euler methods
  • added gitpod integration - with builtin CPPLINT, compile and test and clang-format. Contributors can now simply create a fork, commit and pull their contribution. Since the integration uses VScode, the formatting should be taken care of.

This documentation approach will also enable other contributors to add documentation in their respective languages or use google translate to do so.

There is a pull-request (#795) for a smaller subset of the changes made (outdated)

Checklist

  • Added description of change
  • Added file name matches File name guidelines
  • Added tests and example, test must pass
  • Relevant documentation/comments is changed or added
  • PR title follows semantic commit guidelines
  • Search previous suggestions before making a new one, as yours may be a duplicate.
  • Sort by alphabetical order
  • I acknowledge that all my contributions will be made under the project's license.

Notes:

@kvedala
Copy link
Collaborator Author

kvedala commented May 29, 2020

Tagging admins to the pull-request @ayaankhan98 @AnupKumarPanwar @cclauss
I understand there are a lot of files changed but that is so because that many issues existed with the repository :)

@ayaankhan98
Copy link
Member

@kvedala it seems that we already have a branch name gh-pages, it also have some files, i am removing those files form this branch

@kvedala
Copy link
Collaborator Author

kvedala commented Jun 19, 2020

Since I do not have write access, following are the steps to merge:

  1. create an empty branch gh-pages with no files in it
    This is to generate to website https://thealgorithms.github.io/C-Plus-Plus
  2. create another empty branch docs/images
    This is to store the images used in the documentation - The standard I propose is to use SVG images as much as possible.
  3. enable gitpod access to this repo
  4. complete the merge. The GitHub Actions will then update the documentation

ok no problem i am doing this all.

Once you create the docs/images branch, I'll create the first pull-request to it to add the initial images

@kvedala
Copy link
Collaborator Author

kvedala commented Jun 19, 2020

Since I do not have write access, following are the steps to merge:

  1. create an empty branch gh-pages with no files in it
    This is to generate to website https://thealgorithms.github.io/C-Plus-Plus
  2. create another empty branch docs/images
    This is to store the images used in the documentation - The standard I propose is to use SVG images as much as possible.
  3. enable gitpod access to this repo
  4. complete the merge. The GitHub Actions will then update the documentation

ok no problem i am doing this all.

Once you create the docs/images branch, I'll create the first pull-request to it to add the initial images

I am unable to create a pull-request for the doc/images branch. can you create from my repo?

@ayaankhan98
Copy link
Member

Since I do not have write access, following are the steps to merge:

  1. create an empty branch gh-pages with no files in it
    This is to generate to website https://thealgorithms.github.io/C-Plus-Plus
  2. create another empty branch docs/images
    This is to store the images used in the documentation - The standard I propose is to use SVG images as much as possible.
  3. enable gitpod access to this repo
  4. complete the merge. The GitHub Actions will then update the documentation

ok no problem i am doing this all.

Once you create the docs/images branch, I'll create the first pull-request to it to add the initial images

I am unable to create a pull-request for the doc/images branch. can you create from my repo?

just give me a minute actually i had created docs/images from TheAlgorithms/C-Plus-Plus/master so ti's not empty right now let me remove all the files from there too

@ayaankhan98
Copy link
Member

ayaankhan98 commented Jun 19, 2020

@kvedala all set, now we have two empty branches gh-pages and docs/images

now try pushing to docs/images

@kvedala
Copy link
Collaborator Author

kvedala commented Jun 19, 2020

@kvedala all set, now we have two empty branches gh-pages and docs/images

Awesome.

  • the gh-pages will get updated by the GitHub Actions.
  • I am unable to create a pull-request to docs/images. You might have to create the pull request from my fork to the main
  • meanwhile, the merge can be completed

@ayaankhan98
Copy link
Member

@kvedala all set, now we have two empty branches gh-pages and docs/images

Awesome.

  • the gh-pages will get updated by the GitHub Actions.
  • I am unable to create a pull-request to docs/images. You might have to create the pull request from my fork to the main
  • meanwhile, the merge can be completed

while creating pull request from kvedala/C-Plus-Plus/docs/images to TheAlgorithms/C-Plus-Plus/docs/images i am getting TheAlgorithms:docs/images and kvedala:docs/images are entirely different commit histories. this, there is no option for creating Pull request

@kvedala
Copy link
Collaborator Author

kvedala commented Jun 19, 2020

@kvedala all set, now we have two empty branches gh-pages and docs/images

Awesome.

  • the gh-pages will get updated by the GitHub Actions.
  • I am unable to create a pull-request to docs/images. You might have to create the pull request from my fork to the main
  • meanwhile, the merge can be completed

@ayaankhan98 Created #861 after rebasing my branch to the newly created branch

@kvedala
Copy link
Collaborator Author

kvedala commented Jun 19, 2020

All seems to be in order now

@ayaankhan98
Copy link
Member

All seems to be in order now

can we merge this #805 with master?

@kvedala
Copy link
Collaborator Author

kvedala commented Jun 19, 2020

All seems to be in order now

can we merge this #805 with master?

Yes 🍾

@ayaankhan98 ayaankhan98 merged commit aaa08b0 into TheAlgorithms:master Jun 19, 2020
@ayaankhan98
Copy link
Member

now let's improve the files documentation one by one

ayaankhan98 added a commit to ayaankhan98/C-Plus-Plus that referenced this pull request Jun 19, 2020
Major rework to improve code quality and add automation checks (TheAlgorithms#805)
@kvedala
Copy link
Collaborator Author

kvedala commented Jun 19, 2020

is the branch gh-pages enabled? I do not see the documentation https://thealgorithms.github.io/C-Plus-Plus site up

@ayaankhan98
Copy link
Member

is the branch gh-pages enabled? I do not see the documentation https://thealgorithms.github.io/C-Plus-Plus site up

i think it's not enabled, how can i enable this i don't have access to the repository settings?

@kvedala
Copy link
Collaborator Author

kvedala commented Jun 19, 2020

is the branch gh-pages enabled? I do not see the documentation https://thealgorithms.github.io/C-Plus-Plus site up

i think it's not enabled, how can i enable this i don't have access to the repository settings?

https://guides.github.com/features/pages/

In the project settings, scrolling down a bit, you'll see the option to enable gihub pages. do not select any theme.

@ayaankhan98
Copy link
Member

ayaankhan98 commented Jun 19, 2020

is the branch gh-pages enabled? I do not see the documentation https://thealgorithms.github.io/C-Plus-Plus site up

i think it's not enabled, how can i enable this i don't have access to the repository settings?

https://guides.github.com/features/pages/

In the project settings, scrolling down a bit, you'll see the option to enable gihub pages. do not select any theme.

@kvedala i know this but the problem is i don't see any settings option in the main repository TheAlgorithms/C-Plus-Plus. i think only the owner can do this

@kvedala
Copy link
Collaborator Author

kvedala commented Jun 19, 2020

is the branch gh-pages enabled? I do not see the documentation https://thealgorithms.github.io/C-Plus-Plus site up

i think it's not enabled, how can i enable this i don't have access to the repository settings?

https://guides.github.com/features/pages/
In the project settings, scrolling down a bit, you'll see the option to enable gihub pages. do not select any theme.

@kvedala i know this but the problem is i don't see any settings option in the main TheAlgorithms/C-Plus-Plus. i think only the owner can do this

Ah, ok. Then we can simply put a message in the Gitter and wait..

@kvedala kvedala mentioned this pull request Jun 19, 2020
5 tasks
@ayaankhan98
Copy link
Member

we have gh-pages enabled now, but it seems like our documentaion system is not working correctly, i am unable to see the documentaion https://thealgorithms.github.io/C-Plus-Plus

@kvedala
Copy link
Collaborator Author

kvedala commented Jun 24, 2020

we have gh-pages enabled now, but it seems like our documentaion system is not working correctly, i am unable to see the documentaion https://thealgorithms.github.io/C-Plus-Plus

Yes, the pages were not enabled correctly. @AnupKumarPanwar is looking into it

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.

None yet

6 participants