Build now! #37
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
name: Build now! | |
on: | |
workflow_dispatch: | |
inputs: | |
device: | |
description: "Device" | |
required: true | |
default: rpi5 | |
type: choice | |
options: | |
- rpi5 | |
- rpi4 | |
architecture: | |
description: "Architecture" | |
required: true | |
default: 32-bit | |
type: choice | |
options: | |
- 64-bit | |
- 32-bit | |
host_name: | |
description: "Hostname" | |
default: neurobionicspi | |
required: true | |
user: | |
description: "Username" | |
required: true | |
default: pi | |
password: | |
description: "Password" | |
required: true | |
default: neurobionics | |
wifi_cc: | |
description: "WiFi Country Code" | |
required: true | |
default: "US" | |
type: choice | |
options: | |
- US | |
- GB | |
- DE | |
- FR | |
- IT | |
- ES | |
- CA | |
- AU | |
- JP | |
- CN | |
- KR | |
- TW | |
- SG | |
- IN | |
- BR | |
- RU | |
- ZA | |
- SA | |
- AE | |
- EG | |
- IL | |
- TR | |
- ID | |
- TH | |
- VN | |
- PH | |
- MY | |
- MX | |
- AR | |
- CL | |
- CO | |
- PE | |
- UY | |
- EC | |
- BO | |
- PY | |
- CR | |
- PA | |
- GT | |
- HN | |
- SV | |
- NI | |
- DO | |
- JM | |
- HT | |
- CU | |
- VE | |
wifi_ssid: | |
description: "Additional Network SSID" | |
required: false | |
wifi_password: | |
description: "Additional Network Password" | |
required: false | |
wpa_ssid: | |
description: "Access Point SSID" | |
required: true | |
default: NeurobionicsRPi | |
wpa_password: | |
description: "Access Point Password" | |
required: true | |
default: neurobionics | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check secrets | |
run: | | |
if [[ -z "${{ secrets.EMAIL_ADDRESS }}" ]]; then | |
echo "EMAIL_ADDRESS secret is not set, please refer to the README.md for more information. Exiting." | |
exit 1 | |
fi | |
if [[ (-z "${{ github.event.inputs.wifi_ssid }}" || -z "${{ github.event.inputs.wifi_password }}") && ( -z "${{ secrets.ENTNETWORK_SSID }}" || -z "${{ secrets.ENTNETWORK_IDENTITY }}" || -z "${{ secrets.ENTNETWORK_PASSWORD }}" ) ]]; then | |
echo "Please ensure that all required secrets (ENTNETWORK_SSID, ENTNETWORK_IDENTITY, and ENTNETWORK_PASSWORD) are set for the enterprise network. If you do not want to connect to an enterprise network, please provide information for the home network. Exiting." | |
exit 1 | |
fi | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Write env variables | |
run: | | |
echo HOSTNAME="${{ github.event.inputs.host_name }}" > $(dirname rpi5.Pifile)/.env | |
echo USER="${{ github.event.inputs.user }}" >> $(dirname rpi5.Pifile)/.env | |
echo USERPASSWORD="${{ github.event.inputs.password }}" >> $(dirname rpi5.Pifile)/.env | |
echo ENTNETWORK_SSID="${{ secrets.ENTNETWORK_SSID }}" >> $(dirname rpi5.Pifile)/.env | |
echo ENTNETWORK_PRIORITY="${{ secrets.ENTNETWORK_PRIORITY }}" >> $(dirname rpi5.Pifile)/.env | |
echo ENTNETWORK_IDENTITY="${{ secrets.ENTNETWORK_IDENTITY }}" >> $(dirname rpi5.Pifile)/.env | |
echo ENTNETWORK_PASSWORD="${{ secrets.ENTNETWORK_PASSWORD }}" >> $(dirname rpi5.Pifile)/.env | |
echo WIFI_CC="${{ github.event.inputs.wifi_cc }}" >> $(dirname rpi5.Pifile)/.env | |
echo HOMENETWORK_SSID="${{ github.event.inputs.wifi_ssid }}" >> $(dirname rpi5.Pifile)/.env | |
echo HOMENETWORK_PASSWORD="${{ github.event.inputs.wifi_password }}" >> $(dirname rpi5.Pifile)/.env | |
echo AP_SSID="${{ github.event.inputs.wpa_ssid }}" >> $(dirname rpi5.Pifile)/.env | |
echo AP_PASSWORD="${{ github.event.inputs.wpa_password }}" >> $(dirname rpi5.Pifile)/.env | |
echo EMAIL=\"${{ secrets.EMAIL_ADDRESS }}\" >> $(dirname rpi5.Pifile)/.env | |
- name: Build image | |
uses: Nature40/pimod@master | |
with: | |
pifile: ${{ github.event.inputs.device }}.Pifile | |
- name: Make tarball | |
run: | | |
tar -czvf ${{ github.event.inputs.device }}.tar.gz ${{ github.event.inputs.device }}.img | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.workflow }}-${{ github.sha }}.zip | |
path: ${{ github.event.inputs.device }}.img |