Removed "untested" note from README #32
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- holyiot | |
paths-ignore: | |
- '**/README.md' | |
- '**/LICENSE' | |
pull_request: | |
branches: | |
- holyiot | |
paths-ignore: | |
- '**/README.md' | |
- '**/LICENSE' | |
workflow_dispatch: | |
paths-ignore: | |
- '**/README.md' | |
- '**/LICENSE' | |
env: | |
DOCKER_USER_OPTION: '$UID:$GID' | |
name: Build | |
jobs: | |
generate: | |
runs-on: ubuntu-latest | |
name: Generate | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- uses: xanantis/docker-file-ownership-fix@v1 | |
- name: Run build script | |
run: | | |
chmod +x build.sh | |
./build.sh | |
shell: bash | |
- name: Persist gerbers | |
uses: actions/[email protected] | |
with: | |
name: Jorian840_gerbers | |
path: gerbers | |
- name: Persist images | |
uses: actions/[email protected] | |
with: | |
name: Jorian840_images | |
path: images | |
- name: Persist case files | |
uses: actions/[email protected] | |
with: | |
name: Jorian840_case_files | |
path: dxf | |
image_matrix: | |
runs-on: ubuntu-latest | |
name: PCB image matrix | |
needs: generate | |
outputs: | |
matrix: ${{ steps.setmatrix.outputs.matrix }} | |
steps: | |
- uses: actions/download-artifact@master | |
with: | |
name: Jorian840_images | |
path: images | |
- id: setmatrix | |
run: | | |
matrixArray=$(find ./images -name 'pcb*.png' | xargs -n 1 -i echo {} {} | sed 's# .*/# #') # Creates array of all image files | |
# Start Generate JSON String | |
echo "$matrixArray" | \ | |
jq --slurp --raw-input 'split("\n")[:-1] | map(split(" "))' | \ | |
jq "map({\"filepath\": (.[0]), \"basename\": .[1] })" | \ | |
jq -sc "{ \"include\": .[] }" > tmp | |
cat ./tmp | |
# End Generate JSON String | |
matrixStringifiedObject=$(cat ./tmp) # Use this as jq @sh wasn't cooperating | |
echo "matrix=$matrixStringifiedObject" >> $GITHUB_OUTPUT | |
gerber_matrix: | |
runs-on: ubuntu-latest | |
name: Gerber matrix | |
needs: generate | |
outputs: | |
matrix: ${{ steps.setmatrix.outputs.matrix }} | |
steps: | |
- uses: actions/download-artifact@master | |
with: | |
name: Jorian840_gerbers | |
path: gerbers | |
- id: setmatrix | |
run: | | |
matrixArray=$(find ./gerbers -name '*.zip' | xargs -n 1 -i echo {} {} | sed 's# .*/# #') # Creates array of all gerber files | |
# Start Generate JSON String | |
echo "$matrixArray" | \ | |
jq --slurp --raw-input 'split("\n")[:-1] | map(split(" "))' | \ | |
jq "map({\"filepath\": (.[0]), \"basename\": .[1] })" | \ | |
jq -sc "{ \"include\": .[] }" > tmp | |
cat ./tmp | |
# End Generate JSON String | |
matrixStringifiedObject=$(cat ./tmp) # Use this as jq @sh wasn't cooperating | |
echo "matrix=$matrixStringifiedObject" >> $GITHUB_OUTPUT | |
upload_gerbers: | |
runs-on: ubuntu-latest | |
name: Upload gerbers | |
needs: [generate, gerber_matrix] | |
strategy: | |
matrix: ${{fromJson(needs.gerber_matrix.outputs.matrix)}} | |
steps: | |
- uses: actions/download-artifact@master | |
with: | |
name: Jorian840_gerbers | |
path: gerbers | |
- name: Gets latest created release info | |
id: latest_release_info | |
uses: jossef/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
- name: Upload gerbers | |
uses: shogo82148/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
overwrite: true | |
upload_url: ${{ steps.latest_release_info.outputs.upload_url }} | |
asset_path: ${{ matrix.filepath }} | |
asset_name: ${{ matrix.basename }} | |
upload_images: | |
runs-on: ubuntu-latest | |
name: Upload images | |
needs: [generate, image_matrix] | |
strategy: | |
matrix: ${{fromJson(needs.image_matrix.outputs.matrix)}} | |
steps: | |
- uses: actions/download-artifact@master | |
with: | |
name: Jorian840_images | |
path: images | |
- name: Gets latest created release info | |
id: latest_release_info | |
uses: jossef/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
- name: Upload images | |
uses: shogo82148/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
overwrite: true | |
upload_url: ${{ steps.latest_release_info.outputs.upload_url }} | |
asset_path: ${{ matrix.filepath }} | |
asset_name: ${{ matrix.basename }} | |
upload_case_files: | |
runs-on: ubuntu-latest | |
name: Upload case DXF files | |
needs: generate | |
steps: | |
- uses: actions/download-artifact@master | |
with: | |
name: Jorian840_case_files | |
path: dxf | |
- name: Gets latest created release info | |
id: latest_release_info | |
uses: jossef/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
- name: Upload case files | |
uses: shogo82148/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
overwrite: true | |
upload_url: ${{ steps.latest_release_info.outputs.upload_url }} | |
asset_path: ./dxf/case_files.zip | |
asset_name: case_files.zip |