actions: Set matrix strategy, generate default ELF signing key, uploa… #42
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: | |
- develop | |
- feature/* | |
workflow_dispatch: | |
jobs: | |
build: | |
name: build | |
runs-on: arm-none-eabi-gcc | |
strategy: | |
matrix: | |
port: | |
- name: nwdaq_br28_fdc | |
target: firmware-sign | |
- name: nwdaq_br28_fdc_bl | |
target: firmware | |
steps: | |
- name: Setup arm-none-eabi-gcc path | |
run: echo "/opt/arm-gnu-toolchain-13.2.Rel1-aarch64-arm-none-eabi/bin" >> $GITHUB_PATH | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
set-safe-directory: false | |
- run: | | |
git fetch --prune --unshallow --no-recurse-submodules | |
- name: Install python venv & dependencies | |
run: | | |
python -m venv venv | |
source venv/bin/activate | |
pip install -r requirements.txt | |
echo PATH=$PATH >> $GITHUB_ENV | |
echo VIRTUAL_ENV=$VIRTUAL_ENV >> $GITHUB_ENV | |
- name: Create default ELF signing key | |
run: | | |
python -c "import hashlib; import base64; print(base64.b64encode(hashlib.sha256(b'default-key').digest()).decode('utf-8'))" > elfsign.key | |
scripts/elfsign.py --sk elfsign.key -p elfsign.pub | |
- name: Select the port | |
run: defconfig config/${{ matrix.port.name }}_defconfig | |
- name: Compile | |
run: | | |
scons ${{ matrix.port.target }} | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.port.name }} | |
path: | | |
bin/* | |
.config |