--- # 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 .