Better home screen button handler #3281
Workflow file for this run
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: CI | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
container: | |
image: alpine:3.16 | |
strategy: | |
matrix: | |
model: ["TS100", "TS80", "TS80P", "Pinecil", "MHP30", "Pinecilv2", "S60", "TS101"] | |
fail-fast: true | |
steps: | |
- name: Install dependencies (apk) | |
run: apk add --no-cache gcc-riscv-none-elf gcc-arm-none-eabi newlib-riscv-none-elf newlib-arm-none-eabi findutils python3 py3-pip make git bash | |
- name: Install dependencies (python) | |
run: python3 -m pip install bdflib | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Git ownership exception | |
run: git config --global --add safe.directory /__w/IronOS/IronOS && git config --global safe.directory "$GITHUB_WORKSPACE" | |
- name: build ${{ matrix.model }} | |
run: cd source && ./build.sh -m ${{ matrix.model }} | |
- name: copy license text | |
run: | | |
cp LICENSE source/Hexfile/LICENSE | |
cp scripts/LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md | |
- name: Archive ${{ matrix.model }} artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.model }} | |
path: | | |
source/Hexfile/${{ matrix.model }}_*.hex | |
source/Hexfile/${{ matrix.model }}_*.dfu | |
source/Hexfile/${{ matrix.model }}_*.bin | |
source/Hexfile/LICENSE | |
source/Hexfile/LICENSE_RELEASE.md | |
if-no-files-found: error | |
- name: Generate json index file | |
run: cd source && python3 metadata.py ${{ matrix.model }}.json | |
- name: Archive ${{ matrix.model }} index file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: metadata | |
path: source/Hexfile/${{ matrix.model }}.json | |
build_multi-lang: | |
runs-on: ubuntu-20.04 | |
container: | |
image: alpine:3.16 | |
strategy: | |
matrix: | |
model: ["Pinecil", "Pinecilv2"] | |
fail-fast: true | |
steps: | |
- name: Install dependencies (apk) | |
run: apk add --no-cache gcc-riscv-none-elf newlib-riscv-none-elf findutils python3 py3-pip make git bash musl-dev | |
- name: Install dependencies (python) | |
run: python3 -m pip install bdflib | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Git ownership exception | |
run: git config --global --add safe.directory /__w/IronOS/IronOS && git config --global safe.directory "$GITHUB_WORKSPACE" | |
- name: build ${{ matrix.model }} | |
run: cd source && make -j$(nproc) model="${{ matrix.model }}" firmware-multi_compressed_European firmware-multi_compressed_Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese | |
- name: copy license text | |
run: | | |
cp LICENSE source/Hexfile/LICENSE | |
cp scripts/LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md | |
- name: Archive ${{ matrix.model }} artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.model }}_multi-lang | |
path: | | |
source/Hexfile/${{ matrix.model }}_*.hex | |
source/Hexfile/${{ matrix.model }}_*.dfu | |
source/Hexfile/${{ matrix.model }}_*.bin | |
source/Hexfile/LICENSE | |
source/Hexfile/LICENSE_RELEASE.md | |
if-no-files-found: error | |
- name: Generate json index file | |
run: cd source && python3 metadata.py ${{ matrix.model }}_multi-lang.json | |
- name: Archive ${{ matrix.model }} index file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: metadata | |
path: source/Hexfile/${{ matrix.model }}_multi-lang.json | |
tests: | |
runs-on: ubuntu-20.04 | |
container: | |
image: alpine:3.16 | |
steps: | |
- name: deps | |
run: apk add --no-cache python3 py3-pip make git bash findutils gcc musl-dev | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: install black | |
run: python3 -m pip install bdflib | |
- name: Run python tests | |
run: cd Translations && chmod +x make_translation_test.py && ./make_translation_test.py | |
- name: Run BriefLZ tests | |
run: | | |
cd source | |
make Objects/host/brieflz/libbrieflz.so | |
cd ../Translations | |
chmod +x brieflz_test.py | |
./brieflz_test.py | |
check_formatting: | |
runs-on: ubuntu-20.04 | |
container: | |
image: alpine:3.16 | |
steps: | |
- name: deps | |
run: apk add --no-cache python3 py3-pip make git black | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: install black | |
run: python3 -m pip install bdflib flake8 | |
- name: Check formatting with clang-format | |
run: cd source && make clean && make check-style | |
- name: Check python formatting with black | |
run: black --check Translations | |
- name: Check python with flake8 | |
run: flake8 Translations | |
shellcheck: | |
name: runner / shellcheck | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: shellcheck | |
uses: reviewdog/action-shellcheck@v1 | |
with: | |
github_token: ${{ secrets.github_token }} | |
reporter: github-pr-review # Change reporter. | |
exclude: "./.git/*" # Optional. | |
check_all_files_with_shebangs: "false" # Optional. |