File: check.yml

package info (click to toggle)
libime 1.1.13-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 51,612 kB
  • sloc: cpp: 40,794; ansic: 952; python: 130; sh: 32; makefile: 11
file content (147 lines) | stat: -rw-r--r-- 4,540 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: CI
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
jobs:
  clang-format:
    name: Check clang-format
    runs-on: ubuntu-latest
    container: archlinux:latest
    steps:
      - name: Install dependencies
        run: |
          pacman -Syu --noconfirm git clang diffutils
          git config --global --add safe.directory $GITHUB_WORKSPACE
      - uses: actions/checkout@v4
      - uses: fcitx/github-actions@clang-format
  check:
    name: Build and test
    needs: clang-format
    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
      - 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:
          path: libime
          submodules: true
      - name: Cache libime data files
        uses: actions/cache@v4
        with:
          path: 'libime/**/*.tar.*'
          key: ${{ runner.os }}-${{ hashFiles('libime/data/CMakeLists.txt') }}
      - name: Init CodeQL
        uses: github/codeql-action/init@v3
        with:
          languages: cpp
          source-root: libime
      - name: Build and Install libime
        uses: fcitx/github-actions@cmake
        with:
          path: libime
      - name: Test
        run: |
          ctest --test-dir libime/build
      - name: CodeQL Analysis
        uses: github/codeql-action/analyze@v2

  check-windows:
    name: Build on Windows
    needs: clang-format
    runs-on: windows-2025
    strategy:
      fail-fast: false

    steps:
      - name: Install dependencies
        run: |
          C:/msys64/usr/bin/pacman -Syu --noconfirm
          C:/msys64/usr/bin/pacman -S --noconfirm `
            mingw-w64-clang-x86_64-extra-cmake-modules `
            mingw-w64-clang-x86_64-dlfcn `
            mingw-w64-clang-x86_64-libuv `
            mingw-w64-clang-x86_64-clang `
            mingw-w64-clang-x86_64-cmake `
            mingw-w64-clang-x86_64-ninja `
            mingw-w64-clang-x86_64-pkgconf `
            mingw-w64-clang-x86_64-gettext-tools `
            mingw-w64-clang-x86_64-boost
          Add-Content $env:GITHUB_PATH "C:/msys64/clang64/bin"
          Add-Content $env:GITHUB_PATH "${{ github.workspace }}/fcitx/bin"

      - 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
        uses: fcitx/github-actions@cmake
        with:
          path: fcitx5
          cmake-option: >-
            -DENABLE_DBUS=Off -DENABLE_X11=Off -DENABLE_WAYLAND=Off -DENABLE_ENCHANT=Off -DENABLE_SERVER=Off -DENABLE_XDGAUTOSTART=Off -DENABLE_LIBUUID=Off -DENABLE_KEYBOARD=Off -DCMAKE_CXX_FLAGS=-fexperimental-library
          install-prefix: ${{ github.workspace }}/fcitx
          shell: pwsh

      - uses: actions/checkout@v4
        with:
          path: libime
          submodules: true

      - name: Cache libime data files
        uses: actions/cache@v4
        with:
          path: 'libime/**/*.tar.*'
          key: ${{ runner.os }}-${{ hashFiles('libime/data/CMakeLists.txt') }}

      - name: Build
        uses: fcitx/github-actions@cmake
        with:
          path: libime
          install-prefix: ${{ github.workspace }}/fcitx
          shell: pwsh

      - name: Test
        run: |
          ctest --test-dir libime/build