fix CI
Some checks failed
CI / Build and Test (push) Failing after 43s
CI / Makefile Lint (push) Successful in 14s
CI / Clean target test (push) Failing after 4s
CI / Build deb packages (push) Failing after 28s

This commit is contained in:
2025-05-16 01:19:02 +03:00
parent 70abf4d70e
commit f2ebb0fb88

View File

@@ -1,99 +1,94 @@
name: CI name: CI
run-name: \${{ github.actor }} is running myRPC CI run-name: ${{ github.actor }} is running myRPC CI
on: on:
push: push:
branches: branches:
\- main - main
\- master - master
pull\_request: pull_request:
branches: branches:
\- main - main
\- master - master
jobs: jobs:
build: build:
name: Build and Test name: Build and Test
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
\- name: Checkout repository - name: Checkout repository
uses: actions/checkout\@v3 uses: actions/checkout@v3
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y gcc make libconfig-dev dpkg-dev ruby ruby-dev build-essential sudo apt-get install -y gcc make libconfig-dev dpkg-dev ruby ruby-dev build-essential
sudo gem install --no-document fpm sudo gem install --no-document fpm
- name: Build project - name: Build project
run: make all run: make all
- name: Verify binaries exist - name: Verify binaries exist
run: | run: |
test -x build/myRPC-client test -x build/myRPC-client
test -x build/myRPC-server test -x build/myRPC-server
echo "Binaries built successfully" echo "Binaries built successfully"
- name: Test server startup - name: Test server startup
run: | run: |
sudo mkdir -p /etc/myRPC sudo mkdir -p /etc/myRPC
printf "port = 9090;\nsocket_type = \"stream\";\n" | sudo tee /etc/myRPC/myRPC.conf printf "port = 9090;\nsocket_type = \"stream\";\n" | sudo tee /etc/myRPC/myRPC.conf
printf "${{ github.actor }}\n" | sudo tee /etc/myRPC/users.conf printf "${{ github.actor }}\n" | sudo tee /etc/myRPC/users.conf
build/myRPC-server & build/myRPC-server &
pid=$! pid=$!
sleep 2 sleep 2
ps -p $pid ps -p $pid
kill $pid kill $pid
echo "Server started successfully" echo "Server started successfully"
- name: Test client-server interaction - name: Test client-server interaction
run: | run: |
build/myRPC-server & build/myRPC-server &
pid=$! pid=$!
sleep 2 sleep 2
build/myRPC-client -h 127.0.0.1 -p 9090 -s -c "echo OK" > response.txt build/myRPC-client -h 127.0.0.1 -p 9090 -s -c "echo OK" > response.txt
grep -q "OK" response.txt grep -q "OK" response.txt
kill $pid kill $pid
echo "Client received OK from server" echo "Client received OK from server"
lint: lint:
name: Makefile Lint name: Makefile Lint
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
\- name: Checkout repository - name: Checkout repository
uses: actions/checkout\@v3 uses: actions/checkout@v3
- name: Check Makefile syntax
run: make -n all
- name: Check Makefile syntax clean:
run: make -n all name: Clean target test
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Test clean
run: |
make all
make clean
test ! -d build
clean: deb:
name: Clean target test name: Build deb packages
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
\- name: Checkout repository - name: Checkout repository
uses: actions/checkout\@v3 uses: actions/checkout@v3
- name: Install packaging tools
- name: Test clean run: |
run: | sudo apt-get update
make all sudo apt-get install -y ruby ruby-dev build-essential
make clean sudo gem install --no-document fpm
test ! -d build - name: Build deb packages
run: make deb
deb: - name: Verify deb files
name: Build deb packages run: ls *.deb | tee deb-list.txt
runs-on: ubuntu-latest
steps:
\- name: Checkout repository
uses: actions/checkout\@v3
- name: Install packaging tools
run: |
sudo apt-get update
sudo apt-get install -y ruby ruby-dev build-essential
sudo gem install --no-document fpm
- name: Build deb packages
run: make deb
- name: Verify deb files
run: ls *.deb | tee deb-list.txt