Skip to content
Merged
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
16 changes: 2 additions & 14 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
# .cargo/config.toml

[profile.dev]
debug = true
overflow-checks = true
panic = "abort"
[target.'cfg(all(target_arch = "x86_64", target_os = "none"))']
rustflags = ["-C", "force-frame-pointers=yes"]

[build]
target = "x86_64-blog_os.json"

[unstable]
build-std-features = ["compiler-builtins-mem"]
build-std = ["core", "compiler_builtins", "alloc"]

[target.x86_64-blog_os]
rustflags = ["-C", "force-frame-pointers=yes"]
runner = "bootimage runner"
68 changes: 42 additions & 26 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,57 @@
name: Running Build
name: Creo OS

permissions:
contents: read

on:
push:
branches:
- main
branches: ["**"]
pull_request:
branches: ["**"]
workflow_dispatch:

jobs:
build:
build_and_test:
if: "contains(github.event.head_commit.message, '[run ci]') || github.event_name == 'pull_request'"
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Checkout Code
uses: actions/checkout@v4

- name: Setup Rust toolchain
uses: actions-rs/toolchain@v1
- name: Setup Nightly Rust
uses: dtolnay/rust-toolchain@nightly
with:
toolchain: nightly-x86_64-unknown-linux-gnu
override: true
components: rust-src, llvm-tools-preview
components: rust-src, llvm-tools-preview, clippy, rustfmt
targets: x86_64-unknown-none

- name: Cache Cargo registry
uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache Cargo Registry and Build
uses: Swatinem/rust-cache@v2

- name: Cache Cargo build
uses: actions/cache@v2
with:
path: target
key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
# - name: Check Formatting
# run: cargo fmt --all -- --check

# - name: Run Clippy
# # -- -D warnings turns all warnings into errors, so the CI will fail if there are any clippy warnings. Add it later.
# run: cargo clippy --package creo --target x86_64-unknown-none

- name: Cache Cargo Registry and Build
uses: Swatinem/rust-cache@v2

Comment on lines +38 to +40

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Swatinem/rust-cache@v2 step is duplicated (same name and action at lines 28-30 and 38-39). This is redundant and can be removed to shorten CI time and reduce confusion.

Suggested change
- name: Cache Cargo Registry and Build
uses: Swatinem/rust-cache@v2

Copilot uses AI. Check for mistakes.
- name: Install QEMU
run: sudo apt-get update && sudo apt-get install -y qemu-system-x86

- name: Build Kernel
run: cargo build --package creo --target x86_64-unknown-none

- name: Build Orchestrator
run: cargo build --package builder

- name: Install bootimage
run: cargo install bootimage
- name: Create disk.img
run: dd if=/dev/zero of=disk.img bs=1M count=64

- name: Build project
run: cargo build --verbose --target x86_64-blog_os.json
- name: Boot Test (60 Second Timeout)
run: |
timeout 60s cargo run --bin builder || if [ $? -eq 124 ]; then exit 0; else exit 1; fi
env:
CI: "true"
Comment thread Fixed
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
/target
disk.img
description.md
pci_output.txt
notes.excalidraw

2 changes: 1 addition & 1 deletion .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 22 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,29 @@
{
"rust-analyzer.cargo.target": "x86_64-blog_os.json",
"rust-analyzer.cargo.buildScripts.enable": false,
"rust-analyzer.procMacro.enable": false,
"rust-analyzer.check.allTargets": false,
"rust-analyzer.checkOnSave": false,
"rust-analyzer.cargo.autoreload": true,
"rust-analyzer.rustc.source": null
"rust-analyzer.rustc.source": null,
"cSpell.words": [
"acpi",
"apic",
"apics",
"creo",
"GLOBALFS",
"iobase",
"ioregsel",
"iowin",
"keyevent",
"keypresses",
"rsdp",
"scanc",
"scancode",
"scancodes",
"sivr",
"uninit",
"vaddr",
"Virt",
"virtio"
]
}
Loading
Loading