This commit is contained in:
2025-05-16 01:09:37 +03:00
parent 7301d121a2
commit 19d3f2f14a

View File

@@ -1,19 +1,21 @@
name: CI name: myRPC-CI
on: on:
push: push:
branches: \[ main, master ] branches:
\- main
pull\_request: pull\_request:
branches: \[ main, master ] branches:
\- main
jobs: jobs:
build: build:
name: Build and Unit Tests name: Build and Unit Tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
\- uses: actions/checkout\@v3 \- name: Checkout repository
uses: actions/checkout\@v3
```
- name: Install dependencies - name: Install dependencies
run: | run: |
sudo apt-get update sudo apt-get update
@@ -33,8 +35,6 @@ steps:
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 "$(whoami)\n" | sudo tee /etc/myRPC/users.conf printf "$(whoami)\n" | sudo tee /etc/myRPC/users.conf
# Run server in background, capturing its PID
build/myRPC-server & build/myRPC-server &
SERVER_PID=$! SERVER_PID=$!
sleep 2 sleep 2
@@ -44,24 +44,20 @@ steps:
- name: Test myRPC-client can connect - name: Test myRPC-client can connect
run: | run: |
# Setup server in background
build/myRPC-server & build/myRPC-server &
SERVER_PID=$! SERVER_PID=$!
sleep 2 sleep 2
# Send a simple command
build/myRPC-client -h 127.0.0.1 -p 9090 -s -c "echo OK" > output.log build/myRPC-client -h 127.0.0.1 -p 9090 -s -c "echo OK" > output.log
grep -q 'OK' output.log grep -q 'OK' output.log
kill $SERVER_PID kill $SERVER_PID
echo "Client connected and received OK" echo "Client connected and received OK"
```
makefile-lint: makefile-lint:
name: Makefile lint name: Makefile lint
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
\- uses: actions/checkout\@v3 \- name: Checkout repository
uses: actions/checkout\@v3
\- name: Check Makefile syntax \- name: Check Makefile syntax
run: make -n all run: make -n all
@@ -69,7 +65,8 @@ clean-target:
name: Test clean target name: Test clean target
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
\- uses: actions/checkout\@v3 \- name: Checkout repository
uses: actions/checkout\@v3
\- name: Build then clean \- name: Build then clean
run: | run: |
make all make all
@@ -80,17 +77,14 @@ deb-package:
name: Build deb packages name: Build deb packages
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
\- uses: actions/checkout\@v3 \- name: Checkout repository
uses: actions/checkout\@v3
\- name: Install fpm and dpkg tools \- name: Install fpm and dpkg tools
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y ruby ruby-dev build-essential sudo apt-get install -y ruby ruby-dev build-essential
sudo gem install --no-document fpm sudo gem install --no-document fpm
\- name: Build packages
``` run: make deb
- name: Build packages \- name: Verify .deb files exist
run: make deb run: ls \*.deb | tee deb-list.txt
- name: Verify .deb files exist
run: ls *.deb | tee deb-list.txt
```