From a892067fccd1858117d3dcb776bab889960f966b Mon Sep 17 00:00:00 2001 From: Weng Xuetian Date: Wed, 1 May 2024 19:20:25 +0200 Subject: [PATCH] Add github workflow that is also used by other fcitx project --- .github/workflows/check.yml | 102 ++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 .github/workflows/check.yml diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..47b59d0 --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,102 @@ +name: CI + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + check: + name: Build and test + runs-on: ubuntu-latest + container: archlinux:latest + strategy: + fail-fast: false + matrix: + compiler: [gcc, clang] + include: + - compiler: gcc + cxx_compiler: g++ + - compiler: clang + cxx_compiler: clang++ + env: + CC: ${{ matrix.compiler }} + CXX: ${{ matrix.cxx_compiler }} + steps: + - name: Install dependencies + run: | + pacman -Syu --noconfirm base-devel clang cmake ninja extra-cmake-modules fmt libuv boost git qt6-base qt6-wayland libxkbcommon skk-jisyo cargo-c cbindgen + - uses: actions/checkout@v4 + with: + repository: fcitx/fcitx5 + path: fcitx5 + - name: Cache fcitx5 data files + uses: actions/cache@v4 + with: + path: 'fcitx5/**/*.tar.*' + key: ${{ runner.os }}-${{ hashFiles('fcitx5/src/modules/spell/CMakeLists.txt') }} + - name: Build and Install fcitx5 + uses: fcitx/github-actions@cmake + with: + path: fcitx5 + cmake-option: >- + -DENABLE_KEYBOARD=Off + -DENABLE_X11=Off + -DENABLE_WAYLAND=Off + -DENABLE_ENCHANT=Off + -DENABLE_DBUS=Off + -DENABLE_SERVER=Off + -DENABLE_EMOJI=Off + -DUSE_SYSTEMD=Off + - uses: actions/checkout@v4 + with: + repository: fcitx/fcitx5-qt + path: fcitx5-qt + - name: Build and Install fcitx5-qt + uses: fcitx/github-actions@cmake + with: + repository: fcitx/fcitx5-qt + path: fcitx5-qt + cmake-option: >- + -DENABLE_QT4=Off + -DENABLE_QT5=Off + -DENABLE_QT6=On + - uses: actions/checkout@v4 + with: + repository: naokiri/cskk + path: cskk + - uses: actions/cache@v3 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + - name: Build and install cskk + shell: bash + run: | + cd cskk + cargo cinstall --release --prefix=/usr + - uses: actions/checkout@v4 + with: + path: fcitx5-cskk + - name: Init CodeQL + uses: github/codeql-action/init@v3 + with: + languages: cpp + source-root: fcitx5-cskk + - name: Build and Install fcitx5-cskk + uses: fcitx/github-actions@cmake + with: + path: fcitx5-cskk + cmake-option: >- + -DENABLE_QT=Off + - name: Test + run: | + ctest --test-dir fcitx5-cskk/build + - name: CodeQL Analysis + uses: github/codeql-action/analyze@v2