Merge branch 'add-ci' into 'master'

Add CI Tests

See merge request redox-os/installer!49
This commit is contained in:
Jeremy Soller
2025-07-09 12:42:59 -06:00
3 changed files with 102 additions and 39 deletions
+25
View File
@@ -0,0 +1,25 @@
image: "rust:latest"
stages:
- lint
- test
workflow:
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
fmt:
stage: lint
script:
- rustup component add rustfmt
- cargo fmt -- --check
cargo-test:
stage: test
script:
- apt update && apt install -y fuse3 libfuse3-dev
- cargo build --locked
- cargo test
- fallocate -l 256MiB test.bin
- ./target/debug/redox_installer -c res/test.toml test.bin
+76 -32
View File
@@ -6,9 +6,11 @@ include = []
prompt = false
filesystem_size = 256
[packages.bootloader]
[packages.base]
[packages.bootstrap]
[packages.base-initfs]
[packages.bootloader]
[packages.ca-certificates]
@@ -16,29 +18,25 @@ filesystem_size = 256
[packages.drivers]
[packages.escalated]
[packages.extrautils]
[packages.findutils]
[packages.initfs]
[packages.ion]
[packages.ipcd]
[packages.kernel]
[packages.netdb]
[packages.libgcc]
[packages.netstack]
[packages.libstdcxx]
[packages.netdb]
[packages.netutils]
[packages.pkgutils]
[packages.ptyd]
[packages.relibc]
[packages.smith]
@@ -55,7 +53,7 @@ mkdir -m a=rwxt /tmp
ipcd
ptyd
escalated
sudo --daemon
"""
symlink = false
directory = false
@@ -64,7 +62,7 @@ recursive_chown = false
[[files]]
path = "/usr/lib/init.d/00_drivers"
data = """
pcid /etc/pcid.d/
pcid-spawner /etc/pcid.d/
"""
symlink = false
directory = false
@@ -72,16 +70,14 @@ recursive_chown = false
[[files]]
path = "/etc/hostname"
data = """
redox
"""
data = "redox"
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/usr/lib/os-release"
data = '''
data = """
PRETTY_NAME="Redox OS 0.9.0"
NAME="Redox OS"
VERSION_ID="0.9.0"
@@ -91,7 +87,7 @@ ID="redox-os"
HOME_URL="https://redox-os.org/"
DOCUMENTATION_URL="https://redox-os.org/docs/"
SUPPORT_URL="https://redox-os.org/community/"
'''
"""
symlink = false
directory = false
recursive_chown = false
@@ -103,6 +99,13 @@ symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/etc/pkg.d/50_redox"
data = "https://static.redox-os.org/pkg"
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/usr"
data = ""
@@ -164,13 +167,6 @@ directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/libexec"
data = "usr/libexec"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/share"
data = ""
@@ -186,6 +182,61 @@ symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/share/fonts"
data = "../../ui/fonts"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/var"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/var/cache"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/var/lib"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/var/lock"
data = ""
symlink = false
directory = true
mode = 1023
recursive_chown = false
[[files]]
path = "/var/log"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/var/tmp"
data = ""
symlink = false
directory = true
mode = 1023
recursive_chown = false
[[files]]
path = "/dev/null"
data = "/scheme/null"
@@ -300,13 +351,6 @@ symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/pkg.d/50_redox"
data = "https://static.redox-os.org/pkg"
symlink = false
directory = false
recursive_chown = false
[users.root]
password = "password"
uid = 0
+1 -7
View File
@@ -66,13 +66,7 @@ impl DiskWrapper {
let block = self.seek / block_len;
let offset: usize = (self.seek % block_len).try_into().unwrap();
let remaining = buf_len.checked_sub(i).unwrap();
let len = cmp::min(
remaining,
self.block
.len()
.checked_sub(offset)
.unwrap(),
);
let len = cmp::min(remaining, self.block.len().checked_sub(offset).unwrap());
self.disk
.seek(SeekFrom::Start(block.checked_mul(block_len).unwrap()))?;