forked from lix-project/lix
Compare commits
5 commits
main
...
release-2.
Author | SHA1 | Date | |
---|---|---|---|
jade | 4bbdb2f556 | ||
jade | 5bf891b15a | ||
raito | f72153a510 | ||
raito | 8da08ab551 | ||
jade | 98d0249d5c |
|
@ -197,7 +197,7 @@
|
||||||
- [Release Notes](release-notes/release-notes.md)
|
- [Release Notes](release-notes/release-notes.md)
|
||||||
- [Upcoming release](release-notes/rl-next.md)
|
- [Upcoming release](release-notes/rl-next.md)
|
||||||
<!-- RELENG-AUTO-INSERTION-MARKER (see releng/release_notes.py) -->
|
<!-- RELENG-AUTO-INSERTION-MARKER (see releng/release_notes.py) -->
|
||||||
- [Lix 2.90 (FIXME date)](release-notes/rl-2.90.md)
|
- [Lix 2.90 (2024-07-10)](release-notes/rl-2.90.md)
|
||||||
- [Nix 2.18 (2023-09-20)](release-notes/rl-2.18.md)
|
- [Nix 2.18 (2023-09-20)](release-notes/rl-2.18.md)
|
||||||
- [Nix 2.17 (2023-07-24)](release-notes/rl-2.17.md)
|
- [Nix 2.17 (2023-07-24)](release-notes/rl-2.17.md)
|
||||||
- [Nix 2.16 (2023-05-31)](release-notes/rl-2.16.md)
|
- [Nix 2.16 (2023-05-31)](release-notes/rl-2.16.md)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Lix 2.90 "Vanilla Ice Cream" (FIXME date)
|
# Lix 2.90 "Vanilla Ice Cream" (2024-07-10)
|
||||||
|
|
||||||
|
|
||||||
# Lix 2.90.0 (FIXME date)
|
# Lix 2.90.0 (2024-07-10)
|
||||||
|
|
||||||
## Breaking Changes
|
## Breaking Changes
|
||||||
- Deprecate the online flake registries and vendor the default registry [fj#183](https://git.lix.systems/lix-project/lix/issues/183) [fj#110](https://git.lix.systems/lix-project/lix/issues/110) [fj#116](https://git.lix.systems/lix-project/lix/issues/116) [#8953](https://github.com/NixOS/nix/issues/8953) [#9087](https://github.com/NixOS/nix/issues/9087) [cl/1127](https://gerrit.lix.systems/c/lix/+/1127)
|
- Deprecate the online flake registries and vendor the default registry [fj#183](https://git.lix.systems/lix-project/lix/issues/183) [fj#110](https://git.lix.systems/lix-project/lix/issues/110) [fj#116](https://git.lix.systems/lix-project/lix/issues/116) [#8953](https://github.com/NixOS/nix/issues/8953) [#9087](https://github.com/NixOS/nix/issues/9087) [cl/1127](https://gerrit.lix.systems/c/lix/+/1127)
|
||||||
|
|
|
@ -106,17 +106,17 @@ def upload_drv_paths_and_outputs(env: RelengEnvironment, paths: list[str]):
|
||||||
raise subprocess.CalledProcessError(rv, proc.args)
|
raise subprocess.CalledProcessError(rv, proc.args)
|
||||||
|
|
||||||
|
|
||||||
def make_manifest(eval_result):
|
def make_manifest(builds_by_system):
|
||||||
manifest = {vs['system']: vs['outputs']['out'] for vs in eval_result}
|
|
||||||
def manifest_line(system, out):
|
def manifest_line(system, out):
|
||||||
return f' {system} = "{out}";'
|
return f' {system} = "{out}";'
|
||||||
|
|
||||||
manifest_text = textwrap.dedent("""\
|
manifest_text = textwrap.dedent("""\
|
||||||
# This file was generated by releng/create_release.xsh in Lix
|
# This file was generated by releng/create_release.xsh in Lix
|
||||||
{{
|
{{
|
||||||
{lines}
|
{lines}
|
||||||
}}
|
}}
|
||||||
""").format(lines='\n'.join(manifest_line(s, p) for (s, p) in manifest.items()))
|
""").format(lines='\n'.join(manifest_line(s, p) for (s, p) in builds_by_system.items()))
|
||||||
|
|
||||||
return manifest_text
|
return manifest_text
|
||||||
|
|
||||||
|
@ -142,6 +142,18 @@ def sha256_file(f: Path):
|
||||||
return hasher.hexdigest()
|
return hasher.hexdigest()
|
||||||
|
|
||||||
|
|
||||||
|
def extract_builds_by_system(eval_result):
|
||||||
|
# This could be a dictionary comprehension, but we want to be absolutely
|
||||||
|
# sure we don't have duplicates.
|
||||||
|
ret = {}
|
||||||
|
for attr in eval_result:
|
||||||
|
if attr['attrPath'][0] != 'build':
|
||||||
|
continue
|
||||||
|
assert attr['system'] not in ret
|
||||||
|
ret[attr['system']] = attr['outputs']['out']
|
||||||
|
return ret
|
||||||
|
|
||||||
|
|
||||||
def make_artifacts_dir(eval_result, d: Path):
|
def make_artifacts_dir(eval_result, d: Path):
|
||||||
d.mkdir(exist_ok=True, parents=True)
|
d.mkdir(exist_ok=True, parents=True)
|
||||||
version_dir = d / 'lix' / f'lix-{VERSION}'
|
version_dir = d / 'lix' / f'lix-{VERSION}'
|
||||||
|
@ -150,12 +162,14 @@ def make_artifacts_dir(eval_result, d: Path):
|
||||||
tarballs_drv = next(p for p in eval_result if p['attr'] == 'tarballs')
|
tarballs_drv = next(p for p in eval_result if p['attr'] == 'tarballs')
|
||||||
cp --no-preserve=mode -r @(tarballs_drv['outputs']['out'])/* @(version_dir)
|
cp --no-preserve=mode -r @(tarballs_drv['outputs']['out'])/* @(version_dir)
|
||||||
|
|
||||||
|
builds_by_system = extract_builds_by_system(eval_result)
|
||||||
|
|
||||||
# FIXME: upgrade-nix searches for manifest.nix at root, which is rather annoying
|
# FIXME: upgrade-nix searches for manifest.nix at root, which is rather annoying
|
||||||
with open(d / 'manifest.nix', 'w') as h:
|
with open(d / 'manifest.nix', 'w') as h:
|
||||||
h.write(make_manifest(eval_result))
|
h.write(make_manifest(builds_by_system))
|
||||||
|
|
||||||
with open(version_dir / 'manifest.nix', 'w') as h:
|
with open(version_dir / 'manifest.nix', 'w') as h:
|
||||||
h.write(make_manifest(eval_result))
|
h.write(make_manifest(builds_by_system))
|
||||||
|
|
||||||
print('[+] Make sources tarball')
|
print('[+] Make sources tarball')
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
{
|
||||||
"version": "2.90.0-rc2",
|
"version": "2.90.0",
|
||||||
"release_name": "Vanilla Ice Cream"
|
"release_name": "Vanilla Ice Cream"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue