Workflow automation
- Understand the importance and differences of major branching strategies in collaborative software development.
- Be able to identify when to use different branching strategies (Gitflow vs Trunk-based development).
- Understand the benefits and challenges of Gitflow for large projects with multiple teams.
- Be able to implement trunk-based development for faster feedback loops and higher quality code.
- Understand the relationship between branching strategy and CI/CD practices.
- Understand how version control can be structured with feature branches, release branches, and hotfix branches.
- Understand the concept of workflow automation and pipeline as code.
- Understand how Dagger runs on top of Docker and provides abstraction for pipeline definition.
- Be able to create and structure a basic Dagger pipeline using Go.
- Understand the typical Dagger pipeline components: client, context, containers, and execution stages.
- Be able to run Dagger pipelines locally for faster development and testing.
- Understand how to inject local directories and files into Dagger containers.
- Be able to execute commands within Dagger containers and handle outputs.
- Understand how to embed Dagger pipelines in GitHub Action workflows.
- Be able to configure GitHub workflows to trigger Dagger pipelines on code changes.
- Understand the relationship between GitHub runners, workflows, and Dagger.
- Understand the benefits of local pipeline testing before pushing to remote repositories.
- Have a high level understanding of how GitHub workflows are commonly structured.