sof/.github/workflows/installer.yml

55 lines
1.7 KiB
YAML

---
# 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]
jobs:
checktree:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
# From time to time this will catch a git tag and change SOF_VERSION
with: {fetch-depth: 50, submodules: recursive}
- name: yamllint ourselves
run: yamllint .github/workflows/installer.yml
- name: docker
run: docker pull thesofproject/sof && docker tag thesofproject/sof sof
# FIXME: update the docker image instead
- name: HACK add tree to the docker PATH
run: |
cp -a /usr/bin/tree .
printf '%s\n' 'PATH=$PATH:$(pwd)' > stage.sh
printf '%s\n' 'make -j3 -C installer/ stage' >> stage.sh
# -j3 tests the ability to build multiple platforms
# concurrently. It makes the build log unreadable but that's OK
# because we have other, slower actions with readable logs.
- name: build all and stage
run: ./scripts/docker-run.sh sh -x ./stage.sh
- name: check staging tree
run: make -C installer/ checktree
- name: test make cleanall
run: |
make -C installer cleanall
# Make sure there's nothing left
rm -rf scripts/kconfig/__pycache__/
rm ./tree ./stage.sh # HACK, see above
! git status --porcelain --ignored | grep .