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
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ on:
hardware_tag:
description: Published hardware components and wheel
required: true
default: v0.1.9
default: v0.1.10
cli_tag:
description: Published compatible CLI wheel requirements
required: true
default: v0.1.8
default: v0.1.10
cli_run_id:
description: Optional exact CLI run for first-release wheel reuse
required: false
Expand All @@ -27,8 +27,8 @@ permissions:
contents: read
actions: read
env:
HARDWARE_TAG: ${{ inputs.hardware_tag || 'v0.1.9' }}
CLI_TAG: ${{ inputs.cli_tag || 'v0.1.8' }}
HARDWARE_TAG: ${{ inputs.hardware_tag || 'v0.1.10' }}
CLI_TAG: ${{ inputs.cli_tag || 'v0.1.10' }}
CLI_ARTIFACT_DIR: ${{ inputs.cli_run_id != '' && 'out/dependency-wheels' || '' }}
HARDWARE_ARTIFACT_DIR: ${{ inputs.hardware_run_id != '' && 'out/downloads/hardware' || '' }}
jobs:
Expand Down
2 changes: 1 addition & 1 deletion BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ python -m pip install --only-binary=:all: -r \
python -m pip install -r requirements-build.txt
```

Use `orchard-hardware>=0.1.9,<0.2`. To test unpublished packages, install compatible CLI/hardware wheels by their explicit filesystem paths instead of using the hosted requirements. No sibling checkout is required.
Use `orchard-hardware>=0.1.10,<0.2`. To test unpublished packages, install compatible CLI/hardware wheels by their explicit filesystem paths instead of using the hosted requirements. No sibling checkout is required.

## Produce components

Expand Down
2 changes: 1 addition & 1 deletion release/manifests.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def write(output, version, root):
document = ('schema = 1\nkind = "orchard.install"\ndistro = "omarchy-a"\n'
'name = "Omarchy A"\nversion = ' + json.dumps(version) + '\n'
'device = "j71b"\nboot_method = "checkm8-pongo"\n'
'min_orchard = "0.1.5"\nprotocol = 1\n\n'
'min_orchard = "0.1.10"\nprotocol = 1\n\n'
'[install]\ndefault_root = "/omarchy"\n')
for role, name in (('root', 'rootfs.tar.zst'), ('boot', 'recovery.bin'), ('pongo', 'pongo.bin')):
item = receipt(output / name)
Expand Down
2 changes: 1 addition & 1 deletion requirements-build.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Install the local wheel until public package distribution is published.
orchard-hardware>=0.1.1
orchard-hardware>=0.1.10,<0.2
11 changes: 7 additions & 4 deletions tests/test_host_bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,20 @@ def test_installs_latest_requirements_sets_up_host_and_registers(self):
result = self.run_setup()
self.assertEqual(result.returncode, 0, result.stderr)
self.assertEqual(self.calls(), [
'-m pip install --upgrade --only-binary=:all: -r https://github.com/OrchardLinux/cli/releases/latest/download/requirements.txt',
'-m pip install --quiet --disable-pip-version-check --upgrade --only-binary=:all: -r https://github.com/OrchardLinux/cli/releases/latest/download/requirements.txt',
'setup-host',
'distros omarchy-a https://github.com/OrchardLinux/omarchy-a/releases/latest/download/index.toml',
'distros minimal-linux https://github.com/OrchardLinux/minimal-linux/releases/latest/download/index.toml',
])
self.assertIn('Resize APFS', result.stdout)
self.assertIn('Enter DFU', result.stdout)

def test_rerun_uses_upgrade_and_same_environment(self):
self.assertEqual(self.run_setup().returncode, 0)
target = (self.home / '.local/bin/orchard').resolve()
self.assertEqual(self.run_setup().returncode, 0)
self.assertEqual((self.home / '.local/bin/orchard').resolve(), target)
self.assertEqual(sum('pip install --upgrade' in row for row in self.calls()), 2)
self.assertEqual(sum(row.startswith('-m pip install ') and '--upgrade' in row.split()
for row in self.calls()), 2)

def test_failed_pip_stops_before_host_setup(self):
self.env['FAIL_PIP'] = '1'
Expand All @@ -83,7 +85,8 @@ def test_piped_entry_point(self):
result = subprocess.run(['bash'], input=SCRIPT.read_text(), env=self.env,
text=True, capture_output=True, timeout=10)
self.assertEqual(result.returncode, 0, result.stderr)
self.assertTrue(self.calls()[-1].startswith('distros omarchy-a '))
self.assertTrue(self.calls()[-2].startswith('distros omarchy-a '))
self.assertTrue(self.calls()[-1].startswith('distros minimal-linux '))


if __name__ == '__main__':
Expand Down
2 changes: 1 addition & 1 deletion tests/test_manifests_and_recovery.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def test_single_target_manifest_and_index_pin_exact_bytes(self):
self.assertEqual(doc['device'], 'j71b')
self.assertEqual(doc['install']['default_root'], '/omarchy')
self.assertEqual(doc['root']['sha256'], hashlib.sha256(b'rootfs.tar.zst').hexdigest())
self.assertEqual(doc['min_orchard'], '0.1.5')
self.assertEqual(doc['min_orchard'], '0.1.10')
self.assertEqual(manifests.read_release(path)['assets']['recovery'], doc['boot'])
with self.assertRaises(FileExistsError):
manifests.write(output, 'test-1', root)
Expand Down
Loading