| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- name: 'Check submodules branch'
- on:
- push:
- branches:
- - dev
- - "release*"
- tags:
- - '*'
- pull_request:
- jobs:
- check_protobuf:
- runs-on: [self-hosted, FlipperZeroShell]
- steps:
- - name: 'Decontaminate previous build leftovers'
- run: |
- if [ -d .git ]; then
- git submodule status || git checkout "$(git rev-list --max-parents=0 HEAD | tail -n 1)"
- fi
- - name: 'Checkout code'
- uses: actions/checkout@v2
- with:
- fetch-depth: 0
- ref: ${{ github.event.pull_request.head.sha }}
- - name: 'Check protobuf branch'
- run: |
- git submodule update --init
- SUB_PATH="assets/protobuf";
- SUB_BRANCH="dev";
- SUB_COMMITS_MIN=40;
- cd "$SUB_PATH";
- SUBMODULE_HASH="$(git rev-parse HEAD)";
- BRANCHES=$(git branch -r --contains "$SUBMODULE_HASH");
- COMMITS_IN_BRANCH="$(git rev-list --count dev)";
- if [ $COMMITS_IN_BRANCH -lt $SUB_COMMITS_MIN ]; then
- echo "::set-output name=fails::error";
- echo "::error::Error: Too low commits in $SUB_BRANCH of submodule $SUB_PATH: $COMMITS_IN_BRANCH(expected $SUB_COMMITS_MIN+)";
- exit 1;
- fi
- if ! grep -q "/$SUB_BRANCH" <<< "$BRANCHES"; then
- echo "::set-output name=fails::error";
- echo "::error::Error: Submodule $SUB_PATH is not on branch $SUB_BRANCH";
- exit 1;
- fi
|