mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-16 11:38:11 +02:00
408 lines
14 KiB
YAML
408 lines
14 KiB
YAML
name: Сборка и тестирование OINT CLI
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
Decode:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Расшифровать тестовые данные
|
|
run: gpg --quiet --batch --yes --decrypt --passphrase="$ENC_JSON" --output ./data.json ./data.json.gpg
|
|
env:
|
|
ENC_JSON: ${{ secrets.ENC_JSON }}
|
|
|
|
- name: Кэшировать данные
|
|
uses: actions/cache/save@v3
|
|
with:
|
|
path: ./data.json
|
|
key: test-data
|
|
|
|
Build:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: otymko/setup-onescript@v1.4
|
|
with:
|
|
version: 1.9.0
|
|
|
|
- name: Установить cmdline, asserts и osparser
|
|
run: |
|
|
opm install cmdline
|
|
opm install asserts
|
|
opm install osparser
|
|
- name: Сформировать список методов ОПИ -> CLI
|
|
run: oscript ./.github/workflows/os/cli_parse.os
|
|
|
|
- name: Записать измененный список методов CLI
|
|
uses: stefanzweifel/git-auto-commit-action@v5
|
|
with:
|
|
commit_user_name: Vitaly the Alpaca (bot)
|
|
commit_user_email: vitaly.the.alpaca@gmail.com
|
|
commit_author: Vitaly the Alpaca <vitaly.the.alpaca@gmail.com>
|
|
commit_message: Обновление зашифрованных данных по результатам тестов (workflow)
|
|
|
|
- name: Собрать и установить OInt
|
|
run: |
|
|
cd ./OInt
|
|
opm build
|
|
opm install *.ospx
|
|
|
|
- name: Собрать бинарник
|
|
run: |
|
|
cd ./cli
|
|
oscript -make core/Classes/Приложение.os oint_bin
|
|
- name: Записать артефакт
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: oint
|
|
path: ./cli/oint_bin
|
|
|
|
Testing-telegram:
|
|
runs-on: ubuntu-latest
|
|
needs: [Decode, Build]
|
|
steps:
|
|
|
|
- name: Получить тестовые данные из кэша
|
|
uses: actions/cache/restore@v3
|
|
with:
|
|
path: ./data.json
|
|
key: test-data
|
|
|
|
- name: Скачать артефакт с исполняемым файлом
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: oint
|
|
|
|
- name: JSON в переменные
|
|
uses: rgarcia-phi/json-to-variables@v1.1.0
|
|
with:
|
|
filename: 'data.json'
|
|
masked: true
|
|
|
|
- name: chmod для OInt
|
|
run: chmod +x ./oint_bin
|
|
|
|
|
|
|
|
- name: Выполнить ПолучитьИнформациюБота
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ПолучитьИнформациюБота \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
|
|
|
|
- name: Выполнить ПолучитьОбновления
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ПолучитьОбновления \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
|
|
|
|
- name: Выполнить УстановитьWebhook
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin УстановитьWebhook \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--url "${{ env.json_Telegram_URL }}" \
|
|
|
|
|
|
- name: Выполнить УдалитьWebhook
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin УдалитьWebhook \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
|
|
|
|
- name: Выполнить ОтправитьТекстовоеСообщение
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОтправитьТекстовоеСообщение \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--text "Тестовый текст" \
|
|
--keyboard "" \
|
|
|
|
|
|
- name: Выполнить ОтправитьКартинку
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОтправитьКартинку \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--text "Тестовый текст" \
|
|
--path "" \
|
|
--keyboard "" \
|
|
|
|
|
|
- name: Выполнить ОтправитьВидео
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОтправитьВидео \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--text "Тестовый текст" \
|
|
--path "" \
|
|
--keyboard "" \
|
|
|
|
|
|
- name: Выполнить ОтправитьАудио
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОтправитьАудио \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--text "Тестовый текст" \
|
|
--path "" \
|
|
--keyboard "" \
|
|
|
|
|
|
- name: Выполнить ОтправитьДокумент
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОтправитьДокумент \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--text "Тестовый текст" \
|
|
--path "" \
|
|
--keyboard "" \
|
|
|
|
|
|
- name: Выполнить ОтправитьГифку
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОтправитьГифку \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--text "Тестовый текст" \
|
|
--path "" \
|
|
--keyboard "" \
|
|
|
|
|
|
- name: Выполнить ОтправитьМедиагруппу
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОтправитьМедиагруппу \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--text "Тестовый текст" \
|
|
--path "" \
|
|
--keyboard "" \
|
|
|
|
|
|
- name: Выполнить ОтправитьМестоположение
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОтправитьМестоположение \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--lat "48.87373649724122" \
|
|
--long "48.87373649724122" \
|
|
--keyboard "" \
|
|
|
|
|
|
- name: Выполнить ОтправитьКонтакт
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОтправитьКонтакт \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--name "Петр" \
|
|
--surname "Петров" \
|
|
--phone "+123456789" \
|
|
--keyboard "" \
|
|
|
|
|
|
- name: Выполнить ОтправитьОпрос
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОтправитьОпрос \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--question "Да или нет?" \
|
|
--options "['Да', 'Нет', 'Затрудняюсь ответить']" \
|
|
--anonymous "true" \
|
|
|
|
|
|
- name: Выполнить ПереслатьСообщение
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ПереслатьСообщение \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--message "${{ env.json_Telegram_ChannelMessageID }}" \
|
|
--from "${{ env.json_Telegram_ChannelID }}" \
|
|
--to "${{ env.json_Telegram_ChatID }}" \
|
|
|
|
|
|
- name: Выполнить Бан
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin Бан \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--user "${{ env.json_Telegram_ChatID }}" \
|
|
|
|
|
|
- name: Выполнить Разбан
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin Разбан \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--user "${{ env.json_Telegram_ChatID }}" \
|
|
|
|
|
|
- name: Выполнить СоздатьСсылкуПриглашение
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin СоздатьСсылкуПриглашение \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--name "Петр" \
|
|
--expire "1" \
|
|
--limit "1" \
|
|
|
|
|
|
- name: Выполнить ЗакрепитьСообщение
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ЗакрепитьСообщение \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--message "${{ env.json_Telegram_ChannelMessageID }}" \
|
|
|
|
|
|
- name: Выполнить ОткрепитьСообщение
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОткрепитьСообщение \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--message "${{ env.json_Telegram_ChannelMessageID }}" \
|
|
|
|
|
|
- name: Выполнить ПолучитьЧислоУчастников
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ПолучитьЧислоУчастников \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
|
|
|
|
- name: Выполнить ПолучитьСписокИконокАватаров
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ПолучитьСписокИконокАватаров \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
|
|
|
|
- name: Выполнить СоздатьТемуФорума
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin СоздатьТемуФорума \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--name "Петр" \
|
|
--icon "5350444672789519765 " \
|
|
|
|
|
|
- name: Выполнить ИзменитьТемуФорума
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ИзменитьТемуФорума \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--topic "${{ env.json_Telegram_TopicID }}" \
|
|
--name "Петр" \
|
|
--icon "5350444672789519765 " \
|
|
|
|
|
|
- name: Выполнить ЗакрытьТемуФорума
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ЗакрытьТемуФорума \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--topic "${{ env.json_Telegram_TopicID }}" \
|
|
|
|
|
|
- name: Выполнить ОткрытьТемуФорума
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОткрытьТемуФорума \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--topic "${{ env.json_Telegram_TopicID }}" \
|
|
|
|
|
|
- name: Выполнить УдалитьТемуФорума
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin УдалитьТемуФорума \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--topic "${{ env.json_Telegram_TopicID }}" \
|
|
|
|
|
|
- name: Выполнить СкрытьГлавнуюТемуФорума
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin СкрытьГлавнуюТемуФорума \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
|
|
|
|
- name: Выполнить ПоказатьГлавнуюТемуФорума
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ПоказатьГлавнуюТемуФорума \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
|
|
|
|
- name: Выполнить ИзменитьИмяГлавнойТемыФорума
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ИзменитьИмяГлавнойТемыФорума \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--name "Петр" \
|
|
|
|
|
|
- name: Выполнить ОчиститьСписокЗакрепленныхСообщенийТемы
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin ОчиститьСписокЗакрепленныхСообщенийТемы \
|
|
--token "${{ env.json_Telegram_Token }}" \
|
|
--chat "${{ env.json_Telegram_ChannelID }}" \
|
|
--topic "${{ env.json_Telegram_TopicID }}" \
|
|
|
|
|
|
- name: Выполнить СформироватьКлавиатуруПоМассивуКнопок
|
|
if: ${{ cancelled() }} == false
|
|
run: |
|
|
./oint_bin СформироватьКлавиатуруПоМассивуКнопок \
|
|
--buttons "['Кнопка1','Кнопка2','Кнопка3']" \
|
|
--under "true" \
|
|
--column "false" \
|
|
|
|
|
|
Clear-Cache:
|
|
runs-on: ubuntu-latest
|
|
needs: [Testing-telegram]
|
|
if: ${{ always() }}
|
|
steps:
|
|
- name: Очистка кэша
|
|
run: |
|
|
curl -L \
|
|
-X DELETE \
|
|
-H "Accept: application/vnd.github+json" \
|
|
-H "Authorization: Bearer ${{ secrets.TOKEN }}" \
|
|
-H "X-GitHub-Api-Version: 2022-11-28" \
|
|
"https://api.github.com/repos/Bayselonarrend/OpenIntegrations/actions/caches?key=test-data"
|