Skip to content

Merge pull request #552 from akaza-im/fix-issue-551-tokou-kaikou #1423

Merge pull request #552 from akaza-im/fix-issue-551-tokou-kaikou

Merge pull request #552 from akaza-im/fix-issue-551-tokou-kaikou #1423

Workflow file for this run

name: Akaza basic test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Cache apt packages
uses: actions/cache@v4
id: apt-cache
with:
path: ~/apt-cache
key: ${{ runner.os }}-apt-lint-v1
- name: Install dependencies
run: |
if [ -d ~/apt-cache ]; then
sudo cp ~/apt-cache/*.deb /var/cache/apt/archives/ 2>/dev/null || true
fi
sudo apt-get update
sudo apt-get install -y ibus libgirepository1.0-dev libmarisa-dev clang libibus-1.0-dev unzip libgtk-4-dev
mkdir -p ~/apt-cache
cp /var/cache/apt/archives/*.deb ~/apt-cache/ 2>/dev/null || true
- uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-lint-${{ hashFiles('**/Cargo.lock') }}
- name: make some configuration files for ibus-akaza
run: |
cd ibus-akaza/ && make akaza.xml config.h
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.92.0"
components: clippy, rustfmt
- name: Check formatting
run: cargo fmt --all --check
- name: Run clippy
run: cargo clippy -- -D warnings
cargo-deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: EmbarkStudios/cargo-deny-action@v2
with:
rust-version: "1.92.0"
command: check
test:
runs-on: ubuntu-latest
env:
DISPLAY: ":99"
DBUS_SESSION_BUS_ADDRESS: "unix:path=/tmp/dbus-test-session"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Cache apt packages
uses: actions/cache@v4
id: apt-cache
with:
path: ~/apt-cache
key: ${{ runner.os }}-apt-test-v1
- name: Install dependencies
run: |
if [ -d ~/apt-cache ]; then
sudo cp ~/apt-cache/*.deb /var/cache/apt/archives/ 2>/dev/null || true
fi
sudo apt-get update
sudo apt-get install -y \
xvfb xdotool dbus-x11 at-spi2-core \
ibus libibus-1.0-dev libgtk-4-dev \
libgirepository1.0-dev libmarisa-dev clang unzip zstd
mkdir -p ~/apt-cache
cp /var/cache/apt/archives/*.deb ~/apt-cache/ 2>/dev/null || true
- uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
- name: Start Xvfb
run: |
Xvfb :99 -screen 0 1024x768x24 &
sleep 2
- name: Start D-Bus session
run: |
dbus-daemon --session --fork \
--address="unix:path=/tmp/dbus-test-session"
sleep 1
- name: make test data
run: |
cd akaza-data/ && make test-data
- name: make some configuration files for ibus-akaza
run: |
cd ibus-akaza/ && make akaza.xml config.h
- uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.92.0"
- name: Run unit tests
run: cargo test --lib
timeout-minutes: 2
- name: Run integration tests
run: cargo test --test integration
timeout-minutes: 5
- name: Run all other tests
run: cargo test --bins --tests
timeout-minutes: 10