Compare commits
19 Commits
b797aefb28
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 942c395790 | |||
| b0fc9c2901 | |||
| b89d74caff | |||
| c4643947e1 | |||
| fb6025c07b | |||
| 1985823233 | |||
| 2065b388a9 | |||
| ac57d4ea5f | |||
| d6d6e16d40 | |||
| 24a75ee8d5 | |||
| e534dfcff6 | |||
| f77f3b7f11 | |||
| cdbeebf5e7 | |||
| e311bb1066 | |||
| 2aadba34e2 | |||
| 7f2979d7ff | |||
| f8053537a9 | |||
| 550c1d9f44 | |||
| 55594fd632 |
@@ -1,3 +1,7 @@
|
||||
# GENERATED by oleks/ci-scripts — do not hand-edit.
|
||||
# Source manifest: manifests/flake-hub.yaml
|
||||
# Regenerate: python3 generator/render.py manifests/flake-hub.yaml --out <repo>/.woodpecker
|
||||
|
||||
# Build flake-hub packages for x86_64-linux and push to attic.
|
||||
# Separate workflow per arch — sharing one PVC across arches makes
|
||||
# the second pod permanently Unschedulable (PV node affinity binds
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# GENERATED by oleks/ci-scripts — do not hand-edit.
|
||||
# Source manifest: manifests/flake-hub.yaml
|
||||
# Regenerate: python3 generator/render.py manifests/flake-hub.yaml --out <repo>/.woodpecker
|
||||
|
||||
# Build flake-hub packages for aarch64-linux and push to attic.
|
||||
# Separate workflow per arch — see amd64.yaml for rationale.
|
||||
|
||||
|
||||
Generated
+172
-28
@@ -8,11 +8,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776411505,
|
||||
"narHash": "sha256-7HILfdTOvWzAMmfS3lQV3MDmVrr2Epj8x4c9F3mzOSE=",
|
||||
"lastModified": 1782375110,
|
||||
"narHash": "sha256-VgQr+Y1b3C9bCn68DVyrzJiLvF14Cxpcf66HV6MNkVM=",
|
||||
"owner": "jacopone",
|
||||
"repo": "antigravity-nix",
|
||||
"rev": "9f31d28882185d30c0e3082fbc52dab1cd4e879f",
|
||||
"rev": "738d61a4b7d88473adedda7b5dbc7b6bc5704020",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -111,6 +111,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_6": {
|
||||
"inputs": {
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fleet": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
@@ -161,11 +179,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779533061,
|
||||
"narHash": "sha256-orWNYXtYURhEj3X4+xGMAhaEcKRvwXqTtJ8x2jV/M+Q=",
|
||||
"lastModified": 1783371111,
|
||||
"narHash": "sha256-q2+SzhQovJTwQeI92IQee0eM6T416IO4zVvNlVbcYb8=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "b818e345ec4470e4b3e335bd2f864183c512116d",
|
||||
"revCount": 13,
|
||||
"rev": "582f4b23aa7d80df61b4ce82a4980bff2bcd7a72",
|
||||
"revCount": 17,
|
||||
"type": "git",
|
||||
"url": "https://git.oleks.space/oleks/fleet-pins"
|
||||
},
|
||||
@@ -201,6 +219,10 @@
|
||||
"fleet-pins",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-mermaid-gpu": [
|
||||
"fleet-pins",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-micron": [
|
||||
"fleet-pins",
|
||||
"nixpkgs"
|
||||
@@ -211,11 +233,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776894566,
|
||||
"narHash": "sha256-oD0s9bTy8piFts/RcZhibytVoSu42/mItsvxH2icGMc=",
|
||||
"lastModified": 1783371111,
|
||||
"narHash": "sha256-q2+SzhQovJTwQeI92IQee0eM6T416IO4zVvNlVbcYb8=",
|
||||
"ref": "main",
|
||||
"rev": "1550e5be0e89a6a1b084a5662ad37b35b6905e49",
|
||||
"revCount": 10,
|
||||
"rev": "582f4b23aa7d80df61b4ce82a4980bff2bcd7a72",
|
||||
"revCount": 17,
|
||||
"type": "git",
|
||||
"url": "https://git.oleks.space/oleks/fleet-pins"
|
||||
},
|
||||
@@ -225,6 +247,69 @@
|
||||
"url": "https://git.oleks.space/oleks/fleet-pins"
|
||||
}
|
||||
},
|
||||
"fleet_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs-armer": [
|
||||
"woodpecker-peek",
|
||||
"fleet",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-bim": [
|
||||
"woodpecker-peek",
|
||||
"fleet",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-ci": [
|
||||
"woodpecker-peek",
|
||||
"fleet",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-emmett": [
|
||||
"woodpecker-peek",
|
||||
"fleet",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-howard": [
|
||||
"woodpecker-peek",
|
||||
"fleet",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-mermaid": [
|
||||
"woodpecker-peek",
|
||||
"fleet",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-mermaid-gpu": [
|
||||
"woodpecker-peek",
|
||||
"fleet",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-micron": [
|
||||
"woodpecker-peek",
|
||||
"fleet",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-projects": [
|
||||
"woodpecker-peek",
|
||||
"fleet",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783371111,
|
||||
"narHash": "sha256-q2+SzhQovJTwQeI92IQee0eM6T416IO4zVvNlVbcYb8=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "582f4b23aa7d80df61b4ce82a4980bff2bcd7a72",
|
||||
"revCount": 17,
|
||||
"type": "git",
|
||||
"url": "https://git.oleks.space/oleks/fleet-pins"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.oleks.space/oleks/fleet-pins"
|
||||
}
|
||||
},
|
||||
"hyprspace": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -287,33 +372,49 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1771848320,
|
||||
"narHash": "sha256-ppefbuGh9S1W3gNCvMPhsadn6FvshqaJAYRk1/N2JGY=",
|
||||
"lastModified": 1783224372,
|
||||
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
|
||||
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
|
||||
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1777268161,
|
||||
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
|
||||
"lastModified": 1783224372,
|
||||
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
|
||||
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
|
||||
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1783224372,
|
||||
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -328,11 +429,37 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780472546,
|
||||
"narHash": "sha256-cx+821qtyNZNe9t3ab8qImmeg/rxVzPpZIS45SflrI0=",
|
||||
"lastModified": 1783437891,
|
||||
"narHash": "sha256-zTUA+jI7i5Mb3jxKa6E0p6Nvy6GGo80FvfENbaegoig=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "d265a79ddb84b297364e6cc3638c9f6b5dc583d7",
|
||||
"revCount": 10,
|
||||
"rev": "777d38ec969edd2df5646817b6b93191d058f728",
|
||||
"revCount": 16,
|
||||
"type": "git",
|
||||
"url": "https://git.oleks.space/oleks/parity-lib"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.oleks.space/oleks/parity-lib"
|
||||
}
|
||||
},
|
||||
"parity_2": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_6",
|
||||
"fleet": [
|
||||
"woodpecker-peek",
|
||||
"fleet"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"woodpecker-peek",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783437891,
|
||||
"narHash": "sha256-zTUA+jI7i5Mb3jxKa6E0p6Nvy6GGo80FvfENbaegoig=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "777d38ec969edd2df5646817b6b93191d058f728",
|
||||
"revCount": 16,
|
||||
"type": "git",
|
||||
"url": "https://git.oleks.space/oleks/parity-lib"
|
||||
},
|
||||
@@ -453,18 +580,35 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_6": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"woodpecker-peek": {
|
||||
"inputs": {
|
||||
"fleet": "fleet_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"parity": "parity_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1779637940,
|
||||
"narHash": "sha256-dSsKKPT1iU0MYqFXE/YNS0seB9ECZfCHrOA5fIu0gY4=",
|
||||
"lastModified": 1783437921,
|
||||
"narHash": "sha256-8I7+kgafyTGKZHxhb46JqZ0n6o7vcOuGTVfN0+NnFmw=",
|
||||
"ref": "main",
|
||||
"rev": "5c47eb9db74ebfacbe4d5bbe8f8ba575869c6e8d",
|
||||
"revCount": 6,
|
||||
"rev": "bc38cbaface51860f8039e6e8c54bb0697656db4",
|
||||
"revCount": 43,
|
||||
"type": "git",
|
||||
"url": "https://git.oleks.space/oleks/woodpecker-peek"
|
||||
},
|
||||
|
||||
@@ -134,6 +134,9 @@
|
||||
inherit (antigravity-nix.packages.${sys})
|
||||
google-antigravity
|
||||
google-antigravity-no-fhs
|
||||
google-antigravity-ide
|
||||
google-antigravity-ide-no-fhs
|
||||
google-antigravity-cli
|
||||
;
|
||||
# nix-deps' flake only outputs eachDefaultSystem (no s390x), so
|
||||
# gate it on the same native x86_64/aarch64 condition.
|
||||
@@ -165,6 +168,27 @@
|
||||
};
|
||||
};
|
||||
|
||||
# Rustc bootstrap: symlink_file panics with "File exists" during
|
||||
# s390x cross-compilation. Multiple call sites use t!(symlink_file(...)).
|
||||
# Patch the symlink_file method body to remove an existing dest first.
|
||||
# Exported as overlays.s390xRustcSymlink so nixos-ci consumes this single
|
||||
# definition (and the patch travels with it) instead of duplicating it.
|
||||
s390xRustcSymlinkOverlay =
|
||||
final: prev:
|
||||
let
|
||||
patchedRustcUnwrapped = prev.rustc-unwrapped.overrideAttrs (old: {
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
./patches/rustc-symlink-file-eexist.patch
|
||||
];
|
||||
});
|
||||
in
|
||||
{
|
||||
rustc-unwrapped = patchedRustcUnwrapped;
|
||||
rustc = prev.rustc.override {
|
||||
rustc-unwrapped = patchedRustcUnwrapped;
|
||||
};
|
||||
};
|
||||
|
||||
# Overlays needed for s390x cross-compilation of attic-client
|
||||
s390xOverlays = [
|
||||
# OpenSSL s390x assembly uses z10 instructions (cijne) that the
|
||||
@@ -222,32 +246,23 @@
|
||||
});
|
||||
};
|
||||
})
|
||||
# Rustc bootstrap: symlink_file panics with "File exists" during
|
||||
# s390x cross-compilation. Multiple call sites use t!(symlink_file(...)).
|
||||
# Patch the symlink_file method body to remove existing dest first.
|
||||
(
|
||||
final: prev:
|
||||
let
|
||||
patchedRustcUnwrapped = prev.rustc-unwrapped.overrideAttrs (old: {
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
./patches/rustc-symlink-file-eexist.patch
|
||||
];
|
||||
});
|
||||
in
|
||||
{
|
||||
rustc-unwrapped = patchedRustcUnwrapped;
|
||||
rustc = prev.rustc.override {
|
||||
rustc-unwrapped = patchedRustcUnwrapped;
|
||||
};
|
||||
}
|
||||
)
|
||||
# Rustc symlink_file "File exists" fix (defined + exported above).
|
||||
s390xRustcSymlinkOverlay
|
||||
];
|
||||
|
||||
# Native builds
|
||||
native = flake-utils.lib.eachSystem buildSystems (
|
||||
system:
|
||||
let
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
# metamcp 2.4.22 pins nodejs_20, which 26.11 flags insecure (EOL).
|
||||
# Keep metamcp on node 20 (its supported runtime) and permit it.
|
||||
config.permittedInsecurePackages = [
|
||||
"nodejs-20.20.2"
|
||||
"nodejs-slim-20.20.2"
|
||||
];
|
||||
};
|
||||
packages = mkPackages pkgs;
|
||||
in
|
||||
{
|
||||
@@ -255,6 +270,8 @@
|
||||
default = packages.hello-world;
|
||||
};
|
||||
|
||||
formatter = pkgs.nixfmt-rfc-style;
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
name = "oleks-hub-shell";
|
||||
buildInputs = [ self.packages.${system}.default ];
|
||||
@@ -326,6 +343,9 @@
|
||||
default = final: _prev: mkPackages final;
|
||||
gcc15-fixes = import ./overlays/gcc15-fixes.nix;
|
||||
hyprspace = hyprspaceOverlay;
|
||||
# Single home for the s390x rustc symlink_file patch overlay so
|
||||
# consumers (nixos-ci) don't re-declare it + the patch file.
|
||||
s390xRustcSymlink = s390xRustcSymlinkOverlay;
|
||||
};
|
||||
|
||||
# `nix run .#<app>` — local-parity entrypoints (emmett#44, cluster#192,
|
||||
@@ -361,11 +381,9 @@
|
||||
atticEndpoint = "https://nix-cache-upload.oleks.space";
|
||||
atticPass = "infra/attic/ci_token";
|
||||
|
||||
# Package names to warm into Attic for a given native arch. Mirrors the
|
||||
# old ci/publish.py `packages_for`. Native arches only (amd64/arm64);
|
||||
# mcp-chrome-extension stays OUT (known-broken under nix-daemon at this
|
||||
# pin, see oleks/mcp-chrome #1); antigravity stays OUT (fontforge
|
||||
# segfault, pipeline #40).
|
||||
# Package names to warm into Attic for a given native arch.
|
||||
# Native arches only (amd64/arm64); mcp-chrome-extension stays OUT
|
||||
# (known-broken under nix-daemon at this pin, see oleks/mcp-chrome #1).
|
||||
packageNamesFor =
|
||||
arch:
|
||||
[
|
||||
@@ -377,6 +395,11 @@
|
||||
"woodpecker-peek"
|
||||
"mcp-chrome-wasm-simd"
|
||||
"gitea-local-fork"
|
||||
"google-antigravity"
|
||||
"google-antigravity-no-fhs"
|
||||
"google-antigravity-ide"
|
||||
"google-antigravity-ide-no-fhs"
|
||||
"google-antigravity-cli"
|
||||
];
|
||||
|
||||
drvsFor = arch: map (n: self.packages.${arch}.${n}) (packageNamesFor arch);
|
||||
|
||||
@@ -35,12 +35,12 @@
|
||||
|
||||
let
|
||||
pname = "gitea-local-fork";
|
||||
version = "1.26.0-unstable-2026-05-17.1";
|
||||
version = "1.26.0-unstable-2026-06-20";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.oleks.space/oleks/gitea.git";
|
||||
rev = "c45ea82fd1408bdb7170308080e0eb0ffdea85b2";
|
||||
hash = "sha256-AZKXcweNi6JfEgpfuj+agBNLWrQ50fTpxUalNv3XC9A=";
|
||||
rev = "764ca62aa88a4df47622206fada1e60ee135227a";
|
||||
hash = "sha256-e4/ERGVZM/Aj2cgKQYtwcW2aE8zHGfZOh2xIUXGep1s=";
|
||||
};
|
||||
|
||||
# Gitea's package.json requires pnpm >= 11; nixpkgs ships pnpm 10. The
|
||||
|
||||
Executable
+95
@@ -0,0 +1,95 @@
|
||||
#!/usr/bin/env bash
|
||||
# Update flow for gitea-local-fork driven by passthru.updateScript.
|
||||
# Invoked by `nix-update --use-update-script gitea-local-fork`.
|
||||
#
|
||||
# Source fork: /home/oleks/projects/gitea
|
||||
# Source remote: https://git.oleks.space/oleks/gitea.git (named `oleks` locally)
|
||||
# Tracked branch: oleks/main (formerly `feat/projects-api`, renamed 2026-05-13)
|
||||
#
|
||||
# nix-update with --version=branch=X constructs the new version as
|
||||
# `<latest-tag>-unstable-<date>` where <latest-tag> is the most recent
|
||||
# tag on the remote. If we leave an old `v1.26.0-unstable-<date>` tag
|
||||
# from a previous run on the gitea fork, nix-update will pick that
|
||||
# as <latest-tag> and we end up with double suffixes. So:
|
||||
#
|
||||
# 0. Delete any prior `*-unstable-*` tag on the gitea fork (local + remote).
|
||||
# 1. Run nix-update default flow: it now sees only clean semver tags
|
||||
# (v1.26.0 etc.), constructs `1.26.0-unstable-<commit-date>`.
|
||||
# 2. Tag the gitea fork at the new rev with v<version>, push the tag.
|
||||
# 3. Commit flake-hub's package.nix change, push to origin.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
FLAKE_HUB="${FLAKE_HUB:-$HOME/projects/nix-customs/flake-hub}"
|
||||
GITEA_REPO="${GITEA_REPO:-$HOME/projects/gitea}"
|
||||
PKG_FILE="$FLAKE_HUB/packages/gitea-local-fork.nix"
|
||||
|
||||
log() { printf '\033[1;36m==>\033[0m %s\n' "$*"; }
|
||||
|
||||
# ── 0. Wipe prior unstable tags from gitea fork ───────────────────────────
|
||||
cd "$GITEA_REPO"
|
||||
log "Cleaning up previous unstable tags on gitea fork (so nix-update sees only clean semver tags)"
|
||||
mapfile -t PREV_TAGS < <(git ls-remote --tags oleks 'refs/tags/v*-unstable-*' |
|
||||
awk '{print $2}' |
|
||||
sed 's|refs/tags/||;s|\^{}$||' |
|
||||
sort -u)
|
||||
for tag in "${PREV_TAGS[@]}"; do
|
||||
[ -z "$tag" ] && continue
|
||||
log " deleting $tag"
|
||||
git tag -d "$tag" 2>/dev/null || true
|
||||
git push oleks ":refs/tags/$tag" 2>/dev/null || true
|
||||
done
|
||||
|
||||
# ── 1. nix-update default flow ────────────────────────────────────────────
|
||||
# Also normalize the in-file version to its bare semver baseline so
|
||||
# nix-update doesn't see a stale unstable suffix from the local file.
|
||||
cd "$FLAKE_HUB"
|
||||
log "Normalizing in-file version baseline"
|
||||
sed -i -E 's/(version = "[^"]+?)-unstable-[0-9]{4}-[0-9]{2}-[0-9]{2}"/\1"/' "$PKG_FILE"
|
||||
|
||||
log "Running nix-update against oleks/main tip on the gitea fork"
|
||||
nix run nixpkgs#nix-update -- \
|
||||
--flake gitea-local-fork \
|
||||
--version=branch=main \
|
||||
--build
|
||||
|
||||
# ── 2. Tag gitea fork ─────────────────────────────────────────────────────
|
||||
NEW_REV=$(grep -oP 'rev = "\K[a-f0-9]{40}' "$PKG_FILE" | head -1)
|
||||
NEW_VER=$(grep -oP 'version = "\K[^"]+' "$PKG_FILE" | head -1)
|
||||
TAG="v${NEW_VER}"
|
||||
log "New version: $NEW_VER (rev ${NEW_REV:0:12})"
|
||||
|
||||
cd "$GITEA_REPO"
|
||||
if git rev-parse --verify --quiet "refs/tags/$TAG" >/dev/null; then
|
||||
log "Tag $TAG already exists locally — skipping"
|
||||
else
|
||||
log "Tagging gitea fork: $TAG at ${NEW_REV:0:12}"
|
||||
git -c commit.gpgsign=false tag -a "$TAG" "$NEW_REV" \
|
||||
-m "Pinned by nix-customs/flake-hub gitea-local-fork derivation"
|
||||
fi
|
||||
log "Pushing tag to oleks remote"
|
||||
git push oleks "$TAG" 2>/dev/null || log " tag already on remote"
|
||||
|
||||
# ── 3. Commit + push flake-hub changes ────────────────────────────────────
|
||||
cd "$FLAKE_HUB"
|
||||
if git diff --quiet -- "$PKG_FILE"; then
|
||||
log "flake-hub: no changes to commit"
|
||||
else
|
||||
log "flake-hub: committing version + hashes bump"
|
||||
git -c commit.gpgsign=false add "$PKG_FILE"
|
||||
git -c commit.gpgsign=false commit -m "gitea-local-fork: refresh to $NEW_VER
|
||||
|
||||
Pin to gitea fork rev ${NEW_REV:0:12} (tag $TAG).
|
||||
Refreshed by nix-update via passthru.updateScript."
|
||||
fi
|
||||
|
||||
if git rev-parse '@{u}' >/dev/null 2>&1; then
|
||||
log "flake-hub: pushing"
|
||||
git push
|
||||
else
|
||||
log "flake-hub: no upstream tracking — skipping push"
|
||||
fi
|
||||
|
||||
log "Done. New version $NEW_VER live at:"
|
||||
log " gitea tag: https://git.oleks.space/oleks/gitea/src/tag/$TAG"
|
||||
log " derivation: $PKG_FILE"
|
||||
Reference in New Issue
Block a user