56 lines
1.5 KiB
YAML
56 lines
1.5 KiB
YAML
name: "Generate BOM"
|
|
description: >
|
|
Generate a BOM for the project using py-allspice and attach it as an artifact
|
|
to the run.
|
|
|
|
Works for Altium, OrCAD and System Capture projects.
|
|
|
|
inputs:
|
|
source_path:
|
|
description: >
|
|
Path to the source file from the root of the repo. This should be:
|
|
|
|
- A .PrjPcb file for Altium projects.
|
|
- A .DSN file for OrCAD projects.
|
|
- An .SDAX file for System Capture projects.
|
|
required: true
|
|
output_file_name:
|
|
description: "Name of the output file"
|
|
required: true
|
|
default: "bom.csv"
|
|
columns:
|
|
description: >
|
|
A path to a JSON file mapping columns to the attributes they are from.
|
|
required: true
|
|
group_by:
|
|
description: >
|
|
A comma-separated list of columns to group the BOM by. If not present, the
|
|
BOM will be flat.
|
|
default: ""
|
|
variant:
|
|
description: >
|
|
The variant of the project to generate the BOM for. If not present, the
|
|
BOM will be generated for the default variant. Not supported for OrCAD
|
|
projects.
|
|
default: ""
|
|
runs:
|
|
using: "docker"
|
|
image: "Dockerfile"
|
|
args:
|
|
- "--source_ref"
|
|
- ${{ github.sha }}
|
|
- "--allspice_hub_url"
|
|
- ${{ github.server_url }}
|
|
- "--columns"
|
|
- ${{ inputs.columns }}
|
|
- "--group_by"
|
|
- ${{ inputs.group_by }}
|
|
- "--variant"
|
|
- ${{ inputs.variant }}
|
|
- "--output_file"
|
|
- "${{ github.workspace}}/${{ inputs.output_file_name }}"
|
|
- ${{ github.repository }}
|
|
- ${{ inputs.source_path }}
|
|
env:
|
|
ALLSPICE_AUTH_TOKEN: ${{ github.token }}
|