Просмотр исходного кода

chore: development script for syncing Poetry lockfile (#5170)

Bowen Liang 10 месяцев назад
Родитель
Сommit
e7752e8135
4 измененных файлов с 32 добавлено и 1 удалено
  1. 3 1
      .github/workflows/api-tests.yml
  2. 1 0
      .github/workflows/style.yml
  3. 15 0
      dev/sync-poetry
  4. 13 0
      dev/update-poetry

+ 3 - 1
.github/workflows/api-tests.yml

@@ -107,7 +107,9 @@ jobs:
             api/poetry.lock
 
       - name: Poetry check
-        run: poetry check -C api
+        run: |
+          poetry check -C api
+          poetry show -C api
 
       - name: Install dependencies
         run: poetry install -C api --with dev

+ 1 - 0
.github/workflows/style.yml

@@ -100,6 +100,7 @@ jobs:
             **.yaml
             **.yml
             Dockerfile
+            dev/**
 
       - name: Super-linter
         uses: super-linter/super-linter/slim@v6

+ 15 - 0
dev/sync-poetry

@@ -0,0 +1,15 @@
+#!/bin/bash
+
+# rely on `poetry` in path
+if ! command -v poetry &> /dev/null; then
+    echo "Installing Poetry ..."
+    pip install poetry
+fi
+
+# check poetry.lock in sync with pyproject.toml
+poetry check -C api --lock
+if [ $? -ne 0 ]; then
+    # update poetry.lock
+    # refreshing lockfile only without updating locked versions
+    poetry lock -C api --no-update
+fi

+ 13 - 0
dev/update-poetry

@@ -0,0 +1,13 @@
+#!/bin/bash
+
+# rely on `poetry` in path
+if ! command -v poetry &> /dev/null; then
+    echo "Installing Poetry ..."
+    pip install poetry
+fi
+
+# refreshing lockfile, updating locked versions
+poetry update -C api
+
+# check poetry.lock in sync with pyproject.toml
+poetry check -C api --lock