Skip to content
This repository was archived by the owner on Mar 31, 2022. It is now read-only.

Commit 1bfaa36

Browse files
author
Pavel Sobolev
authored
(#1) Добавление входных данных:
* Добавлена сделанная ранее версия с поддержкой считывания входных данных; * Переделан способ установки; * Добавлены зависимости; * Упрощены установочные файлы; * Добавлено указание версии.
1 parent 17b0934 commit 1bfaa36

30 files changed

+947
-32
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#!/bin/bash
2+
3+
# Вывод названия скрипта
4+
printf "\nЗапущен скрипт для проверки модуля.\n"
5+
6+
# Определение начального числа ошибок
7+
ERROR_COUNT=0
8+
9+
# Определение функции для проверки команд
10+
function check_if_succeeded {
11+
12+
# Вывод информации о запущенной программе
13+
printf "\nПроверяется команда $@.\n\n"
14+
15+
# Выполнение указанной команды
16+
$@
17+
18+
local status=$?
19+
20+
if [ $status -ne 0 ]; then
21+
printf "\n[!] Ошибка при выполнении команды $1.\n"
22+
ERROR_COUNT=$((ERROR_COUNT+1))
23+
fi
24+
25+
return $status
26+
27+
}
28+
29+
# Проверка на удачную установку с PyPI
30+
printf "\nУстановка пакета с TestPyPI.\n"
31+
check_if_succeeded "make install-testpypi"
32+
33+
# Проверка пропуска примера
34+
printf "\nПропуск примера.\n"
35+
check_if_succeeded "make example"
36+
37+
# Проверка числа ошибок
38+
if [ "$ERROR_COUNT" -gt 0 ]; then
39+
40+
printf "\nЧисло ошибок: $ERROR_COUNT\n\n"
41+
exit 1
42+
43+
else
44+
45+
printf "Всё в порядке.\n"
46+
47+
fi
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#!/bin/bash
2+
3+
# Вывод названия скрипта
4+
printf "\nЗапущен скрипт для проверки модуля.\n"
5+
6+
# Определение начального числа ошибок
7+
ERROR_COUNT=0
8+
9+
# Определение функции для проверки команд
10+
function check_if_succeeded {
11+
12+
# Вывод информации о запущенной программе
13+
printf "\nПроверяется команда $@.\n\n"
14+
15+
# Выполнение указанной команды
16+
$@
17+
18+
local status=$?
19+
20+
if [ $status -ne 0 ]; then
21+
printf "\n[!] Ошибка при выполнении команды $1.\n"
22+
ERROR_COUNT=$((ERROR_COUNT+1))
23+
fi
24+
25+
return $status
26+
27+
}
28+
29+
# Проверка на удачную установку с PyPI
30+
printf "\nУстановка пакета с TestPyPI.\n"
31+
check_if_succeeded "make install-pypi"
32+
33+
# Проверка пропуска примера
34+
printf "\nПропуск примера.\n"
35+
check_if_succeeded "make example"
36+
37+
# Проверка числа ошибок
38+
if [ "$ERROR_COUNT" -gt 0 ]; then
39+
40+
printf "\nЧисло ошибок: $ERROR_COUNT\n\n"
41+
exit 1
42+
43+
else
44+
45+
printf "Всё в порядке.\n"
46+
47+
fi
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
#!/bin/bash
2+
3+
# Вывод заголовка скрипта
4+
printf "\nЗапущен скрипт, проверяющий, отличается ли текущая версия релиза от предыдущей.\n\n"
5+
6+
# Определение имени ветки с изменениями
7+
FEATURE_BRANCH_NAME="feature"
8+
9+
# Определение имени временной директории
10+
TMP_FOLDER_NAME="tmp"
11+
12+
# Определение начального числа ошибок
13+
ERROR_COUNT=0
14+
15+
# Определения функций для проверки версий
16+
17+
function check_module_version {
18+
19+
printf "\nПроверяется версия модуля в следующем файле:\n"
20+
echo "$1"
21+
22+
# Избегание пробелов в аргументе
23+
CURRENT_TAG_WITHOUT_V=$(echo "$CURRENT_TAG" | sed s/v//)
24+
if [ "$(grep __version__ "$1" | head -1)" == "__version__ = '$CURRENT_TAG_WITHOUT_V'" ]; then
25+
26+
printf "\nВерсия в этом файле совпадает с текущей.\n"
27+
28+
else
29+
30+
printf "\nВерсия в этом файле НЕ совпадает с текущей.\n"
31+
ERROR_COUNT=$((ERROR_COUNT+1))
32+
33+
fi
34+
35+
}
36+
37+
function run_version_checks {
38+
39+
check_module_version "setup.py"
40+
41+
}
42+
43+
# Переход на ветку master
44+
git checkout -q master
45+
46+
# Сохранение тега последнего коммита на master в переменную
47+
MASTER_TAG="$(git describe --tags master)"
48+
49+
printf "Тег на master:\n"
50+
echo $MASTER_TAG
51+
52+
# Переход на ветку изменений
53+
git checkout -q $FEATURE_BRANCH_NAME
54+
55+
# Получение текущего тега
56+
CURRENT_TAG="$(grep -o "release\-v.*\-informational" README.md | grep -o "\-.*\-" | sed 's/-//g')"
57+
58+
printf "\nТекущий тег из README.md:\n"
59+
echo $CURRENT_TAG
60+
61+
# Проверка, изменился ли текущий тег
62+
if [ $CURRENT_TAG == $MASTER_TAG ]; then
63+
64+
printf "\nТекущий тег и тег на master совпадают. Обновите текущий тег"
65+
printf "\nв соответствии с установками Semantic Versioning.\n\n"
66+
67+
exit 1
68+
69+
fi
70+
71+
# Запуск указанных проверок
72+
run_version_checks
73+
74+
# Избегание точек в текущем теге
75+
CURRENT_TAG="$(echo $CURRENT_TAG | sed 's/v//' | sed 's/\./\\./g')"
76+
77+
# Проверка, совпадает ли другой тег в README.md
78+
if ! grep -q "releases/tag/v$CURRENT_TAG" README.md; then
79+
80+
printf "\nУказанные теги различаются в README.md.\n\n"
81+
82+
exit 1
83+
84+
fi
85+
86+
# Проверка числа ошибок
87+
if [ "$ERROR_COUNT" -gt 0 ]; then
88+
89+
printf "\nЧисло ошибок: $ERROR_COUNT\n\n"
90+
exit 1
91+
92+
else
93+
94+
printf "\nВсё в порядке.\n"
95+
96+
fi
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
3+
# Вывод заголовка скрипта
4+
printf "\nЗапущен скрипт, проверяющий, отличается ли текущая версия релиза от предыдущей.\n\n"
5+
6+
# Определение имени ветки с изменениями
7+
FEATURE_BRANCH_NAME="feature"
8+
9+
# Переход на ветку master
10+
git checkout -q master
11+
12+
# Сохранение тега последнего коммита на master в переменную
13+
MASTER_TAG="$(git describe --tags master)"
14+
15+
printf "Проверяется, совпадает ли текущий тег с мастер тегом.\n\n"
16+
17+
# Получение текущего тега
18+
CURRENT_TAG="$(grep -o "release\-v.*\-informational" README.md | grep -o "\-.*\-" | sed 's/-//g')"
19+
20+
printf "Тег на master:\n"
21+
echo $MASTER_TAG
22+
23+
printf "\nТекущий тег из README.md:\n"
24+
echo $CURRENT_TAG
25+
26+
# Проверка, отличается ли тег на master от текущего тега
27+
if [ ! $CURRENT_TAG == $MASTER_TAG ]; then
28+
29+
printf "\nТекущий тег и тег на master НЕ совпадают.Обновите"
30+
printf "\nтег на master в соответствии с текущим тегом.\n\n"
31+
32+
exit 1
33+
34+
fi
35+
36+
printf "\nВсё в порядке.\n"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: ModuleTest (Linux) (feature)
2+
3+
on:
4+
push:
5+
tags:
6+
- v[0-9]+.[0-9]+.[0-9]+_feature_*
7+
8+
jobs:
9+
ModuleTest_Linux_feature:
10+
11+
name: ModuleTest Job (Linux) (feature)
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Запуск скрипта для проверки модуля
17+
run: bash .github/scripts/ModuleTest\ \(feature\).sh
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: ModuleTest (Linux)
2+
3+
on:
4+
push:
5+
tags:
6+
- v[0-9]+.[0-9]+.[0-9]+
7+
8+
jobs:
9+
ModuleTest_Linux_master:
10+
11+
name: ModuleTest Job (Linux) (master)
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Запуск скрипта для проверки модуля
17+
run: bash .github/scripts/ModuleTest\ \(master\).sh
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: ModuleTest (macOS) (feature)
2+
3+
on:
4+
push:
5+
tags:
6+
- v[0-9]+.[0-9]+.[0-9]+_feature_*
7+
8+
jobs:
9+
ModuleTest_macOS_feature:
10+
11+
name: ModuleTest Job (macOS) (feature)
12+
runs-on: macos-10.15
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Запуск скрипта для проверки модуля
17+
run: bash .github/scripts/ModuleTest\ \(feature\).sh
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: ModuleTest (macOS)
2+
3+
on:
4+
push:
5+
tags:
6+
- v[0-9]+.[0-9]+.[0-9]+
7+
8+
jobs:
9+
ModuleTest_macOS_master:
10+
11+
name: ModuleTest Job (macOS) (master)
12+
runs-on: macos-10.15
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Запуск скрипта для проверки модуля
17+
run: bash .github/scripts/ModuleTest\ \(master\).sh
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: VersionCheck (feature)
2+
3+
on:
4+
push:
5+
tags:
6+
- v[0-9]+.[0-9]+.[0-9]+_feature_*
7+
8+
jobs:
9+
VersionCheck_feature:
10+
11+
name: VersionCheck Job (feature)
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Получение истории коммитов
17+
run: git fetch --prune --unshallow origin +refs/heads/*:refs/remotes/origin/*
18+
- name: Вызов скрипта для проверки версии
19+
run: bash .github/scripts/VersionCheck\ \(feature\).sh
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: VersionCheck
2+
3+
on:
4+
push:
5+
tags:
6+
- v[0-9]+.[0-9]+.[0-9]+
7+
8+
jobs:
9+
VersionCheck_master:
10+
11+
name: VersionCheck Job (master)
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Получение истории коммитов
17+
run: git fetch --prune --unshallow origin +refs/heads/*:refs/remotes/origin/*
18+
- name: Вызов скрипта для проверки версии
19+
run: bash .github/scripts/VersionCheck\ \(master\).sh

0 commit comments

Comments
 (0)