name: ci on: pull_request: branches: [master] # Cancel old PR builds when pushing new commits. concurrency: group: build-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: common: uses: TokTok/ci-tools/.github/workflows/common-ci.yml@master cppcheck: runs-on: ubuntu-latest steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Docker Build uses: docker/build-push-action@v4 with: file: other/docker/cppcheck/Dockerfile mypy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Set up Python 3.9 uses: actions/setup-python@v1 with: python-version: 3.9 - name: Install mypy run: pip install mypy - name: Run mypy run: | (find . -name "*.py" -and -not -name "conanfile.py"; grep -lR '^#!.*python') \ | xargs -n1 -P8 mypy --strict doxygen: runs-on: ubuntu-latest steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Docker Build uses: docker/build-push-action@v4 with: file: other/docker/doxygen/Dockerfile tokstyle: runs-on: ubuntu-latest steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Docker Build uses: docker/build-push-action@v4 with: file: other/docker/tokstyle/Dockerfile misra: runs-on: ubuntu-latest steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Docker Build uses: docker/build-push-action@v4 with: file: other/docker/misra/Dockerfile build-autotools: runs-on: ubuntu-latest steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Docker Build uses: docker/build-push-action@v4 with: file: other/docker/autotools/Dockerfile build-tcc: runs-on: ubuntu-latest steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Docker Build uses: docker/build-push-action@v4 with: file: other/docker/tcc/Dockerfile build-compcert: runs-on: ubuntu-latest steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Docker Build uses: docker/build-push-action@v4 with: file: other/docker/compcert/Dockerfile generate-events: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Run generate_event_c run: | other/event_tooling/run git diff --exit-code cimplefmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Run cimplefmt run: other/docker/cimplefmt/run -u $(find tox* -name "*.[ch]") build-win32: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Cross compilation run: .github/scripts/cmake-win32 script build-win64: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Cross compilation run: .github/scripts/cmake-win64 script build-macos: runs-on: macos-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Build and test run: .github/scripts/cmake-osx coverage-linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Build, test, and upload coverage run: other/docker/coverage/run build-android: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - run: .github/scripts/cmake-android armeabi-v7a - run: .github/scripts/cmake-android arm64-v8a - run: .github/scripts/cmake-android x86 - run: .github/scripts/cmake-android x86_64