Actions-Demo-Prev/readme.md

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).