Merge pull request #3 from atopile/add_ci
remove gitlab ci and add github ci
This commit is contained in:
commit
5f098a1f0d
2 changed files with 86 additions and 51 deletions
86
.github/workflows/ci.yml
vendored
Normal file
86
.github/workflows/ci.yml
vendored
Normal file
|
@ -0,0 +1,86 @@
|
|||
name: CI Pipeline
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build-gerbers-default:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: kicad/kicad:7.0
|
||||
options: --user root
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
|
||||
- name: Build Gerbers
|
||||
run: |
|
||||
mkdir -p build/default/src
|
||||
cd build/default
|
||||
cp ../../elec/layout/default/*.kicad_pcb src/
|
||||
sed -i "s/'{{GITHASH}}'/${GITHUB_SHA:0:7}/g" src/*.kicad_pcb
|
||||
mkdir gerbers
|
||||
kicad-cli pcb export gerbers -o gerbers/ src/*.kicad_pcb
|
||||
kicad-cli pcb export drill -o gerbers/ src/*.kicad_pcb
|
||||
zip "gerbers-${GITHUB_SHA:0:7}.zip" gerbers/*
|
||||
|
||||
# Position files for JLCPCB
|
||||
kicad-cli pcb export pos --format csv --units mm --use-drill-file-origin -o ${GITHUB_SHA:0:7}-pos.csv src/*.kicad_pcb
|
||||
POS_HEADER="$(cat ../../metadata/pos-header)"
|
||||
sed -i "1s/.*/$POS_HEADER/" ${GITHUB_SHA:0:7}-pos.csv
|
||||
|
||||
# Export step file
|
||||
kicad-cli pcb export step --subst-models -o board_3d_shape.step src/*.kicad_pcb
|
||||
shell: bash
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build
|
||||
path: build/
|
||||
|
||||
build-ato-default:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: registry.atopile.io/atopile/atopile/ci:latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Build Ato
|
||||
run: |
|
||||
ato install
|
||||
ato build
|
||||
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: build
|
||||
path: build/
|
||||
|
||||
store-build:
|
||||
name: Store Build
|
||||
needs: [build-ato-default, build-gerbers-default]
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
path: downloads
|
||||
|
||||
- name: Combine Artifacts
|
||||
run: |
|
||||
mkdir store-build
|
||||
cp -r downloads/* store-build/
|
||||
|
||||
- name: Upload Combined Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: store-build
|
||||
path: store-build/
|
|
@ -1,51 +0,0 @@
|
|||
stages:
|
||||
- build
|
||||
- store
|
||||
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: recursive
|
||||
|
||||
build-gerbers-default:
|
||||
stage: build
|
||||
image:
|
||||
name: kicad/kicad:7.0
|
||||
pull_policy: if-not-present
|
||||
script:
|
||||
- mkdir -p build/default/src
|
||||
- cd build/default
|
||||
- cp ../../elec/layout/default/*.kicad_pcb src/
|
||||
- sed -i "s/"'{{GITHASH}}'"/$CI_COMMIT_SHORT_SHA/g" src/*.kicad_pcb
|
||||
- mkdir gerbers
|
||||
- kicad-cli pcb export gerbers -o gerbers/ src/*.kicad_pcb
|
||||
- kicad-cli pcb export drill -o gerbers/ src/*.kicad_pcb
|
||||
- zip "gerbers-$CI_COMMIT_SHORT_SHA.zip" gerbers/*
|
||||
|
||||
# position files need some massaging for JLCPCB
|
||||
- kicad-cli pcb export pos --format csv --units mm --use-drill-file-origin -o $CI_COMMIT_SHORT_SHA-pos.csv src/*.kicad_pcb
|
||||
- POS_HEADER="$(cat ../../metadata/pos-header)"
|
||||
- sed -i "1s/.*/$POS_HEADER/" $CI_COMMIT_SHORT_SHA-pos.csv
|
||||
|
||||
# Export step file
|
||||
- kicad-cli pcb export step --subst-models -o board_3d_shape.step src/*.kicad_pcb
|
||||
artifacts:
|
||||
paths:
|
||||
- build/
|
||||
|
||||
build-ato-default:
|
||||
stage: build
|
||||
image: registry.atopile.io/atopile/atopile/ci:latest
|
||||
script:
|
||||
- ato install
|
||||
- ato build
|
||||
artifacts:
|
||||
paths:
|
||||
- build/
|
||||
|
||||
store-build:
|
||||
stage: store
|
||||
image: alpine
|
||||
script:
|
||||
- echo "noop"
|
||||
artifacts:
|
||||
paths:
|
||||
- build/
|
Loading…
Reference in a new issue