www.africastalking.com
Automating Your Open Source
Workflow with GitHub Actions
www.community.elarian.com
Slide 5
Slide 5 text
Speaker
Clifford Ouma
Open Source Community Manager
Open Terms Archive
Twitter: @clifford_ouma
LinkedIn: Clifford Ouma
Slide 6
Slide 6 text
What I will
cover
Maintaining OSS
GitHub Actions to the rescue
GitHub Actions in Open Source
maintenance
Conclusion
Slide 7
Slide 7 text
Get the Slides
Slide 8
Slide 8 text
A sneak peak into the world of Open Source
maintainance
1. Maintaining OSS
Slide 9
Slide 9 text
www.community.elarian.com
• Manage and maintain open source
projects
• Have the authority to accept or
reject contributions
• Grow a thriving community around
the project
Open Source Maintainers
Slide 10
Slide 10 text
www.community.elarian.com
• Coordinating workflow and communication with contributors
• Managing workload and expectations from users
• Creating a positive contributor onboarding experience
• Rewarding and recognizing contributions and achievements of
contributors
Challenges faced by maintainers
Slide 11
Slide 11 text
Leveraging GitHub Actions for automation
2. GitHub Actions to
the Rescue
Slide 12
Slide 12 text
www.community.elarian.com
• Reusable code to perform a task in a workflow
• Uses the YAML syntax/files
• Can run defined script to extend their functionality
What are GitHub Actions?
Slide 13
Slide 13 text
Key parts of a GitHub Actions
www.community.elarian.com
Event
Specific activity that
triggers the workflow
Job
A series of steps in a
workflow executed by
same runner
Step
A single task that can be
executed in a job
Slide 14
Slide 14 text
Example GitHub Action
Slide 15
Slide 15 text
From GitHub Action tab of the repo
Creating GitHub Actions
Slide 16
Slide 16 text
Writing your own Actions
Creating GitHub Actions
Slide 17
Slide 17 text
https://github.com/marketplace?type=actions
Slide 18
Slide 18 text
GitHub Actions in the market place
Slide 19
Slide 19 text
Bringing the concept of GitHub Actions into the
context of Open Source maintainace
3. GitHub Actions in Open
Source maintenance
Slide 20
Slide 20 text
Open Source
Communities are built as
systems and differ
depending on the needs
www.community.elarian.com
Slide 21
Slide 21 text
Issue Triaging
• Labelling
• Assigning
• Closing
• Commenting
Pull Request
Management
• Checking
• Testing
• Reviewing
• Merging
Community
management
• Notifications
• Appreciations
• Welcoming and
onboarding
• Rewarding
GitHub Actions in Open Source
Maintenance Use Cases
www.africastalking.com www.community.elarian.com
Slide 22
Slide 22 text
Automatically assign issues to team
or contributors
Automatically label issues based on
type, priority or status
Close stale, resolved or duplicate
issues
Comment on issues with helpful
information
Issue
Triaging
Slide 23
Slide 23 text
Run code quality and standard
checks on pull requests
Request reviews from team or
contributors
Merge pull requests that pass all
tests and have approvals
Check in on progress from
contributors
Pull Request
Management
Slide 24
Slide 24 text
Welcome new contributors
Send notifications about important
information
Reward contributors for
achievements and contribution
Community
Management
www.community.elarian.com
• Allows you to reuse existing workflows in your own repositories or across different
repositories
• Works for workflows with a workflow_call trigger
• Leverage uses keyword to reference the reusable workflow file
Reusable GitHub Actions
Slide 27
Slide 27 text
Key takeaways from this presentation
4. Conclusion
Slide 28
Slide 28 text
How
Automation
helps
Improve productivity
Increase contributor satisfaction
Grow your open source community
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
More resources to help you explore use of GitHub
Actions in the world of Open Source
4. Resources and Links
Slide 31
Slide 31 text
Feedback Form
https://bit.ly/os-automate-form
Slide 32
Slide 32 text
Speaker
GitHub Student
Developer Pack
Apply for the student developer pack
here
https://gh.io/africastalksummit
Slide 33
Slide 33 text
Contribute to Open
Source for Good
Make Open Source
contributions to Digital
Public Goods
https://forgoodfirstissue.dev/
https://github.com/OpenTermsA
rchive/contrib-declarations