test: add info log #883
Workflow file for this run
This file contains hidden or 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: C/C++ CI | |
| on: [push, pull_request] | |
| jobs: | |
| build: | |
| env: | |
| TARGET_MAJOR: 3 | |
| TARGET_VERSION: 3.0.0 | |
| TARGET_KIND: static | |
| timeout-minutes: 10 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: ['ubuntu-latest', 'windows-latest'] | |
| runs-on: ${{ matrix.os }} | |
| name: "Builds binaries on ${{ matrix.os }}" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - uses: xmake-io/github-action-setup-xmake@v1 | |
| with: | |
| xmake-version: branch@dev | |
| - name: Cache xmake packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.xmake/packages | |
| ~/.xmake/repositories | |
| ~/AppData/Local/.xmake/packages | |
| ~/AppData/Local/.xmake/repositories | |
| key: ${{ runner.os }}-xmake-${{ runner.os == 'Linux' && 'coverage' || 'release' }}-${{ hashFiles('xmake-requires.lock', 'examples/xmake-requires.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-xmake-${{ runner.os == 'Linux' && 'coverage' || 'release' }}- | |
| ${{ runner.os }}-xmake- | |
| - name: Install tools | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update --fix-missing | |
| sudo apt-get install debhelper lcov valgrind -yy | |
| sudo apt-get install libfreetype6-dev libpng-dev libyaml-dev libomp-dev libx11-dev ninja-build fontconfig libfontconfig1-dev libjpeg-dev | |
| - name: Configure | |
| if: runner.os == 'Windows' | |
| run: xmake config -y -v -k ${{ env.TARGET_KIND }} -m release --ci-env=y | |
| - name: Configure for coverage mode | |
| if: runner.os == 'Linux' | |
| run: xmake config -y -v -k ${{ env.TARGET_KIND }} -m coverage --ci-env=y | |
| - name: Build | |
| run: | | |
| xmake | |
| xmake build yutil-tests | |
| - name: Run yutil tests | |
| run: xmake run yutil-tests | |
| - name: Run all tests | |
| if: runner.os == 'Windows' | |
| run: xmake test | |
| - name: Run all tests with memcheck | |
| if: runner.os == 'Linux' | |
| run: | | |
| xmake f -m debug --memcheck=y | |
| xmake test | |
| - name: Upload reports to Codecov | |
| if: runner.os == 'Linux' | |
| run: bash <(curl -s https://codecov.io/bash); | |
| - name: Build for release | |
| run: | | |
| xmake config -y -v -k ${{ env.TARGET_KIND }} -m release | |
| xmake | |
| - name: Package | |
| run: | | |
| xmake package | |
| xmake install -o dist/lcui-package | |
| - name: Build examples | |
| run: | | |
| cd examples | |
| xmake config -P . -y | |
| xmake build -P . | |
| xmake install -P . -o ../dist/lcui-examples | |
| mv ../dist/lcui-examples/bin/* ../dist/lcui-examples/ | |
| rm -r ../dist/lcui-examples/bin | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: lcui${{ env.TARGET_MAJOR }}-${{ env.TARGET_VERSION }}-${{ env.TARGET_KIND }} (${{ runner.os }}) | |
| path: | | |
| dist/lcui-package | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: lcui${{ env.TARGET_MAJOR }}-examples (${{ runner.os }}) | |
| path: | | |
| dist/lcui-examples | |
| release: | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| needs: [build] | |
| env: | |
| ARTIFACT_DIR: ./release | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: ${{ env.ARTIFACT_DIR }} | |
| - name: Set release version | |
| run: python ./.github/scripts/get_release_version.py | |
| - name: Create release notes | |
| run: python ./.github/scripts/get_release_notes.py | |
| - name: Read package.json | |
| id: release_notes | |
| uses: juliangruber/read-file-action@v1 | |
| with: | |
| path: RELEASE_NOTES.md | |
| trim: false | |
| - name: Create release | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| body: ${{ steps.release_notes.outputs.content }} | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| release_name: LCUI ${{ env.REL_VERSION }} | |
| tag: ${{ github.ref }} | |
| file: ${{ env.ARTIFACT_DIR }}/* | |
| overwrite: true | |
| file_glob: true |