Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.

Commit

Permalink
[#1] Let there be code
Browse files Browse the repository at this point in the history
Signed-off-by: Christian Eltzschig <[email protected]>
  • Loading branch information
elfenpiff committed Oct 27, 2023
0 parents commit bb91d52
Show file tree
Hide file tree
Showing 401 changed files with 66,304 additions and 0 deletions.
169 changes: 169 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
name: Unit-Tests

on:
push:
branches: [ main ]
pull_request:
branches: [ main, release* ]

jobs:
linux_x64:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3

- name: Install dependencies
run: sudo apt-get -y install libacl1-dev

- name: Create test users and groups
run: |
sudo useradd testuser1
sudo useradd testuser2
sudo groupadd testgroup1
sudo groupadd testgroup2
- name: Install latest stable
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy

- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check

- name: Run cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings

- name: Run cargo test workspace
uses: actions-rs/cargo@v1
with:
command: test
args: --workspace -- --test-threads=1

freebsd:
timeout-minutes: 20
runs-on: macos-12
steps:
- name: Checkout sources
uses: actions/checkout@v3

- name: Install FreeBSD
id: Test
uses: vmactions/freebsd-vm@v0
with:
usesh: true
copyback: false
mem: 4096
prepare: |
pkg install -y git curl bash llvm17
pw user add testuser1
pw user add testuser2
pw group add testgroup1
pw group add testgroup2
mkdir -p /mnt/mqueue/
mount -t mqueuefs null /mnt/mqueue/
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
git config --global --add safe.directory /Users/runner/work/elkodon/elkodon
run: |
ln -sf ~/.cargo/bin/* /usr/bin/
cargo fmt --all -- --check
cargo clippy -- -D warnings
cargo test --workspace -- --test-threads=1
windows:
timeout-minutes: 10
runs-on: windows-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3

- name: Install latest stable
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy

- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check

- name: Run cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings

- name: Run cargo build
uses: actions-rs/cargo@v1
with:
command: build
args: --workspace

- name: Run cargo test subset
uses: actions-rs/cargo@v1
with:
command: test
args: --workspace --lib --bins --tests -- --test-threads=1

mac_os_no_bb_posix__cal__elkodon:
timeout-minutes: 20
runs-on: macos-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3

- name: Install latest stable
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy

- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check

- name: Run cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings

- name: Run cargo build
uses: actions-rs/cargo@v1
with:
command: build
args: --workspace

- name: Run cargo test subset
uses: actions-rs/cargo@v1
with:
command: test
args: >
-p elkodon_pal_concurrency_primitives
-p elkodon_pal_posix
-p elkodon_bb_container
-p elkodon_bb_elementary
-p elkodon_bb_lock_free
-p elkodon_bb_log
-p elkodon_bb_memory
-p elkodon_bb_system_types
-p elkodon_bb_testing
--lib --bins --tests -- --test-threads=1
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
target/
debug/

Cargo.lock
**/*.rs.bk
*.pdb
**/rusty-tags.vi
67 changes: 67 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
[workspace]
members = [
"elkodon_bb/lock_free/",
"elkodon_bb/threadsafe/",
"elkodon_bb/container",
"elkodon_bb/elementary",
"elkodon_bb/log",
"elkodon_bb/memory",
"elkodon_bb/posix",
"elkodon_bb/system_types",
"elkodon_bb/testing",

"elkodon_cal",
"elkodon",
"elkodon_pal/concurrency_primitives",
"elkodon_pal/posix/",
"elkodon_pal/settings/",

"examples/publish_subscribe",
"examples/event",
"examples/discovery",

"benchmarks/publish_subscribe"
]

[package]
name = "rust_experiments"
version = "0.1.0"
edition = "2021"

[profile.release]
strip = true
lto = true
# opt-level = "z"
panic = "abort"

[[bin]]
name = "rust_experiments"
path = "src/bin/rust_experiments.rs"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
elkodon_bb_threadsafe = { path = "elkodon_bb/threadsafe/" }
elkodon_bb_lock_free = { path = "elkodon_bb/lock_free/" }
elkodon_bb_container = { path = "elkodon_bb/container/" }
elkodon_bb_elementary = { path = "elkodon_bb/elementary/" }
elkodon_bb_log = { path = "elkodon_bb/log/" }
elkodon_bb_memory = { path = "elkodon_bb/memory/" }
elkodon_bb_posix = { path = "elkodon_bb/posix/" }
elkodon_bb_system_types = { path = "elkodon_bb/system_types/" }
elkodon_bb_testing = { path = "elkodon_bb/testing/" }

elkodon_pal_concurrency_primitives = { path = "elkodon_pal/concurrency_primitives/" }
elkodon_pal_posix = { path = "elkodon_pal/posix/" }
elkodon_pal_settings = { path = "elkodon_pal/settings/" }

elkodon_cal = { path = "elkodon_cal" }

elkodon = { path = "elkodon/" }

lazy_static = { version = "1.4.0" }
serde = { version = "1.0.139", features = ["derive"] }
cdr = { version = "0.2.4" }
clap = { version = "3.2.0", features = ["derive"] }

[dev-dependencies]
Loading

0 comments on commit bb91d52

Please sign in to comment.