.... #454
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
--- | |
# Tools that can save round-trips to github and a lot of time: | |
# | |
# yamllint -f parsable this.yml | |
# pip3 install ruamel.yaml.cmd | |
# yaml merge-expand this.yml exp.yml && diff -w -u this.yml exp.yml | |
# | |
# github.com also has a powerful web editor that can be used without | |
# committing. | |
name: installer | |
# 'workflow_dispatch' allows running this workflow manually from the | |
# 'Actions' tab | |
# yamllint disable-line rule:truthy | |
on: [push, pull_request, workflow_dispatch, workflow_call] | |
jobs: | |
checktree: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: # just a vector in this case | |
make_env: [ | |
IPC_VERSION= UNSIGNED_list='imx8m' SIGNED_list=, # default version | |
] | |
steps: | |
- uses: actions/checkout@v4 | |
with: {fetch-depth: 0, submodules: recursive, filter: 'tree:0'} | |
- name: docker | |
run: docker pull thesofproject/sof && docker tag thesofproject/sof sof | |
# -j3 tests the ability to build multiple platforms | |
# concurrently. It makes the build log unreadable, so retry with | |
# a single thread in case of failure | |
- name: build all and stage | |
env: | |
gh_make_env: ${{ matrix.make_env }} | |
# Use 'eval' to have two different levels of whitespace: | |
# 1. between vars, and 2. inside _lists. Quoting is hard, even | |
# harder through 'docker-run.sh'. | |
run: eval env_array=($gh_make_env) && | |
./scripts/docker-run.sh | |
make -j3 -C installer/ tarball "${env_array[@]}" || | |
VERBOSE=1 NO_PROCESSORS=1 USE_XARGS=no | |
./scripts/docker-run.sh | |
make -j1 -C installer/ tarball "${env_array[@]}" | |
- name: check staging tree | |
env: | |
gh_make_env: ${{ matrix.make_env }} | |
run: eval env_array=($gh_make_env) && | |
make -C installer/ checktree "${env_array[@]}" | |
- name: test make cleanall | |
run: | | |
make -C installer cleanall | |
# Make sure there's nothing left | |
rm -rf scripts/kconfig/__pycache__/ | |
! git status --porcelain --ignored | grep . |