Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 63 additions & 2 deletions .github/workflows/ci-git.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,66 @@ jobs:
with:
ref: ${{ github.sha }}

- name: Hello World
run: echo "Hello World"
- name: Check prerequisites
run: |
ok=1
check() {
if ! eval "$2" >/dev/null 2>&1; then
echo "MISSING: $1" >&2
ok=0
else
echo "OK: $1"
fi
}

check "cmake" "command -v cmake"
check "g++" "command -v g++"
check "libcurl4-openssl-dev" "dpkg -s libcurl4-openssl-dev"
check "docker" "command -v docker"
check "python3" "command -v python3"

[[ "${ok}" -eq 1 ]] || { echo "One or more prerequisites are missing. Aborting." >&2; exit 1; }

- name: Build Ubuntu
run: bash scripts/build_native.sh

- name: Inject pilot server config
env:
PILOT_API_KEY: ${{ secrets.PILOT_API_KEY }}
run: |
if [[ -z "${PILOT_API_KEY}" ]]; then
echo "Secret PILOT_API_KEY is not set or empty. Aborting." >&2
exit 1
fi
printf '[pilot_server]\napi_key = %s\n' "${PILOT_API_KEY}" \
> /etc/safe-edge/server.ini

- name: Test - Fast DDS server
env:
PILOT_API_KEY: ${{ secrets.PILOT_API_KEY }}
run: bash scripts/launch_fast_server.sh --test

- name: Test - Fast DDS edge
run: bash scripts/launch_fast_edge.sh --test

- name: Clear - Docker Images
run: |
docker stop safe_edge_server:fast || true
docker stop safe_edge_edge:fast || true
docker rmi -f safe-edge-server:fast || true
docker rmi -f safe-edge-edge:fast || true

- name: Test - TPI 2.1
run: bash scripts/launch_tpi_2_1_test.sh --linux --no-rebuild

- name: Test - TPI 2.2
run: bash scripts/launch_tpi_2_2_test.sh --linux --no-rebuild

- name: Test - TPI 2.3
run: bash scripts/launch_tpi_2_3_test.sh

- name: Test - TPI 2.5
run: bash scripts/launch_tpi_2_5_test.sh --linux --no-rebuild

- name: Test - TPI 2.6
run: bash scripts/launch_tpi_2_6_test.sh --linux --no-rebuild
92 changes: 92 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Local IDE / agent state
.vscode/
.claude/settings.local.json
.codex
**/.vscode/

# Generic build/install outputs
build/
install/
cmake-build-*/
CMakeFiles/
CMakeCache.txt
cmake_install.cmake
compile_commands.json
*.o
*.a
*.so
*.d
*.dep
*build*
*install*
*include*
!*build*.sh

# Generated QNX artifacts
qnx/build/
qnx/install/
qnx/targets/*/output/
scripts/logs/

# Repo-local QNX assets are intentionally versionable even though the generic
# build/install/include patterns above would otherwise hide parts of them.
!qnx/
!qnx/toolchains/
!qnx/toolchains/**
!qnx/targets/
!qnx/targets/qemu-qnx800-*/
!qnx/targets/qemu-qnx800-*/mkqnximage-wrapper.sh
!qnx/targets/qemu-qnx800-*/local/
!qnx/targets/qemu-qnx800-*/local/options
!qnx/targets/qemu-qnx800-*/local/valgrind.files
!qnx/targets/qemu-qnx800-*/local/misc_files/
!qnx/targets/qemu-qnx800-*/local/snippets/
!qnx/targets/qemu-qnx800-*/local/snippets/data_files.custom
!qnx/targets/qemu-qnx800-*/local/snippets/ifs_files.custom
!qnx/targets/qemu-qnx800-*/local/snippets/profile.custom

# Local QNX keys/credentials and generated snippets are rewritten by QNX tooling
# or by the TPI launch scripts and must not be committed.
qnx/targets/qemu-qnx800-*/local/misc_files/*
qnx/targets/qemu-qnx800-*/local/ssh-ident
qnx/targets/qemu-qnx800-*/local/snippets/ifs_start.custom
qnx/targets/qemu-qnx800-*/local/snippets/post_start.custom
qnx/targets/qemu-qnx800-*/local/snippets/system_files.custom

# Hypervisor host launcher-generated snippets — suppress even though qemu-qnx800-*
# wildcard patterns above would otherwise re-include some of them.
qnx/targets/qemu-qnx800-x86_64-hypervisor/local/snippets/data_files.custom

# Hypervisor guest target — version only the minimal skeleton source.
!qnx/targets/qvm-safe-edge-qnx800-x86_64/
!qnx/targets/qvm-safe-edge-qnx800-x86_64/mkqnximage-wrapper.sh
!qnx/targets/qvm-safe-edge-qnx800-x86_64/local/
!qnx/targets/qvm-safe-edge-qnx800-x86_64/local/opt_defaults
!qnx/targets/qvm-safe-edge-qnx800-x86_64/local/opt_scripts
!qnx/targets/qvm-safe-edge-qnx800-x86_64/local/options
!qnx/targets/qvm-safe-edge-qnx800-x86_64/local/valgrind.files
!qnx/targets/qvm-safe-edge-qnx800-x86_64/local/snippets/
!qnx/targets/qvm-safe-edge-qnx800-x86_64/local/snippets/ifs_files.custom
!qnx/targets/qvm-safe-edge-qnx800-x86_64/local/snippets/profile.custom
!qnx/targets/qvm-safe-edge-qnx800-x86_64/local/variants/
!qnx/targets/qvm-safe-edge-qnx800-x86_64/local/variants/**
qnx/targets/qvm-safe-edge-qnx800-x86_64/output/
qnx/targets/qvm-safe-edge-qnx800-x86_64/local/misc_files/
qnx/targets/qvm-safe-edge-qnx800-x86_64/local/ssh-ident
qnx/targets/qvm-safe-edge-qnx800-x86_64/local/snippets/data_files.custom
qnx/targets/qvm-safe-edge-qnx800-x86_64/local/snippets/ifs_start.custom
qnx/targets/qvm-safe-edge-qnx800-x86_64/local/snippets/post_start.custom
qnx/targets/qvm-safe-edge-qnx800-x86_64/local/snippets/system_files.custom

# fast_dds/ FastDDS components — source and generated IDL files are intentionally versioned.
# The broad patterns above (*include*, *build*, *install*) would otherwise hide them.
!fast_dds/
!fast_dds/**
fast_dds/build/
fast_dds/install/

# SafeDDS component headers are source files, not generated build artifacts.
!safe_dds/*/include/
!safe_dds/*/include/**
!common_server/include/
!common_server/include/**
Loading
Loading