57 lines
2.0 KiB
YAML
57 lines
2.0 KiB
YAML
# AllSpice Running common Actions workflow
|
|
# Action triggers on push and issues
|
|
# Action runs "generate-bom-altium" action
|
|
# .allspice/workflows/generate_bom.yml
|
|
name: Generate BOM
|
|
on:
|
|
pull_request:
|
|
|
|
jobs:
|
|
Generate_BOM:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checkout is only needed if columns.json is committed in your Altium project repo.
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Generate BOM
|
|
uses: https://hub.allspice.io/Actions/generate-bom@v0.5
|
|
with:
|
|
# The path to the project file in your repo (.PrjPcb for Altium, .DSN for OrCad).
|
|
source_path: design/BeagleY-AI_SCH_Rev A_240426.DSN
|
|
# [optional] A path to a YAML file mapping columns to the component attributes
|
|
# This file must be provided.
|
|
# Default: 'columns.json'
|
|
columns: .allspice/columns.yml
|
|
# [optional] The path to the output file that will be generated.
|
|
# Default: 'bom.csv'
|
|
output_file_name: bom.csv
|
|
# [optional] A comma-separated list of columns to group the BOM by. If empty
|
|
# or not present, the BOM will be flat.
|
|
# Default: ''
|
|
group_by: 'Part Number'
|
|
# Print bom.csv to terminal
|
|
- name: Show BOM
|
|
run: cat bom.csv
|
|
|
|
- name: Upload file as artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: BOM.csv
|
|
path: bom.csv
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.11'
|
|
# Note: if we add any other dependencies we should include a requirements.txt file
|
|
- run: pip install jinja2 py-allspice
|
|
|
|
- name: Check Components
|
|
run: .allspice/component_validation.py ./bom.csv
|
|
|
|
- name: Comment Results
|
|
run: .allspice/review_comment.py --allspice_hub_url ${{ github.server_url }} ${{ github.repository }} ${{ github.event.number }} ./.allspice/report.md
|
|
env:
|
|
ALLSPICE_AUTH_TOKEN: ${{ github.token }}
|