Skip to content

Commit dca98bf

Browse files
Merge pull request #4 from janekbaraniewski/basic-functionality
Basic functionality
2 parents dbbde0d + 38a7db9 commit dca98bf

File tree

16 files changed

+127
-234
lines changed

16 files changed

+127
-234
lines changed

.github/workflows/docker.yml

Lines changed: 0 additions & 38 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,15 @@ jobs:
5555
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_ARCHITECTURE_ID=${{ matrix.config.arch }}
5656
cmake --build build --config Release
5757
58-
- name: Rename binaries
58+
- name: Rename binary
5959
run: |
60-
mv build/serial_client build/serial-client-${{ matrix.config.os }}-${{ matrix.config.arch }}
61-
mv build/serial_server build/serial-server-${{ matrix.config.os }}-${{ matrix.config.arch }}
60+
mv build/ser2net2ser build/ser2net2ser-${{ github.ref }}-${{ matrix.config.os }}-${{ matrix.config.arch }}
6261
6362
- name: Upload Artifacts
6463
uses: actions/upload-artifact@v3
6564
with:
66-
name: artifacts-${{ matrix.config.os }}-${{ matrix.config.arch }}
67-
path: |
68-
build/serial-client-${{ matrix.config.os }}-${{ matrix.config.arch }}
69-
build/serial-server-${{ matrix.config.os }}-${{ matrix.config.arch }}
65+
name: ser2net2ser-${{ matrix.config.os }}-${{ matrix.config.arch }}
66+
path: build/ser2net2ser-${{ github.ref }}-${{ matrix.config.os }}-${{ matrix.config.arch }}
7067

7168
create-and-upload-release:
7269
needs: build-and-release
@@ -110,9 +107,6 @@ jobs:
110107
111108
container-image:
112109
runs-on: ubuntu-latest
113-
strategy:
114-
matrix:
115-
component: [server, client]
116110
steps:
117111
- name: Checkout code
118112
uses: actions/checkout@v2
@@ -133,16 +127,16 @@ jobs:
133127
password: ${{ secrets.GITHUB_TOKEN }}
134128

135129
- name: Build container image
136-
run: make build-${{ matrix.component }}-image
130+
run: make build-images
137131
env:
138132
COMMIT_HASH: ${{ env.COMMIT_HASH }}
139133

140134
- name: Tag container image
141-
run: make tag-${{ matrix.component }}-image
135+
run: make tag-images
142136
env:
143137
COMMIT_HASH: ${{ env.COMMIT_HASH }}
144138

145139
- name: Push container images
146-
run: make push-${{ matrix.component }}-images
140+
run: make push-images
147141
env:
148142
COMMIT_HASH: ${{ env.COMMIT_HASH }}

.github/workflows/test.yml

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ jobs:
1414
matrix:
1515
config:
1616
# Define combinations of operating systems and architectures
17-
- {os: ubuntu-latest, arch: x64, server-artifact: serial_server_linux_x64, client-artifact: serial_client_linux_x64}
18-
- {os: ubuntu-latest, arch: arm64, server-artifact: serial_server_linux_arm64, client-artifact: serial_client_linux_arm64}
19-
# - {os: windows-latest, arch: x64, server-artifact: serial_server_windows_x64.exe, client-artifact: serial_client_windows_x64.exe}
20-
# - {os: windows-latest, arch: arm64, server-artifact: serial_server_windows_arm64.exe, client-artifact: serial_client_windows_arm64.exe}
21-
- {os: macos-latest, arch: x64, server-artifact: serial_server_mac_x64, client-artifact: serial_client_mac_x64}
22-
- {os: macos-latest, arch: arm64, server-artifact: serial_server_mac_arm64, client-artifact: serial_client_mac_arm64}
17+
- {os: ubuntu-latest, arch: x64}
18+
- {os: ubuntu-latest, arch: arm64}
19+
# - {os: windows-latest, arch: x64}
20+
# - {os: windows-latest, arch: arm64}
21+
- {os: macos-latest, arch: x64}
22+
- {os: macos-latest, arch: arm64}
2323

2424
steps:
2525
- uses: actions/checkout@v3
@@ -54,10 +54,6 @@ jobs:
5454
5555
container-image:
5656
runs-on: ubuntu-latest
57-
strategy:
58-
matrix:
59-
component: [server, client]
60-
6157
steps:
6258
- name: Checkout code
6359
uses: actions/checkout@v2
@@ -73,4 +69,4 @@ jobs:
7369
password: ${{ secrets.GITHUB_TOKEN }}
7470

7571
- name: Build container image
76-
run: make build-${{ matrix.component }}-image
72+
run: make build-images

CMakeLists.txt

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ target_link_libraries(logging PUBLIC
3131
Boost::date_time
3232
)
3333

34-
add_library(serial_server_lib src/logging.cpp src/SerialServer.cpp src/VirtualSerialPort.cpp)
35-
target_include_directories(serial_server_lib PUBLIC ${CMAKE_SOURCE_DIR}/include)
36-
target_link_libraries(serial_server_lib PRIVATE
34+
add_library(core_lib src/logging.cpp src/SerialServer.cpp src/SerialClient.cpp src/VirtualSerialPort.cpp)
35+
target_include_directories(core_lib PUBLIC ${CMAKE_SOURCE_DIR}/include)
36+
target_link_libraries(core_lib PRIVATE
3737
Boost::system
3838
Boost::program_options
3939
Boost::log
@@ -43,20 +43,9 @@ target_link_libraries(serial_server_lib PRIVATE
4343
pthread
4444
)
4545

46-
add_executable(serial_server src/SerialServer.cpp)
47-
target_link_libraries(serial_server PRIVATE
48-
serial_server_lib
49-
logging
50-
Boost::system
51-
Boost::program_options
52-
Boost::log
53-
Boost::log_setup
54-
Boost::date_time
55-
)
56-
57-
add_executable(serial_client src/SerialClient.cpp)
58-
target_link_libraries(serial_client PRIVATE
59-
serial_server_lib
46+
add_executable(ser2net2ser src/main.cpp)
47+
target_link_libraries(ser2net2ser PRIVATE
48+
core_lib
6049
logging
6150
Boost::system
6251
Boost::program_options

Dockerfile.server renamed to Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ RUN apt-get update && apt-get install -y \
3232
rm -rf /var/lib/apt/lists/*
3333

3434
# Copy binaries from the builder stage
35-
COPY --from=builder /app/serial_server /app/serial_server
35+
COPY --from=builder /app/ser2net2ser /usr/local/bin/ser2net2ser
3636

3737
# Command to run the application
38-
CMD ["./serial_server"]
38+
CMD ["ser2net2ser"]

Dockerfile.client

Lines changed: 0 additions & 38 deletions
This file was deleted.

Makefile

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -23,33 +23,14 @@ test: build
2323
@cd build && ctest
2424

2525
build-images: ## Build container images
26-
build-images: build-server-image build-client-image
27-
28-
build-server-image:
29-
@docker build . -f Dockerfile.server -t $(REPO)-server:$(COMMIT_HASH)
30-
31-
build-client-image:
32-
@docker build . -f Dockerfile.client -t $(REPO)-client:$(COMMIT_HASH)
26+
@docker build . -f Dockerfile -t $(REPO):$(COMMIT_HASH)
3327

3428
tag-images: ## Tag container images
35-
tag-images: tag-server-image tag-client-image
36-
37-
tag-server-image:
38-
@docker tag $(REPO)-server:$(COMMIT_HASH) $(REPO)-server:$(VERSION)
39-
40-
tag-client-image:
41-
@docker tag $(REPO)-client:$(COMMIT_HASH) $(REPO)-client:$(VERSION)
29+
@docker tag $(REPO):$(COMMIT_HASH) $(REPO):$(VERSION)
4230

4331

4432
push-images: ## Push container images to registry
45-
push-images: tag-images push-server-images push-client-images
46-
47-
push-server-images:
48-
@docker push $(REPO)-server:$(COMMIT_HASH)
49-
@docker push $(REPO)-server:$(VERSION)
50-
51-
push-client-images:
52-
@docker push $(REPO)-client:$(COMMIT_HASH)
53-
@docker push $(REPO)-client:$(VERSION)
33+
@docker push $(REPO):$(COMMIT_HASH)
34+
@docker push $(REPO):$(VERSION)
5435

5536
.PHONY: clean build test build-images build-server-image build-client-image tag-images tag-client-image tag-server-image push-images push-client-images push-server-images help

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ This will compile both the server and client applications.
2626
The server needs to be connected to a serial device. It can be started with the following command:
2727

2828
```bash
29-
./build/serial_server \
29+
ser2net2ser serve \
3030
--device /dev/ttyUSB0 \
3131
--baud 9600 \
3232
--port 12345
@@ -38,14 +38,14 @@ The server needs to be connected to a serial device. It can be started with the
3838
--port: TCP port on which the server will listen for incoming connections.
3939
```
4040

41-
![server](docs/server.png)
41+
![serve](docs/serve.png)
4242

4343
## Running the Client
4444

4545
The client should be run on the machine where you want the virtual serial port to be created:
4646

4747
```bash
48-
sudo ./build/serial_client \
48+
ser2net2ser connect \
4949
--server 192.168.1.100 \
5050
--port 12345 \
5151
--vsp "tty.usbserial-666"
@@ -57,7 +57,7 @@ sudo ./build/serial_client \
5757
--vsp: Name of the virtual serial port to be created.
5858
```
5959

60-
![client](docs/client.png)
60+
![connect](docs/connect.png)
6161

6262
## Docker Containers
6363

docs/client.png

-323 KB
Binary file not shown.

docs/connect.png

58.5 KB
Loading

0 commit comments

Comments
 (0)