Actions CI/CD
    • PDF

    Actions CI/CD

    • PDF

    Article Summary

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

    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:

    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.


    Was this article helpful?

    What's Next