Start day: 2023.03.29
- Lecturer: Gabor Szabo firstname.lastname@example.org
- The workshop is planned to be in 4 meetings of 5 academic hours.
- In each meeting we'll have a presentation that will last about 2-3 academic hours (depending on the questions). Then we'll have hands-on assignments aided by the lecturer.
- The workshop is planned to take place via Zoom, though the first session might be in a class-room setting. We'll decide this later on.
- The sessions in Zoom will be recorded and made available via YouTube.
- The presentation will be given in Hebrew. Notes and written materials are in English.
- The exact dates and time of the meetings will be decided later.
- If you don't have one yet, please create an account on GitHub and upload an image or avatar.
- We will have a web-form for the participants so the lecturer will have some understanding of the participants' background.
- We'll have a private Slack channel for communication in-between the meetings for participants who would like to get help outside of the meetings.
Day 1 - 2023.03.29 15:00-19:00
Introduction to the Open Source development process using GitHub (forking and pull-request).
Continuous Integration (CI) to ensure different contributors don't interfere with each-other.
Old way in open source:
- start from the code you have (but it might have been already outdated)
- change code
diffto created diff-file (also called a patch).
- send the diff to developer of the project or to the mailing list of the project if it had one.
- Use the
patchcommand to integrated the changed to the most recent version of the source code.
We discussed how GutHub with the idea of forking made this process much easier.
We saw the fork, pull-request process in a drawing.
We saw how to accept a Pull-Request in the Kantoniko - Ladino dictionary project.
We discussed the 3 ways to accept a pull-request.
- Create a merge commit
- Squash and merge
- Rebase and merge
We created a Pull-Request adding a JSON file to our website.
We hadd issues enabling workflow and checked the GitHub Status page. GitHub Actions was basically down.
We discussed a few examples of GitHub Actions (Bash, Python, and Postgres)
Day 2 - 2023.05.15 15:00-19:00
- Git Workflow - single branch, Continuous Integration
- Git commit, push, staging
- What is a fork (historically, in GitHub it is friendly)
What is a branch
Why do people develop Open Source projects?
Why do corporations develop Open Source software?
- Video 2-2
Day 3 - 2023.06.19 14:00-18:00
The wealth of GitHub (Issues, diffs, blame, insights, watching, stars)
Create Github pages - Creating a free website using Markdown and static site generators.
Docker - containerization for easier on-boarding and to reduce the risk of executing unknown code on our system.
- Introduction to automated testing. A testing demo with a Python project.
- On request of the participants there can be demo for other programming languages as well.
- How open source projects ensure high quality. CI systems, test farms.
No programming background is required. People without programming background will have non-programming assignments.
About the instructor
Gabor Szabo has been writing software since 1983, working in the hi-tech industry since 1993, teaching software development since 2000, contributing to open source since 2002. He is the author of the Code Maven web site. Check out his GitHub profile.