CLI | Сборка и тестирование #36
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: otymko/[email protected] | |
with: | |
version: 1.9.0 | |
- name: Установить cmdline и asserts | |
run: | | |
opm install cmdline | |
opm install asserts | |
- 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/[email protected] | |
with: | |
filename: 'data.json' | |
masked: true | |
- name: chmod для OInt | |
run: chmod +x ./oint_bin | |
- name: Выполнить ПолучитьИнформациюБота | |
if: ${{ cancelled() }} == false | |
run: ./oint_bin telegram ПолучитьИнформациюБота --token ${{ env.json_Telegram_Token }} | |
- name: Выполнить ПолучитьОбновления | |
if: ${{ cancelled() }} == false | |
run: ./oint_bin telegram ПолучитьОбновления --token ${{ env.json_Telegram_Token }} | |
- name: Выполнить УстановитьWebhook | |
if: ${{ cancelled() }} == false | |
run: ./oint_bin telegram УстановитьWebhook --token ${{ env.json_Telegram_Token }} --url ${{ env.json_Telegram_URL }} | |
- name: Выполнить УдалитьWebhook | |
if: ${{ cancelled() }} == false | |
run: ./oint_bin telegram УдалитьWebhook --token ${{ env.json_Telegram_Token }} | |
- name: Выполнить ОтправитьТекстовоеСообщение | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ОтправитьТекстовоеСообщение \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChatID }} \ | |
--text "Тестовое сообщение" | |
- name: Выполнить ОтправитьКартинку | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ОтправитьКартинку \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChatID }} \ | |
--text "Тестовое сообщение" \ | |
--path "${{ env.json_Picture }}" | |
- name: Выполнить ОтправитьВидео | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ОтправитьВидео \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChatID }} \ | |
--text "Тестовое сообщение" \ | |
--path ${{ env.json_Video }} | |
- name: Выполнить ОтправитьГифку | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ОтправитьГифку \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChatID }} \ | |
--text "Тестовое сообщение" \ | |
--path ${{ env.json_GIF }} | |
- name: Выполнить ОтправитьАудио | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ОтправитьАудио \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChatID }} \ | |
--text "Тестовое сообщение" \ | |
--path ${{ env.json_Audio }} | |
- name: Выполнить ОтправитьДокумент | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ОтправитьДокумент \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChatID }} \ | |
--text "Тестовое сообщение" \ | |
--path ${{ env.json_Document }} | |
- name: Выполнить ОтправитьМедиагруппу | |
if: ${{ cancelled() }} == false | |
run: | | |
echo " { | |
\"${{ env.json_Picture }}\" : \"photo\", | |
\"${{ env.json_Picture2 }}\" : \"photo\" | |
} " > mediagroup.json | |
./oint_bin telegram ОтправитьМедиагруппу \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChatID }} \ | |
--text "Тестовое сообщение" \ | |
--path mediagroup.json | |
- name: Выполнить ОтправитьМестоположение | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ОтправитьМестоположение \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChatID }} \ | |
--lat 48.87373649724122 \ | |
--long "48.87373649724122" | |
- name: Выполнить ОтправитьКонтакт | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ОтправитьКонтакт \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChatID }} \ | |
--name Петр \ | |
--surname Петров \ | |
--phone +123456789 | |
- name: Выполнить ОтправитьОпрос | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ОтправитьОпрос \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChatID }} \ | |
--question "Да или нет?" \ | |
--options "['Да', 'Нет', 'Затрудняюсь ответить']" \ | |
--anonymous true | |
- name: Выполнить ПереслатьСообщение | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ПереслатьСообщение \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--message ${{ env.json_Telegram_ChannelMessageID }} \ | |
--to ${{ env.json_Telegram_ChatID }} \ | |
--from ${{ env.json_Telegram_ChannelID }} | |
- name: Выполнить Бан | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram Бан \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--user ${{ env.json_Telegram_ChatID }} \ | |
--chat ${{ env.json_Telegram_ChannelID }} | |
- name: Выполнить Разбан | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram Разбан \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--user ${{ env.json_Telegram_ChatID }} \ | |
--chat ${{ env.json_Telegram_ChannelID }} | |
- name: Выполнить СоздатьСсылкуПриглашение | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram СоздатьСсылкуПриглашение \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--name Yo \ | |
--chat ${{ env.json_Telegram_ChannelID }} \ | |
--expire 1 | |
--limit 1 | |
- name: Выполнить ЗакрепитьСообщение | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ЗакрепитьСообщение \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--message ${{ env.json_Telegram_ChannelMessageID }} \ | |
--chat ${{ env.json_Telegram_ChannelID }} | |
- name: Выполнить ОткрепитьСообщение | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ОткрепитьСообщение \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--message ${{ env.json_Telegram_ChannelMessageID }} \ | |
--chat ${{ env.json_Telegram_ChannelID }} | |
- name: Выполнить ПолучитьЧислоУчастников | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ПолучитьЧислоУчастников \ | |
--token ${{ env.json_Telegram_Token }} \ | |
--chat ${{ env.json_Telegram_ChannelID }} | |
- name: Выполнить ПолучитьСписокИконокАватаров | |
if: ${{ cancelled() }} == false | |
run: | | |
./oint_bin telegram ПолучитьСписокИконокАватаров \ | |
--token ${{ env.json_Telegram_Token }} \ | |
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" | |