114 lines
4.3 KiB
Markdown
114 lines
4.3 KiB
Markdown
## Actions demo repo
|
|
Welcome to the Actions demo repo.
|
|
|
|
This repo will help you get started quickly with actions.
|
|
|
|
This repo is part of the [Actions quickstart guide](https://learn.allspice.io/docs/allspice-ci-cd-actions-quickstart)
|
|
|
|
### Quickstart overview
|
|
|
|
- [ ] Sign up for Actions by talking to one of our [friendly engineers](https://allspice.io/demo)
|
|
- [ ] Create a new repo using this repo as a template, or migrate this repo
|
|
- [ ] Enable actions by visiting your repository->:wrench:Settings, and clicking [X] `Enable Repository Actions`
|
|
|
|
- <img height="150" src="./images/enable_actions.png">
|
|
|
|
- [ ] Trigger Actions workflows by pushing files to the repo, or by creating/opening/closing an issue
|
|
- [ ] Visit the Actions tab to view the workflows
|
|
- Click on the workflow you would like to view
|
|
- <img height="400" src="./images/workflow-list.png">
|
|
- Click on individual jobs to see their output
|
|
- <img height="400" src="./images/workflow-demo.png">
|
|
|
|
|
|
## Actions background
|
|
|
|
This section introduces some high-level concepts and definitions of Actions. To learn more, visit the main [Actions documentation](https://learn.allspice.io/docs/actions-cicd)
|
|
|
|
### Continuous Integration (CI)
|
|
|
|
CI is part of development operations (DevOps).
|
|
|
|
CI is the practice of **automating** the integration of **design changes** from multiple contributors into a single project.
|
|
|
|
### Actions
|
|
|
|
An action is the basic reusable block of CI. It's just a program or series of programs that you call from your workflow `.allspice/workflows/your_workflow.yml`
|
|
|
|
Actions allow you to `automate repetitive and error-prone processes` to let the engineers focus on the creative design challenges.
|
|
|
|
Actions is just an easy way to say automation program.
|
|
|
|
### Actions trigger automatically
|
|
|
|
Automation programs are `triggered` by standard actions like `uploading files to version control`, starting or `finishing a design review`.
|
|
|
|
Triggers are defined in your workflow files `.allspice/workflows/your_workflow.yml`
|
|
|
|
Engineering teams gain rapid improvements on their process by relying on Actions to automate instead of manual operations.
|
|
|
|
To learn more, visit https://learn.allspice.io/docs/actions-triggers
|
|
|
|
## **Actions help your design team**
|
|
|
|
- Process BOM/Assembly
|
|
- Availability checks
|
|
- Lifecycle checks (PLM)
|
|
- COGS (ERP)
|
|
- CM BOM Diff Report
|
|
- Extended quote/forecasting
|
|
- PCB cost/schedule options
|
|
- Quotes with multiple quantities
|
|
- Date extended quantity is available
|
|
- Process Schematics
|
|
- Verify symbols
|
|
- Reference designators
|
|
- Symbol attributes
|
|
- MFG/MPN/Value/etc
|
|
- Netlist
|
|
- Static analysis
|
|
- Power/GND misconnects
|
|
- Voltage level checks between components
|
|
- Process PCBAs
|
|
- Verify footprints
|
|
- Verify design rules match (DRC is no good if the rules are wrong)
|
|
- Create trace report (Current/Power/Width)
|
|
- Generate stack-up documentation
|
|
- Generate documentation (Sch/PCB Design Review/Release notes/Fab files)
|
|
- Regulate releases
|
|
- File pattern match
|
|
- Flag missing files
|
|
- Generate report
|
|
- Connect to any public API
|
|
- PLM/ERP (Cofactr/PTC)
|
|
- Distributors (Digikey/Mouser/Newark/Octopart)
|
|
- Task management (Jira)
|
|
- Create Read Update Delete (CRUD) cloud “office” documents
|
|
- MS365 (Excel/Word/Powerpoint)
|
|
- Google docs (Sheets/Docs/Slides)
|
|
- Network sync (Dropbox/MS365/iCloud)
|
|
|
|
Actions can seem a bit abstract, but it's really just code running on a computer
|
|
|
|
## Workflows
|
|
|
|
Workflows are the scaffolding of your automation. They are the code that loads the automation code. Workflows are easy to read and write `yaml` files that define the following:
|
|
|
|
- Load software container
|
|
- Ubuntu LTS 2024 (Debian flavored Linux distro)
|
|
- Load dependencies
|
|
- Software libraries
|
|
- Design Files
|
|
- API tools
|
|
- Secrets/tokens/keys
|
|
- Run programs
|
|
- Actions - Pre-built no-code automation programs
|
|
- Python - Programs can be written in python and access our AllSpice.io API via our py-allspice python module.
|
|
- C/C++, use the same language as firmware development
|
|
- Any programming language that can run on Debian/Ubuntu Linux
|
|
- Extend existing automation
|
|
- Workflows can be broken into modules that can be reused and extended.
|
|
|
|
|
|
## Learn more
|
|
To learn more, visit our [actions documentation](https://learn.allspice.io/docs/actions-cicd). |