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

[TASK] DevOps in Embedded #471

Closed
2 tasks
kluge7 opened this issue Sep 29, 2024 · 0 comments
Closed
2 tasks

[TASK] DevOps in Embedded #471

kluge7 opened this issue Sep 29, 2024 · 0 comments
Assignees

Comments

@kluge7
Copy link
Contributor

kluge7 commented Sep 29, 2024

Research

The research phase is critical for understanding the fundamentals of GitHub, CI/CD pipelines, and DevOps practices for embedded systems. Below are the resources categorized by topic. You are expected to review these resources before moving on to the tasks.

  1. Github Fundamentals:
  • Introduction to GitHub, including repositories, cloning, branches, and commits.

https://www.datacamp.com/blog/what-is-github (THEORETICAL)
https://rogerdudler.github.io/git-guide/ (THEORETICAL)
https://github.com/skills/introduction-to-github (PRACTICAL)

  1. Introduction to CI/CD Pipelines (GitHub Actions):
  • Introduction to CI/CD concepts and how to implement pipelines using GitHub Actions.

https://github.blog/enterprise-software/ci-cd/build-ci-cd-pipeline-github-actions-four-steps/ (THEORETICAL)
https://github.com/skills/hello-github-actions (PRACTICAL)

  1. Other Recommended Reading (Optional but Recommended):

Angular Commit Format: Commit Message Format
Git branching model: A Successful Git Branching Model
Branch protection rules: Managing Protected Branches
Issues: Tracking Your Work with Issues
Vortex Project and Issue Tracking: Vortex Projects and Issues

Tasks

After completing the research, the next step is to apply this knowledge specifically to DevOps practices for Embedded systems. The following tasks are meant to guide your exploration of tools, best practices, and CI/CD pipelines for your team.

  1. CI/CD Pipeline Identification:
  • Identify relevant CI/CD pipelines that are applicable for Embedded. These can include a linting pipeline, formatting pipeline, testing pipeline, etc. Also, specify the tools that can be relevant (clang-format, clang-tidy etc.)

For example, a CI/CD pipeline could first run a formatter, such as clang-format, to automatically format the code, followed by a linter pipeline using tools like clang-tidy to check for code quality issues and enforce coding standards.

  • Present your findings on the different pipelines and tools to your team leader next week.
  1. Best Practices for Embedded Systems:
  • Outline a proposal of best practices specifically tailored for embedded systems. This may include commit message standards, Git branching strategies, the use of issues, branch protection rules, and more.

For example, you could enforce the Angular Commit Message Format to ensure consistency and clarity in commit messages.

  • Prepare a summary document detailing these best practices and how they can be implemented in your team’s workflow.

Additional Resources

Below are additional resources included in the GitHub Student Development Pack. These links can be helpful if you want to explore more and further expand your knowledge:
GitHub Student Development Pack

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants