- 1. GitHub Workflows and GitHub Actions
- 2. A little background
- 2.1. What is Git
- 2.2. What is GitHub
- 2.3. CI - Continuous Integration
- 2.4. When to run?
- 2.5. What to run?
- 2.6. CD - Continuous Delivery (or Deployment)
- 2.7. Cloud-based CI systems
- 2.8. Exercises
- 3. GitHub Actions
- 3.1. What are Github Actions?
- 3.2. GitHub Actions use-cases
- 3.3. Documentation
- 3.4. Setup via the UI of GitHub
- 3.5. Setup Manually
- 3.6. Minimal Ubuntu Linux configuration
- 3.7. Minimal Windows configuration
- 3.8. Minimal MacOS configuration
- 3.9. Minimal Docker configuration (for python)
- 3.10. Name of a workflow
- 3.11. Triggering jobs
- 3.12. Environment variables
- 3.13. GitHub Action Parallel Jobs
- 3.14. GitHub Actions - Runners - runs-on
- 3.15. Scheduled runs
- 3.16. Conditional runs
- 3.17. Disable GitHub Action workflow
- 3.18. Disable a single GitHub Action job
- 3.19. Disable a single step in a GitHub Action job
- 3.20. Create multiline file in GitHub Action
- 3.21. OS Matrix (Windows, Linux, Mac OSX)
- 3.22. Matrix (env vars)
- 3.23. Change directory in GitHub Actions
- 3.24. Install packages on Ubuntu Linux in GitHub Actions
- 3.25. Generate GitHub pages using GitHub Actions
- 3.26. Workflow Dispatch (manually and via REST call)
- 3.27. Run in case of failure
- 3.28. Setup Droplet for demo
- 3.29. Integrated feature branches
- 3.30. Deploy using Git commit webhooks
- 3.31. Deploy from GitHub Action
- 3.32. Deploy using ssh
- 3.33. Artifact
- 3.34. Lock Threads
- 3.35. GitHub Workflows
- 3.36. List of files changed
- 3.37. Avoid duplicate triggers
- 3.38. Needs
- 3.39. Reuse public workflow
- 3.40. Bash
- 3.41. Crystal
- 3.42. Don't run in forks
- 3.43. Cache restore and save
- 3.44. Run code if file changes
- 3.45. GitHub Actions with parameters
- 3.46. Incremental caching using S3 compatibale object storage of Linode
- 3.47. Run only on the main branch and the pr/* branches
- 3.48. Experiment with GitHub actions
- 3.49. Trigger on version tags
- 3.50. Docker compose
- 4. Available GitHub actions
- 4.1. astral-sh/setup-uv
- 5. GitHub Actions with service
- 5.1. Redis
- 5.2. Solr
- 5.3. MySQL
- 5.4. PostgreSQL
- 6. Reusabel GitHub Actions
- 7. Dependabot
- 7.1. Dependabot for Python and GitHub Actions
- 8. GitHub Actions for Perl
- 8.1. Goals
- 8.2. CPAN Testers
- 8.3. Perl with Makefile.PL Native
- 8.4. Perl with Makefile.PL using Docker container
- 8.5. Perl with Build.PL
- 8.6. Perl with Dist::Zilla Native
- 8.7. Perl with Dist::Zilla in Docker
- 8.8. Perl with Test coverage report
- 8.9. Examples - Perl
- 8.10. Perl Tester Docker Image
- 8.11. CI Perl Tester Helpers
- 8.12. GitHub Action to setup perl environment in the marketplace
- 8.13. Perl and OS matrix
- 8.14. The Perl Planetarium
- 8.15. About Github Action for Perl
- 9. GitHub Actions for Python
- 9.1. Python
- 9.2. Examples - Python
- 9.3. Python with Matrix
- 10. GitHub Actions for Rust
- 10.1. Rust with test coverage
- 11. GitHub Actions for NodeJS
- 11.1. NodeJS and OS matrix
- 12. Coveralls
- 12.1. About Coveralls
- 13. GitHub Actions case studies
- 14. Collect GitHub Actions
- 15. Previous Sessions
- 15.1. 2020.10.29
- 15.2. 2020.12.24
- 15.3. 2026.03.08