Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
zmm authored Sep 12, 2024
0 parents commit 97326d6
Show file tree
Hide file tree
Showing 8 changed files with 447 additions and 0 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/1_helloworld.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: "1. Согласована и сформулирована тема курсовой"

on:
push:
branches:
- main

jobs:
check_hello_world_dir_not_empty:
name: "Проверка наличия каталога ./hello_world/"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: Check out current commit

- name: check
run: |
dir="./hello_world/"
if [ -d "${dir}" ]; then
if [ "$(ls -A ${dir})" ]; then
echo "::notice::Предварительная проверка пройдена - каталог ${dir} создан и не пуст"
exit 0
else
echo "::error::Предварительная проверка не пройдена - каталог ${dir} пуст"
exit 1
fi
else
echo "::error::Предварительная проверка не пройдена - каталог не найден ${dir}"
exit 1
fi
65 changes: 65 additions & 0 deletions .github/workflows/2_usecase.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: "2. Usecase"

on:
push:
branches:
- main
gollum:

jobs:
check_mockup_uc_wiki:
name: "Проверка наличия вики-страницы \"Макет и сценарий использования\" и разделов \"Макет UI\" \"Сценарий использования\" в ней"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: Check wiki
with:
repository: ${{github.repository}}.wiki
- name: check
run: |
page="Макет-и-сценарий-использования.md"
mockup_header="Макет UI"
uc_header="Сценарий использования"
if ! [[ -f "${page}" ]]; then
echo "::error::Предварительная проверка не пройдена - не найдена вики-страница \"Макет и сценарий использования\""
exit 1
fi
if ! cat "${page}" | grep -q "${mockup_header}"; then
echo "::error::Предварительная проверка не пройдена - не найден заголовок ${mockup_header}"
exit 1
fi
if ! cat "${page}" | grep -q "${uc_header}"; then
echo "::error::Предварительная проверка не пройдена - не найден заголовок ${uc_header}"
exit 1
fi
if ! cat "${page}" | grep -iq "импорт"; then
echo "::error::Предварительная проверка не пройдена - не найден сценарий, связанный с импортом данных в систему"
exit 1
fi
if ! cat "${page}" | grep -iq "экспорт"; then
echo "::error::Предварительная проверка не пройдена - не найден сценарий, связанный с экспортом данных в систему"
exit 1
fi
if ! cat "${page}" | grep -iq "статистик"; then
echo "::error::Предварительная проверка не пройдена - не найден сценарий, связанный с подсчетом статистики в системе"
exit 1
fi
if ! cat "${page}" | grep -iq '](https\:\/\/github.com\/moevm\/[^/]\+\/assets[^\)]\+)'; then
echo "::error::Предварительная проверка не пройдена - не найдены изображения макета из репозитория. Вставьте их через \![Название картинки](полная ссылка вида https://github.com/moevm/ВАШ РЕПО/assets/34864759/8f850ef1-fc3d-4adb-a7aa-81598cc7794c) . Если вы храните изображение макета где-то ВНЕ репозитория, то, пожалуйста, разместите файлы в репо - иначе потом очень сложно собирать материалы вашей проекта."
exit 1
fi
if cat "${page}" | grep 'https\:\/\/' | grep -qv github; then
echo "::error::Предварительная проверка не пройдена - найдены ссылки на сторонние сервисы. Если части вашего макета и сценария размещены где-то еще, то, пожалуйста 1) соберите их на вики 2) если у вас сложный макет с figma и тд - положите в репо качественную схему в виде графа. Иначе потом очень сложно собирать материалы вашего проекта."
exit 1
fi
echo "::notice::Предварительная проверка пройдена - вики-страница найдена, нужные заголовки присутствуют"
78 changes: 78 additions & 0 deletions .github/workflows/3_data_model.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: "3. Модель данных"

on:
push:
branches:
- main
gollum:

jobs:
check_data_model:
name: "Проверка наличия вики-страницы \"Модель данных\" и разделов \"Нереляционная модель\", \"Реляционная модель\", \"Сравнение моделей\", \"Вывод\" в ней"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: Check wiki
with:
repository: ${{github.repository}}.wiki
- name: check
run: |
page="Модель-данных.md"
nosql_model="Нереляционная модель"
sql_model="Реляционная модель"
comparison="Сравнение моделей"
conclusion="Вывод"
query_examples="Примеры запросов"
data_examples="Примеры данных"
redundancy="Избыточность данных"
if ! [[ -f "${page}" ]]; then
echo "::error::Предварительная проверка не пройдена - не найдена вики-страница \"Модель данных\""
exit 1
fi
if ! cat "${page}" | grep -q "${nosql_model}"; then
echo "::error::Предварительная проверка не пройдена - не найден заголовок ${nosql_model}"
exit 1
fi
if ! cat "${page}" | grep -q "${sql_model}"; then
echo "::error::Предварительная проверка не пройдена - не найден заголовок ${sql_model}"
exit 1
fi
image_count=`cat "${page}" | grep '](https\:\/\/github.com\/moevm\/[^/]\+\/assets[^\)]\+)' | wc -l`
if [[ ${image_count} -lt 2 ]]; then
echo "::error::Предварительная проверка не пройдена - не найдены изображения для схем моделей данных. Для реляционной и нереляционной модели необходимо разместить изображения схем моделей данных. Вставьте их через \![Название картинки](полная ссылка вида https://github.com/moevm/ВАШ РЕПО/assets/34864759/8f850ef1-fc3d-4adb-a7aa-81598cc7794c) . Если вы храните изображение макета где-то ВНЕ репозитория, то, пожалуйста, разместите файлы в репо - иначе потом очень сложно собирать материалы вашей проекта. "
exit 1
fi
query_examples_count=`cat "${page}" | grep "${query_examples}" | wc -l`
if [[ "${query_examples_count}" != "2" ]]; then
echo "::error::Предварительная проверка не пройдена - не найдены заголовоки ${query_examples} (соответствующие подразделы должны быть в разделах с нереляционной и реляционной моделями)."
exit 1
fi
data_examples_count=`cat "${page}" | grep "${data_examples}" | wc -l`
if [[ "${data_examples_count}" != "2" ]]; then
echo "::error::Предварительная проверка не пройдена - не найдены заголовоки ${data_examples} (соответствующие подразделы должны быть в разделах с нереляционной и реляционной моделями)."
exit 1
fi
redundancy_count=`cat "${page}" | grep "${redundancy}" | wc -l`
if [[ "${redundancy_count}" != "2" ]]; then
echo "::error::Предварительная проверка не пройдена - не найдены заголовоки ${redundancy} (соответствующие подразделы должны быть в разделах с нереляционной и реляционной моделями)."
exit 1
fi
if ! cat "${page}" | grep -q "${comparison}"; then
echo "::error::Предварительная проверка не пройдена - не найден заголовок ${comparison}"
exit 1
fi
if ! cat "${page}" | grep -q "${conclusion}"; then
echo "::error::Предварительная проверка не пройдена - не найден заголовок ${conclusion}"
exit 1
fi
echo "::notice::Предварительная проверка пройдена - вики-страница найдена, нужные заголовки присутствуют "
26 changes: 26 additions & 0 deletions .github/workflows/4_prototype_store_and_view.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: "4. Прототип хранение и представление"

on:
push:
branches:
- main

jobs:
check_prototype_store_and_view:
name: "Проверка наличия тега 0.5"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
name: Check out current commit
with:
fetch-depth: 0

- name: check
run: |
TAG="0.5"
if [ $(git tag -l "${TAG}") ]; then
echo "::notice::Тег ${TAG} найден"
else
echo "::error::Тег ${TAG} не найден"
exit 1
fi
Loading

0 comments on commit 97326d6

Please sign in to comment.