name: Windows on: [push, pull_request] env: PlatformToolset: v142 # build platform, i.e. x86, x64, Any CPU. This setting is optional. Platform: Win32 # build Configuration, i.e. Debug, Release, etc. Configuration: Release jobs: build: # For a list of available runner types, refer to # https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on runs-on: windows-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Configure GIT working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: | git config --local core.autocrlf true git config --local advice.detachedHead false git submodule update --init --recursive - name: Setup python uses: actions/setup-python@v3 with: python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified - name: Create new environment variables working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: | python -c "import os; print('GIT_REPOSITORY=' + os.path.split(os.getenv('GITHUB_REPOSITORY'))[1]);" >> %GITHUB_ENV% python -c "import os; print('GIT_BRANCH=' + os.path.split(os.getenv('GITHUB_REF'))[1]);" >> %GITHUB_ENV% echo GITHUB_WORKFLOW=%GITHUB_WORKFLOW%>> %GITHUB_ENV% - name: List environment variables for debugging working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: | set - name: Deploy 'tests not available' badge before building uses: exuanbo/actions-deploy-gist@v1 with: token: ${{ secrets.BADGES }} gist_id: 58cf6c72c08e706335337d5ef9ca48e8 gist_file_name: ${{env.GIT_REPOSITORY}}.${{env.GIT_BRANCH}}.${{env.GITHUB_WORKFLOW}}.json file_path: ./ci/github/tests_not_available.badge.json - name: Install Arduino CLI working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\install_arduinocli.bat - name: Install Arduino library dependnecies working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_install_libraries.bat - name: Install this arduino library working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\install_this.bat - name: Install Google Test working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\install_googletest.bat - name: Install RapidAssist working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\install_rapidassist.bat - name: Install win32arduino working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\install_win32arduino.bat - name: Build library working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\build_library.bat - name: Build Arduino sketch - Basic working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_build_sketch.bat Basic - name: Build Arduino sketch - BlockingProgramMemoryRtttl working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_build_sketch.bat BlockingProgramMemoryRtttl - name: Build Arduino sketch - BlockingRtttl working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_build_sketch.bat BlockingRtttl - name: Build Arduino sketch - BlockingWithNonBlocking working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_build_sketch.bat BlockingWithNonBlocking - name: Build Arduino sketch - NonBlockingProgramMemoryRtttl working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_build_sketch.bat NonBlockingProgramMemoryRtttl - name: Build Arduino sketch - NonBlockingRtttl working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_build_sketch.bat NonBlockingRtttl - name: Build Arduino sketch - NonBlockingStopBeforeEnd working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_build_sketch.bat NonBlockingStopBeforeEnd - name: Build Arduino sketch - Play10Bits working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_build_sketch.bat Play10Bits - name: Build Arduino sketch - Play16Bits working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_build_sketch.bat Play16Bits - name: Build Arduino sketch - Rtttl2Code working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\arduino_build_sketch.bat Rtttl2Code - name: Run unit tests working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: call ci\github\test_script.bat - name: Search unit test report file working-directory: ${{env.GITHUB_WORKSPACE}} shell: cmd run: | for /f "tokens=* usebackq" %%f in (`dir/b/s build\bin\${{env.configuration}}\anyrtttl_unittest*.xml`) do (set UNITTEST_REPORT_PATH=%%f) echo UNITTEST_REPORT_PATH=%UNITTEST_REPORT_PATH% echo UNITTEST_REPORT_PATH=%UNITTEST_REPORT_PATH% >> %GITHUB_ENV% - name: Create test badge working-directory: ${{env.GITHUB_WORKSPACE}} run: python ci\github\maketestbadge.py ${{env.UNITTEST_REPORT_PATH}} - name: Deploy test badge to gist uses: exuanbo/actions-deploy-gist@v1 with: token: ${{ secrets.BADGES }} gist_id: 58cf6c72c08e706335337d5ef9ca48e8 gist_file_name: ${{env.GIT_REPOSITORY}}.${{env.GIT_BRANCH}}.${{env.GITHUB_WORKFLOW}}.json file_path: ./badge.json - name: Archive test results uses: actions/upload-artifact@v3 with: name: unit-test-results path: build\bin\${{env.Configuration}}\anyrtttl_unittest*.xml