build: ignore example build failure #704
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: C/C++ CI | |
on: [push, pull_request] | |
jobs: | |
build: | |
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@v1 | |
- uses: xmake-io/github-action-setup-xmake@v1 | |
- name: Update git submodule | |
run: | | |
git submodule update --init | |
- name: Restore xmake packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.xmake/.cache/packages | |
key: ${{ runner.os }}-xmake-packages | |
- name: Install tools | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update --fix-missing | |
sudo apt-get install debhelper lcov valgrind -yy | |
- name: Configure for coverage mode | |
if: runner.os == 'Linux' | |
run: xmake config -m coverage -y -v --ci-env=y | |
- name: Configure | |
if: runner.os == 'Windows' | |
run: xmake config -y -v -k shared --ci-env=y | |
- name: Build | |
run: | | |
xmake -w | |
xmake build yutil_test | |
xmake build pandagl_tests | |
xmake build libcss_tests | |
xmake build libui-router-tests | |
xmake build libi18n-tests | |
xmake build lcui_tests | |
- name: Run YUtil tests | |
if: runner.os == 'Windows' | |
run: | | |
xmake run yutil_test | |
- name: Run PandaGL tests | |
run: xmake run pandagl_tests | |
- name: Run LibCSS tests | |
if: runner.os == 'Windows' | |
run: xmake run libcss_tests | |
- name: Run LibUIRouter tests | |
if: runner.os == 'Windows' | |
run: xmake run libui-router-tests | |
- name: Run LibI18n tests | |
if: runner.os == 'Windows' | |
run: xmake run libi18n-tests | |
- name: Run LCUI tests | |
if: runner.os == 'Windows' | |
run: xmake run lcui_tests | |
- name: Run YUtil tests with memcheck | |
if: runner.os == 'Linux' | |
run: | | |
xmake build yutil_test | |
xmake run yutil_test --memcheck | |
- name: Run LibCSS tests with memcheck | |
if: runner.os == 'Linux' | |
run: xmake run libcss_tests --memcheck | |
- name: Run LibUIRouter tests with memcheck | |
if: runner.os == 'Linux' | |
run: xmake run libui-router-tests --memcheck | |
- name: Run LibI18n tests with memcheck | |
if: runner.os == 'Linux' | |
run: xmake run libi18n-tests --memcheck | |
- name: Run LCUI tests with memcheck | |
if: runner.os == 'Linux' | |
run: xmake run lcui_tests --memcheck | |
- name: Upload reports to Codecov | |
if: runner.os == 'Linux' | |
run: bash <(curl -s https://codecov.io/bash); | |
- name: Reconfigure for release | |
if: runner.os == 'Linux' | |
run: xmake config -y -v -k shared --ci-env=y | |
- name: Package | |
run: | | |
xmake package -v | |
xmake install -o dist/lcui | |
- name: Build example (hello) | |
run: | | |
cd examples | |
xmake -P . -v -y hello | |
xmake install -P . -o ../dist/lcui-examples/hello hello | |
mv ../dist/lcui-examples/hello/bin/* ../dist/lcui-examples/hello | |
rm -r ../dist/lcui-examples/hello/bin | |
- name: Build example (todolist) | |
run: | | |
cd examples | |
xmake -P . -v -y todolist | |
xmake install -P . -o ../dist/lcui-examples/todolist todolist | |
mv ../dist/lcui-examples/todolist/bin/* ../dist/lcui-examples/todolist | |
rm -r ../dist/lcui-examples/todolist/bin | |
- name: Build example (fabric) | |
continue-on-error: true | |
run: | | |
cd examples | |
xmake -P . -v -y fabric | |
xmake install -P . -o ../dist/lcui-examples/fabric fabric | |
mv ../dist/lcui-examples/fabric/bin/* ../dist/lcui-examples/fabric | |
rm -r ../dist/lcui-examples/fabric/bin | |
- uses: actions/upload-artifact@master | |
with: | |
name: lcui (${{ runner.os }}) | |
path: | | |
dist/lcui | |
- uses: actions/upload-artifact@master | |
with: | |
name: lcui-examples (${{ runner.os }}) | |
path: | | |
dist/lcui-examples | |
- name: Cache xmake packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.xmake/.cache/packages | |
key: ${{ runner.os }}-xmake-packages | |
release: | |
if: startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
needs: [build] | |
env: | |
ARTIFACT_DIR: ./release | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Download artifacts | |
uses: actions/download-artifact@v3 | |
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 |