2023-09-18 21:21:25 +00:00
|
|
|
name: Build and Publish
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- main # Adjust to your main branch name
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: ubuntu-latest # You can specify different OS and platforms here
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout Repository
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Set up CMake
|
|
|
|
uses: actions/setup-cmake@v2
|
|
|
|
with:
|
|
|
|
cmake-version: 3.x # Specify your desired CMake version
|
|
|
|
|
|
|
|
- name: Build and Test (Linux)
|
2024-05-29 00:52:27 +00:00
|
|
|
run: | mkdir build
|
2023-09-18 21:21:25 +00:00
|
|
|
cd build
|
|
|
|
cmake ..
|
|
|
|
make
|
|
|
|
ctest
|
|
|
|
|
|
|
|
- name: Publish Artifact (Linux)
|
|
|
|
if: success()
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: my-library-linux
|
|
|
|
path: build/my-library # Adjust the path and artifact name
|
|
|
|
|
|
|
|
build-windows:
|
|
|
|
runs-on: windows-latest # You can specify different OS and platforms here
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout Repository
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Set up CMake
|
|
|
|
uses: actions/setup-cmake@v2
|
|
|
|
with:
|
|
|
|
cmake-version: 3.0 # cmake version
|
|
|
|
|
|
|
|
- name: Build and Test (Windows)
|
2024-05-29 00:52:27 +00:00
|
|
|
run: | mkdir build
|
2023-09-18 21:21:25 +00:00
|
|
|
cd build
|
|
|
|
cmake ..
|
|
|
|
cmake --build . --config Release
|
|
|
|
ctest
|
|
|
|
|
|
|
|
- name: Publish Artifact (Windows)
|
|
|
|
if: success()
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: my-library-windows
|
|
|
|
path: build/Release/my-library.exe # Adjust the path and artifact name
|
|
|
|
|
|
|
|
# Add similar steps for other platforms (e.g., macOS)
|
|
|
|
|
|
|
|
# Define deployment steps here to release your library artifacts
|