- Print
- PDF
Actions CI/CD
- Print
- PDF
Actions automate your design process
Welcome to AllSpice Actions.
This section introduces some high-level concepts and definitions of Actions.
What are AllSpice Actions?
AllSpice Actions is continuous integration and continuous deployment (CI/CD) for hardware development. It allows you to automate the manual checks, validation, and release of hardware designs.
Actions are workflows that run tests whenever you make a change to your design. They can also release approved designs to PLM systems or directly to manufacturers.
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 likeuploading files to version control
, starting orfinishing 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.
Benefits of Actions
Actions allow engineers to automate almost anything that is currently checked manually, such as library errors, some design errors, and releases.
“We don’t want to waste time clicking around, doing mundane data uploads”
-AllSpice Actions user
By making all this information available to designers in reports, AllSpice Actions eliminates administrative busy work. Instead, designers can focus on resolving issues and completing ambiguous tasks.
Common use cases
AllSpice Actions is used to meet overarching business requirements (i.e. leadership being receptive to new tools that increase developer productivity), as well as engineering concerns, such as control over proprietary data (i.e. releasing designs directly to vendors while keeping control over your data. Managing who can see/access what, etc.) Here are some of the most common use cases:
Overview:
Generating BOM artifacts
Automated static checks/review
Part availability check
Cost of Goods Sold (C.O.G.S.)
Verification parts in APL (Approved Parts List)
More use cases
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 high-level overview
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.
Here’s how to get started in using AllSpice Actions:
Actions is currently in private beta. Talk to one of our friendly engineers to get early access to Actions for your team.
Visit our Actions Quickstart to get Actions enabled and running on your organization’s design repositories.
Need to debug as you’re getting started? Learn how easy it is to troubleshoot actions here. And as always, feel free to reach out to support@allspice.io with any questions.