workflow initialization

This commit is contained in:
Alex Ant
2025-04-29 21:40:51 +05:00
parent 13c1ca4f79
commit e030d97059
8 changed files with 179 additions and 22 deletions
+56
View File
@@ -0,0 +1,56 @@
name: Build Docker Images
on:
push:
branches:
- testnet
tags:
- '*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set docker tag
run: |
if [[ $GITHUB_REF == refs/tags/* ]]; then
echo "DOCKER_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
else
echo "DOCKER_TAG=latest" >> $GITHUB_ENV
fi
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# Сначала собираем базовый образ
- name: Build base image
run: |
docker build -t coopenomics/mono-base:${{ env.DOCKER_TAG }} -f Dockerfile .
docker push coopenomics/mono-base:${{ env.DOCKER_TAG }}
# Затем образы для каждого сервиса
- name: Build service images
run: |
# Создаем упрощенные Dockerfile для сервисов
echo "FROM coopenomics/mono-base:${{ env.DOCKER_TAG }}" > Dockerfile.notificator
echo "CMD [\"pnpm\", \"-F\", \"coop-notificator\", \"run\", \"start\"]" >> Dockerfile.notificator
echo "FROM coopenomics/mono-base:${{ env.DOCKER_TAG }}" > Dockerfile.coopback
echo "CMD [\"pnpm\", \"-F\", \"@coopenomics/controller\", \"run\", \"start\"]" >> Dockerfile.coopback
echo "FROM coopenomics/mono-base:${{ env.DOCKER_TAG }}" > Dockerfile.cooparser
echo "CMD [\"pnpm\", \"-F\", \"@coopenomics/parser\", \"run\", \"start\"]" >> Dockerfile.cooparser
# Собираем и публикуем образы
docker build -t coopenomics/notificator:${{ env.DOCKER_TAG }} -f Dockerfile.notificator .
docker build -t coopenomics/coopback:${{ env.DOCKER_TAG }} -f Dockerfile.coopback .
docker build -t coopenomics/cooparser:${{ env.DOCKER_TAG }} -f Dockerfile.cooparser .
docker push coopenomics/notificator:${{ env.DOCKER_TAG }}
docker push coopenomics/coopback:${{ env.DOCKER_TAG }}
docker push coopenomics/cooparser:${{ env.DOCKER_TAG }}
+27
View File
@@ -1,3 +1,30 @@
# MONO v2025.4.29
В этом релизе реализована новая архитектура рабочих столов с установкой через маркетплейс. Добавлены стол пайщика и стол совета, переработаны разделы документов и подписей, улучшено разделение кошелька и профиля для повышения удобства пользователей.
✨ Новые функции
- [#234](https://github.com/coopenomics/mono/issues/234): Маркетплейс рабочих столов с поддержкой разных ролей и микросервисной архитектурой
- [#238](https://github.com/coopenomics/mono/issues/238): Контроллер общего собрания пайщиков с поддержкой документооборота и подписей
- [#233](https://github.com/coopenomics/mono/issues/233): Минимальный смарт-контракт общих собраний пайщиков
- [#232](https://github.com/coopenomics/mono/issues/232): Бэкенд полного обозревателя блоков
🐛 Исправления ошибок
- [#231](https://github.com/coopenomics/mono/issues/231): Исправления ошибок регистрации, выхода из системы, отображения платежей и редактирования организации
🔧 Улучшения
- [#243](https://github.com/coopenomics/mono/issues/243): Контроль прав доступа на получении документов пайщика
- [#242](https://github.com/coopenomics/mono/issues/242): Бесконечный скролл на документах пайщика и кооператива
- [#241](https://github.com/coopenomics/mono/issues/241): Раздел "Документы" для пайщика
- [#240](https://github.com/coopenomics/mono/issues/240): Множественные подписи на одном документе
- [#239](https://github.com/coopenomics/mono/issues/239): Последовательные методы подписи протокола общего собрания
- [#237](https://github.com/coopenomics/mono/issues/237): Мобильная вёрстка на страницах стола совета
- [#236](https://github.com/coopenomics/mono/issues/236): Пересобран лендинг для MONO
- [#235](https://github.com/coopenomics/mono/issues/235): Настроен флоу гитхаб-релизов с описаниями
- [#226](https://github.com/coopenomics/mono/issues/226): Встроено редактирование пайщиков
- [#224](https://github.com/coopenomics/mono/issues/224): Добавлено ТЗ по контракту капитализации
---
# Change Log
All notable changes to this project will be documented in this file.
+33 -2
View File
@@ -5,6 +5,37 @@ WORKDIR /app
COPY . .
RUN npm install -g pnpm lerna
RUN pnpm install
RUN lerna run build
# Установка всех зависимостей
RUN pnpm install
# Установка системных зависимостей для WeasyPrint
RUN apk add --no-cache \
python3 \
py3-pip \
gcc \
musl-dev \
python3-dev \
pango \
zlib-dev \
jpeg-dev \
openjpeg-dev \
g++ \
libffi-dev \
harfbuzz-subset \
&& python3 -m venv /venv \
&& /venv/bin/pip install WeasyPrint==62.3 \
&& rm -rf /var/cache/*
# Последовательная сборка библиотек в правильном порядке
RUN cd components/cooptypes && pnpm run build && \
cd ../sdk && pnpm run build && \
cd ../factory && pnpm run build && \
cd ../../ && lerna run build
# Путь к виртуальному окружению
ENV PATH="/venv/bin:$PATH"
# Проверка наличия weasyprint
RUN weasyprint --version
@@ -54,15 +54,15 @@ export class BlockchainDecisionDTO implements SovietContract.Tables.Decisions.ID
@Field()
meta!: string;
@Field(() => String)
@Field(() => String, { nullable: true })
callback_contract!: string;
@Field(() => String)
@Field(() => String, { nullable: true })
confirm_callback!: string;
@Field(() => String)
@Field(() => String, { nullable: true })
decline_callback!: string;
@Field(() => String)
@Field(() => String, { nullable: true })
hash!: string;
}
+38 -3
View File
@@ -1,7 +1,7 @@
Сгенерируй changelog для версии v2.2.11.
Сгенерируй changelog для версии v2025.4.29.
Правила:
- Начинай changelog заголовком: "# MONO v2.2.11"
- Начинай changelog заголовком: "# MONO v2025.4.29"
- Затем добавь краткое текстовое описание релиза (1–3 строки), основанное на комментарии разработчика. Не копируй комментарий дословно. Используй его только как ориентир для формулировки описания.
- Не добавляй ничего от себя, не используй мотивационные или маркетинговые фразы.
- После описания сгруппируй изменения по категориям:
@@ -13,10 +13,45 @@
- Пиши кратко, строго и по делу.
Комментарий разработчика для описания релиза:
Фокус на маркетплейсе рабочих столов - это ключевой элемент интерфейса т.к. позволяет масштабироваться без экспоненциального роста сложности кодовой базы, т.к. каждый рабочий стол может быть выделен в отдельный пакет.
Релиз содержит множество изменений, фундаментально совершенствующих платформу. На платформе появились рабочие столы, которые устанавливаются из маркетплейса. При установке стола, на платформе появляются новые возможности, специфичные для него, а также, активируются микросервисы, необходимые для работы стола. Сегодня мы вводим в работу только два стола: стол пайщика и стол совета. На столе пайщика теперь есть возможность просмотреть свои документы и платежи. Кошелёк и профиль - это теперь разные страницы, что помогает улучшить UX и упростить работу с платформой. Изменено отображение документа и его цифровой подписи, теперь каждый документ визуально может обладать неограниенным количеством подписей. Здесь нам еще предстоит совершить шаг на изменение внутреннего стандарта подписей, чтобы каждый документ мог иметь неограниченное количество подписей и явно указывать на дату подписания документа и сертификат подписи.
Ниже список закрытых issues, начиная с 2025-03-27:
#243: Контроль прав доступа на получении документов пайщика
---
#242: Бесконечный скролл на документах пайщика и кооператива
---
#241: Отобразить раздел "Документы" пайщику.
---
#240: Реализовать функционал нанесения нескольких подписей на один документ
---
#239: Дополнить минимальный смарт-контракт общего собрания #2
* [x] Встроить последовательные методы подписи протокола общего собрания
---
#238: Ввести контроллер общего собрания пайщиков
* [x] Ввести в каждый документ DTO ObjectType для Signed документа (17 штук) * [x] Ввести сущность “Контейнер документа”. * [x] signatures[] * [x] signedDocument * [x] public_key * [x] signature * [x] hash * [x] meta * [x] user * [x] rawDocument * [x] html * [x] pdf * [x] meta * [x] Ввести репозиторий общих собраний * [x] Ввести блокчейн-порт * [x] Предложение повестки общего собрания * [x] generateAnnualGeneralMeetingAgenda * [x] сохранить данные в репозитории * [x] Протокол решения совета о проведении общего собрания * [x] generateSovietDecisionOnAnnualMeeting * [x] Уведомление о собрании * [x] generateAnnualMeetingNotification * [x] Бюллетень * [x] generateVotingBallot * [x] Протокол общего собрания * [x] generateAnnualGeneralMeetingDecision * [x] Создать предложение о повестке очередного общего собрания * [x] createAnnualGeneralMeeting * [x] использовать данные из репо и входящий подписанный документ * [x] Перезапустить общее собрание * [x] restartAnnualGeneralMeeting * [x] Проголосовать на общем собрании * [x] voteOnAnnualGeneralMeeting * [x] Подпись секретаря общего собрания * [x] Подпись председателя общего собрания * [x] Закрыть общее собрание * [x] closeAnnualGeneralMeeting1
---
#237: Реализовать мобильную вёрстку на страницах стола совета
---
#236: Пересобрать лендинг для MONO (цифровой-кооператив.рф)
+17 -10
View File
@@ -1,17 +1,24 @@
# MONO v2.2.11
# MONO v2025.4.29
В этой версии основное внимание уделено внедрению маркетплейса рабочих столов, что позволяет масштабировать интерфейс без увеличения сложности кодовой базы. Также реализованы улучшения в управлении пайщиками, смарт-контрактах и исправлены выявленные ошибки.
В этом релизе реализована новая архитектура рабочих столов с установкой через маркетплейс. Добавлены стол пайщика и стол совета, переработаны разделы документов и подписей, улучшено разделение кошелька и профиля для повышения удобства пользователей.
✨ Новые функции
- [#234](https://github.com/coopenomics/mono/issues/234): Добавлен маркетплейс рабочих столов с поддержкой разных ролей и управлением доступами председателем, реализована микросервисная архитектура.
- [#233](https://github.com/coopenomics/mono/issues/233): Реализован минимальный смарт-контракт общих собраний пайщиков.
- [#232](https://github.com/coopenomics/mono/issues/232): Запущен бэкенд полного обозревателя блоков.
- [#234](https://github.com/coopenomics/mono/issues/234): Маркетплейс рабочих столов с поддержкой разных ролей и микросервисной архитектурой
- [#238](https://github.com/coopenomics/mono/issues/238): Контроллер общего собрания пайщиков с поддержкой документооборота и подписей
- [#233](https://github.com/coopenomics/mono/issues/233): Минимальный смарт-контракт общих собраний пайщиков
- [#232](https://github.com/coopenomics/mono/issues/232): Бэкенд полного обозревателя блоков
🐛 Исправления ошибок
- [#231](https://github.com/coopenomics/mono/issues/231): Исправлены ошибки на десктопе, связанные с регистрацией, выходом из системы, аутентификацией, отображением платежей, редактированием email и проверкой даты добавления пайщика.
- [#231](https://github.com/coopenomics/mono/issues/231): Исправления ошибок регистрации, выхода из системы, отображения платежей и редактирования организации
🔧 Улучшения
- [#236](https://github.com/coopenomics/mono/issues/236): Пересобран лендинг для MONO (цифровой-кооператив.рф).
- [#235](https://github.com/coopenomics/mono/issues/235): Настроен флоу публикации гитхаб-релизов с описаниями.
- [#226](https://github.com/coopenomics/mono/issues/226): Встроено редактирование пайщиков, добавлен private_account, проведена проверка имен, переведены запросы на GraphQL, устранены ошибки и предупреждения.
- [#224](https://github.com/coopenomics/mono/issues/224): Подготовлено техническое задание по контракту капитализации.
- [#243](https://github.com/coopenomics/mono/issues/243): Контроль прав доступа на получении документов пайщика
- [#242](https://github.com/coopenomics/mono/issues/242): Бесконечный скролл на документах пайщика и кооператива
- [#241](https://github.com/coopenomics/mono/issues/241): Раздел "Документы" для пайщика
- [#240](https://github.com/coopenomics/mono/issues/240): Множественные подписи на одном документе
- [#239](https://github.com/coopenomics/mono/issues/239): Последовательные методы подписи протокола общего собрания
- [#237](https://github.com/coopenomics/mono/issues/237): Мобильная вёрстка на страницах стола совета
- [#236](https://github.com/coopenomics/mono/issues/236): Пересобран лендинг для MONO
- [#235](https://github.com/coopenomics/mono/issues/235): Настроен флоу гитхаб-релизов с описаниями
- [#226](https://github.com/coopenomics/mono/issues/226): Встроено редактирование пайщиков
- [#224](https://github.com/coopenomics/mono/issues/224): Добавлено ТЗ по контракту капитализации
+2 -1
View File
@@ -41,7 +41,7 @@ cat <<EOF > "$PROMPT_FILE"
Сгенерируй changelog для версии $VERSION.
Правила:
- Начинай changelog заголовком: "# MONO $VERSION"
- Начинай changelog заголовком: "# $VERSION"
- Затем добавь краткое текстовое описание релиза (1–3 строки), основанное на комментарии разработчика. Не копируй комментарий дословно. Используй его только как ориентир для формулировки описания.
- Не добавляй ничего от себя, не используй мотивационные или маркетинговые фразы.
- После описания сгруппируй изменения по категориям:
@@ -51,6 +51,7 @@ cat <<EOF > "$PROMPT_FILE"
- Каждый пункт списка должен быть в формате:
- [#Номер](https://github.com/coopenomics/mono/issues/Номер): Краткое описание
- Пиши кратко, строго и по делу.
- В конце поставь тег: #releases
Комментарий разработчика для описания релиза:
$COMMENT
+2 -2
View File
@@ -1,4 +1,4 @@
VERSION: v2.3
VERSION: v2025.4.29
FROM DATE: 2025-03-27
COMMENT:
<комментарий к релизу>
Релиз содержит множество изменений, фундаментально совершенствующих платформу. На платформе появились рабочие столы, которые устанавливаются из маркетплейса. При установке стола, на платформе появляются новые возможности, специфичные для него, а также, активируются микросервисы, необходимые для работы стола. Сегодня мы вводим в работу только два стола: стол пайщика и стол совета. На столе пайщика теперь есть возможность просмотреть свои документы и платежи. Кошелёк и профиль - это теперь разные страницы, что помогает улучшить UX и упростить работу с платформой. Изменено отображение документа и его цифровой подписи, теперь каждый документ визуально может обладать неограниенным количеством подписей. Здесь нам еще предстоит совершить шаг на изменение внутреннего стандарта подписей, чтобы каждый документ мог иметь неограниченное количество подписей и явно указывать на дату подписания документа и сертификат подписи.