4
4
branches :
5
5
- ' _update-deps/runtimeverification/k'
6
6
- ' _update-deps/runtimeverification/rv-nix-tools'
7
+ - ' _update-deps-cron/uv2nix'
8
+ - ' _update-deps-cron/pyproject-build-systems'
7
9
8
10
# Stop in progress workflows on the same branch and same workflow to use latest committed code
9
11
concurrency :
24
26
- run : |
25
27
git config user.name devops
26
28
git config user.email [email protected]
27
- - name : ' Install Poetry'
28
- uses : Gr1N/setup-poetry@v8
29
29
- name : ' Install Nix'
30
30
uses : cachix/install-nix-action@v22
31
31
with :
@@ -39,17 +39,35 @@ jobs:
39
39
with :
40
40
name : k-framework
41
41
authToken : ' ${{ secrets.CACHIX_PUBLIC_TOKEN }}'
42
- - name : ' Update pyk release tag'
42
+ # note: we install the same version of `uv` as used by `uv2nix` in order to match the nix derivation
43
+ - name : ' Update uv release tag'
44
+ id : uv_release
45
+ run : |
46
+ UV2NIX_VERSION=$(cat deps/uv2nix)
47
+ UV_VERSION=$(curl -s https://raw.githubusercontent.com/pyproject-nix/uv2nix/$(cat deps/uv2nix)/pkgs/uv-bin/srcs.json | jq -r .version)
48
+ [[ "$UV_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]
49
+ echo $UV_VERSION > deps/uv_release
50
+ git add deps/uv_release && git commit -m "Sync uv version: uv ${UV_VERSION}" || true
51
+ echo uv_version=$UV_VERSION >> "${GITHUB_OUTPUT}"
52
+ - name : ' Install uv'
53
+ uses : astral-sh/setup-uv@v6
54
+ with :
55
+ version : ${{ steps.uv_release.outputs.uv_version }}
56
+ - name : ' Update uv files'
43
57
run : |
44
58
K_VERSION=$(cat deps/k_release)
45
- sed -i 's!kframework = "^[v0 -9\.]*"!kframework = "'^ ${K_VERSION}'"!' pykwasm/pyproject.toml
46
- poetry -C pykwasm update
47
- git add pykwasm/ && git commit -m "pykwasm/: sync poetry files ${K_VERSION}" || true
59
+ sed -i 's! "kframework>=[0 -9\.]*",! "kframework>=' ${K_VERSION}'",!' pykwasm/pyproject.toml
60
+ uv lock --upgrade
61
+ git add pykwasm/ && git commit -m "pykwasm/: sync uv files ${K_VERSION}" || true
48
62
- name : ' Update Nix flake inputs'
49
63
run : |
50
64
K_VERSION=v"$(cat deps/k_release)"
65
+ UV2NIX_VERSION=$(cat deps/uv2nix)
66
+ PYPROJECT_BUILD_SYSTEMS_VERSION=$(cat deps/pyproject-build-systems)
51
67
RV_NIX_TOOLS_VERSION=$(cat deps/rv-nix-tools)
52
68
sed -i 's! k-framework.url = "github:runtimeverification/k/v[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+"! k-framework.url = "github:runtimeverification/k/'"${K_VERSION}"'"!' flake.nix
69
+ sed -i 's! uv2nix.url = "github:pyproject-nix/uv2nix/[a-z0-9\.]*"! uv2nix.url = "github:pyproject-nix/uv2nix/'"${UV2NIX_VERSION}"'"!' flake.nix
70
+ sed -i 's! pyproject-build-systems.url = "github:pyproject-nix/build-system-pkgs/[a-z0-9\.]*"! pyproject-build-systems.url = "github:pyproject-nix/build-system-pkgs/'"${PYPROJECT_BUILD_SYSTEMS_VERSION}"'"!' flake.nix
53
71
sed -i 's! rv-nix-tools.url = "github:runtimeverification/rv-nix-tools/[a-z0-9\.]*"! rv-nix-tools.url = "github:runtimeverification/rv-nix-tools/'"${RV_NIX_TOOLS_VERSION}"'"!' flake.nix
54
72
nix flake update
55
73
git add flake.nix flake.lock && git commit -m 'flake.{nix,lock}: update Nix derivations' || true
0 commit comments