33 push :
44 branches :
55 - ' _update-deps/runtimeverification/rv-nix-tools'
6+ - ' _update-deps-cron/uv2nix'
7+ - ' _update-deps-cron/pyproject-build-systems'
68 workflow_dispatch :
79concurrency :
810 group : ${{ github.workflow }}-${{ github.ref }}
@@ -23,22 +25,47 @@ jobs:
2325 run : |
2426 git config user.name devops
2527 git config user.email devops@runtimeverification.com
26- - name : ' Install Poetry'
27- uses : Gr1N/setup-poetry@v9
28+ - name : ' Install Python'
29+ uses : actions/setup-python@v6
30+ with :
31+ python-version : ' 3.10'
32+ # note: we install the same version of `uv` as used by `uv2nix` in order to match the nix derivation
33+ - name : ' Update uv release tag'
34+ id : uv_release
35+ run : |
36+ UV2NIX_VERSION=$(cat deps/uv2nix)
37+ UV_VERSION=$(curl -s https://raw.githubusercontent.com/pyproject-nix/uv2nix/$(cat deps/uv2nix)/pkgs/uv-bin/srcs.json | jq -r .version)
38+ [[ "$UV_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]
39+ echo $UV_VERSION > deps/uv_release
40+ git add deps/uv_release && git commit -m "Sync uv version: uv ${UV_VERSION}" || true
41+ echo uv_version=$UV_VERSION >> "${GITHUB_OUTPUT}"
42+ - name : ' Install uv'
43+ uses : astral-sh/setup-uv@v7
44+ with :
45+ version : ${{ steps.uv_release.outputs.uv_version }}
2846 - name : ' Install Nix'
2947 uses : cachix/install-nix-action@v31.7.0
3048 with :
3149 install_url : https://releases.nixos.org/nix/nix-2.32.0/install
3250 extra_nix_config : |
3351 substituters = http://cache.nixos.org https://hydra.iohk.io
3452 trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=
35- - name : ' Update Poetry files'
53+ access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
54+ - uses : cachix/cachix-action@v16
55+ with :
56+ name : k-framework
57+ authToken : ${{ secrets.CACHIX_PUBLIC_TOKEN }}
58+ - name : ' Update uv files'
3659 run : |
37- poetry update
38- git add . && git commit -m "Sync Poetry files " || true
60+ uv lock --upgrade
61+ git add uv.lock && git commit -m "Sync uv lock file " || true
3962 - name : ' Update Nix flake inputs'
4063 run : |
64+ UV2NIX_VERSION=$(cat deps/uv2nix)
65+ PYPROJECT_BUILD_SYSTEMS_VERSION=$(cat deps/pyproject-build-systems)
4166 RV_NIX_TOOLS_VERSION=$(cat deps/rv-nix-tools)
67+ sed -i 's! uv2nix.url = "github:pyproject-nix/uv2nix/[a-z0-9\.]*"! uv2nix.url = "github:pyproject-nix/uv2nix/'"${UV2NIX_VERSION}"'"!' flake.nix
68+ 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
4269 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
4370 nix flake update
4471 git add flake.nix flake.lock && git commit -m 'flake.{nix,lock}: update Nix derivations' || true
0 commit comments