mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-25 02:42:28 +02:00
Переработка автоматических процессов
This commit is contained in:
parent
f4f792a78d
commit
0c3a5b183d
352
.github/workflows/os/oint_testmaker.os
vendored
352
.github/workflows/os/oint_testmaker.os
vendored
@ -1,352 +0,0 @@
|
||||
#Использовать "../../../src/ru/OInt/tools/"
|
||||
|
||||
Перем СоответствияПараметровЗначениям;
|
||||
Перем СоответствияПараметровПредобработкам;
|
||||
Перем СписокРабот;
|
||||
Перем ТекущийДокумент;
|
||||
Перем ПутьКФайлам;
|
||||
|
||||
|
||||
Процедура ПриСозданииОбъекта()
|
||||
|
||||
СписокРабот = "";
|
||||
ТаблицаТестов = OPI_ПолучениеДанныхТестов.ПолучитьТаблицуТестов();
|
||||
СписокБиблиотек = OPI_ПолучениеДанныхТестов.ПолучитьСоответствиеРазделовТестирования();
|
||||
ПутьКФайлам = "./.github/workflows/";
|
||||
|
||||
МассивВлияющих = Новый Массив;
|
||||
|
||||
Для Каждого Библиотека Из СписокБиблиотек Цикл
|
||||
МассивВлияющих.Добавить("Testing-" + Библиотека.Ключ);
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
ТекущийДокумент = Новый ТекстовыйДокумент();
|
||||
|
||||
СообщитьНачалоФайлаПроцесса();
|
||||
СформироватьЗапуск(ТаблицаТестов, СписокБиблиотек);
|
||||
СообщитьОкончаниеФайлаПроцесса(МассивВлияющих, СписокБиблиотек);
|
||||
|
||||
ТекущийДокумент.Записать(ПутьКФайлам + "oint_test_full.yml");
|
||||
|
||||
Для Каждого ТекущаяБиблиотека Из СписокБиблиотек Цикл
|
||||
|
||||
ТекущийДокумент = Новый ТекстовыйДокумент();
|
||||
Библиотека = ТекущаяБиблиотека.Ключ;
|
||||
СписокРабот = "";
|
||||
|
||||
СписокОдной = Новый Соответствие();
|
||||
Зависимости = СписокБиблиотек[Библиотека];
|
||||
СписокОдной.Вставить(Библиотека, Зависимости);
|
||||
|
||||
СообщитьНачалоФайлаПроцесса("Тестирование " + Библиотека);
|
||||
|
||||
СформироватьЗапуск(ТаблицаТестов, СписокОдной);
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
|
|
||||
| - name: Записать измененные данные
|
||||
| if: ${{ cancelled() }} == false
|
||||
| uses: actions/cache/save@v3
|
||||
| with:
|
||||
| key: test-data_new
|
||||
| path: ./data.json
|
||||
|");
|
||||
|
||||
СообщитьОкончаниеФайлаПроцесса("Testing-" + Библиотека, СписокОдной);
|
||||
|
||||
ТекущийДокумент.Записать(ПутьКФайлам + "oint_test_" + Библиотека + ".yml");
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СформироватьЗапуск(Знач ТаблицаТестов, Знач СписокБиблиотек)
|
||||
|
||||
Раннер = "/home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os";
|
||||
ФайлТестов = "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os";
|
||||
|
||||
Для Каждого Библиотека Из СписокБиблиотек Цикл
|
||||
|
||||
Раздел = Библиотека.Ключ;
|
||||
Зависимости = Библиотека.Значение;
|
||||
|
||||
НазваниеРаботы = "Testing-" + Раздел;
|
||||
СписокРабот = СписокРабот + НазваниеРаботы + ", ";
|
||||
|
||||
ТекстРаботы = "
|
||||
|
|
||||
| " + НазваниеРаботы + ":
|
||||
| runs-on: ubuntu-latest
|
||||
| needs: " + Зависимости + "
|
||||
| steps:
|
||||
|
|
||||
| - uses: actions/checkout@v2
|
||||
| - uses: otymko/setup-onescript@v1.4
|
||||
| with:
|
||||
| version: 1.9.0
|
||||
|
|
||||
| - name: Получить тестовые данные из кэша
|
||||
| uses: actions/cache/restore@v3
|
||||
| with:
|
||||
| key: " + КлючКэша(Раздел) + "
|
||||
| path: ./data.json
|
||||
|
|
||||
| - name: Установить asserts и 1testrunner
|
||||
| run: |
|
||||
| opm install asserts
|
||||
| opm install 1testrunner
|
||||
|
|
||||
| - name: Установить OInt
|
||||
| run: |
|
||||
| cd ./src/ru/OInt
|
||||
| opm build
|
||||
| opm install *.ospx
|
||||
|
|
||||
|";
|
||||
|
||||
Отбор = Новый Структура("Раздел", Раздел);
|
||||
ТестыТекущегоРаздела = ТаблицаТестов.НайтиСтроки(Отбор);
|
||||
|
||||
Для Каждого Тест Из ТестыТекущегоРаздела Цикл
|
||||
|
||||
Метод = Тест.Метод;
|
||||
Синоним = Тест.Синоним;
|
||||
|
||||
ТекстРаботы = ТекстРаботы + "
|
||||
|
|
||||
| - name: " + Синоним + "
|
||||
| if: ${{ cancelled() }} == false
|
||||
| run: oscript " + Раннер + " -run " + ФайлТестов + " """ + Метод + """";
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ДополнитьТекстРаботы(Раздел, ТекстРаботы);
|
||||
ТекущийДокумент.ДобавитьСтроку(ТекстРаботы);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СообщитьНачалоФайлаПроцесса(Знач ИмяРаботы = "Полное тестирование")
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку(
|
||||
"
|
||||
|name: OINT | " + ИмяРаботы + "
|
||||
|
|
||||
|# Controls when the workflow will run
|
||||
|on:
|
||||
| workflow_dispatch:
|
||||
|
|
||||
|jobs:
|
||||
|
|
||||
| Decode:
|
||||
| runs-on: ubuntu-latest
|
||||
| if: ${{ always() }}
|
||||
| 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:
|
||||
| key: test-data
|
||||
| path: ./data.json
|
||||
|
|
||||
| Build:
|
||||
| runs-on: ubuntu-latest
|
||||
| steps:
|
||||
| - uses: actions/checkout@v4
|
||||
| - uses: otymko/setup-onescript@v1.4
|
||||
| with:
|
||||
| version: 1.9.0
|
||||
|
|
||||
| - name: Установить asserts и 1testrunner
|
||||
| run: |
|
||||
| opm install asserts
|
||||
| opm install 1testrunner
|
||||
|
|
||||
| - name: Установить OInt
|
||||
| run: |
|
||||
| cd ./src/ru/OInt
|
||||
| opm build
|
||||
| opm install *.ospx
|
||||
|
|
||||
| - name: Записать артефакт
|
||||
| uses: actions/upload-artifact@v4
|
||||
| with:
|
||||
| name: oint
|
||||
| path: ./src/ru/OInt/*.ospx
|
||||
|");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СообщитьОкончаниеФайлаПроцесса(Знач СписокВлияний = "", Знач СписокБиблиотек)
|
||||
|
||||
Если ТипЗнч(СписокВлияний) = Тип("Массив") Тогда
|
||||
СписокВлияний = СтрСоединить(СписокВлияний, ",");
|
||||
КонецЕсли;
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
| Encode:
|
||||
| runs-on: ubuntu-latest
|
||||
| needs: [" + СписокВлияний + "]
|
||||
| if: ${{ always() }}
|
||||
| permissions:
|
||||
| contents: write
|
||||
|
|
||||
| steps:
|
||||
|
|
||||
| - uses: actions/checkout@v2
|
||||
|
|
||||
| - name: Обновить данные в репозитории
|
||||
| run: git pull https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
|
||||
| - name: Получить тестовые данные из кэша
|
||||
| uses: actions/cache/restore@v3
|
||||
| with:
|
||||
| key: test-data_new
|
||||
| path: ./data.json
|
||||
|
|
||||
| - name: Зашифровать данные обратно
|
||||
| continue-on-error: false
|
||||
|
|
||||
| run: |
|
||||
| rm -f ./data.json.gpg
|
||||
| gpg --batch --symmetric --cipher-algo AES256 --passphrase=""$ENC_JSON"" data.json
|
||||
| rm -f ./data.json
|
||||
| env:
|
||||
| ENC_JSON: ${{ secrets.ENC_JSON }}");
|
||||
|
||||
Для Каждого Библиотека Из СписокБиблиотек Цикл
|
||||
|
||||
ТекущаяБиблиотека = Библиотека.Ключ;
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
| - name: Получить логи " + ТекущаяБиблиотека + "
|
||||
| uses: actions/cache/restore@v3
|
||||
| with:
|
||||
| key: logs-" + ТекущаяБиблиотека + "
|
||||
| path: ./docs/ru/results/" + ТекущаяБиблиотека + "
|
||||
|");
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
|
|
||||
| - 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=logs-" + ТекущаяБиблиотека + """
|
||||
|");
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
|
|
||||
| - name: Записать данные
|
||||
| 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)
|
||||
|");
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
|
|
||||
| Clear-Cache:
|
||||
| runs-on: ubuntu-latest
|
||||
| needs: [" + СписокРабот + "Encode]
|
||||
| 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""
|
||||
|
|
||||
| - name: Очистка кэша Google
|
||||
| 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_google""
|
||||
|
|
||||
| - name: Очистка кэша Twitter
|
||||
| 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_new""
|
||||
|");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДополнитьТекстРаботы(Знач Раздел, ТекстРаботы)
|
||||
|
||||
ТекстРаботы = ТекстРаботы + "
|
||||
|
|
||||
| - name: Записать логи
|
||||
| if: ${{ cancelled() }} == false
|
||||
| uses: actions/cache/save@v3
|
||||
| with:
|
||||
| key: logs-" + Раздел + "
|
||||
| path: ./docs/ru/results/" + Раздел + "
|
||||
|";
|
||||
|
||||
Если Раздел = "Twitter" Тогда
|
||||
ТекстРаботы = ТекстРаботы + "
|
||||
|
|
||||
| - name: Записать измененные данные
|
||||
| if: ${{ cancelled() }} == false
|
||||
| uses: actions/cache/save@v3
|
||||
| with:
|
||||
| key: test-data_new
|
||||
| path: ./data.json
|
||||
|";
|
||||
ИначеЕсли Раздел = "GoogleWorkspace" Тогда
|
||||
ТекстРаботы = ТекстРаботы + "
|
||||
|
|
||||
| - name: Записать измененные данные
|
||||
| if: ${{ cancelled() }} == false
|
||||
| uses: actions/cache/save@v3
|
||||
| with:
|
||||
| key: test-data_google
|
||||
| path: ./data.json
|
||||
|";
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция КлючКэша(Знач Раздел)
|
||||
|
||||
СоответствиеОсобыхРазделов = Новый Соответствие();
|
||||
СоответствиеОсобыхРазделов.Вставить("GoogleDrive" , "test-data_google");
|
||||
СоответствиеОсобыхРазделов.Вставить("GoogleCalendar", "test-data_google");
|
||||
СоответствиеОсобыхРазделов.Вставить("GoogleSheets" , "test-data_google");
|
||||
|
||||
Ключ = СоответствиеОсобыхРазделов.Получить(Раздел);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Ключ) Тогда
|
||||
Ключ = "test-data";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ключ;
|
||||
|
||||
КонецФункции
|
322
.github/workflows/os/oint_testmaker_en.os
vendored
322
.github/workflows/os/oint_testmaker_en.os
vendored
@ -1,322 +0,0 @@
|
||||
#Использовать "../../../src/en/OInt/tools/"
|
||||
|
||||
Перем СоответствияПараметровЗначениям;
|
||||
Перем СоответствияПараметровПредобработкам;
|
||||
Перем СписокРабот;
|
||||
Перем ТекущийДокумент;
|
||||
Перем ПутьКФайлам;
|
||||
|
||||
|
||||
Процедура ПриСозданииОбъекта()
|
||||
|
||||
СписокРабот = "";
|
||||
ТаблицаТестов = OPI_TestDataRetrieval.GetTestTable();
|
||||
СписокБиблиотек = OPI_TestDataRetrieval.GetTestingSectionMapping();
|
||||
ПутьКФайлам = "./.github/workflows/";
|
||||
|
||||
МассивВлияющих = Новый Массив;
|
||||
|
||||
Для Каждого Библиотека Из СписокБиблиотек Цикл
|
||||
МассивВлияющих.Добавить("Testing-" + Библиотека.Ключ);
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
ТекущийДокумент = Новый ТекстовыйДокумент();
|
||||
|
||||
СообщитьНачалоФайлаПроцесса();
|
||||
СформироватьЗапуск(ТаблицаТестов, СписокБиблиотек);
|
||||
СообщитьОкончаниеФайлаПроцесса(МассивВлияющих, СписокБиблиотек);
|
||||
|
||||
ТекущийДокумент.Записать(ПутьКФайлам + "oint_test_full_en.yml");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СформироватьЗапуск(Знач ТаблицаТестов, Знач СписокБиблиотек)
|
||||
|
||||
Раннер = "/home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os";
|
||||
ФайлТестов = "./src/en/OInt/tests/Modules/internal/OPI_Tests.os";
|
||||
|
||||
Для Каждого Библиотека Из СписокБиблиотек Цикл
|
||||
|
||||
Раздел = Библиотека.Ключ;
|
||||
Зависимости = Библиотека.Значение;
|
||||
|
||||
НазваниеРаботы = "Testing-" + Раздел;
|
||||
СписокРабот = СписокРабот + НазваниеРаботы + ", ";
|
||||
|
||||
ТекстРаботы = "
|
||||
|
|
||||
| " + НазваниеРаботы + ":
|
||||
| runs-on: ubuntu-latest
|
||||
| needs: " + Зависимости + "
|
||||
| steps:
|
||||
|
|
||||
| - uses: actions/checkout@v2
|
||||
| - uses: otymko/setup-onescript@v1.4
|
||||
| with:
|
||||
| version: 1.9.0
|
||||
|
|
||||
| - name: Получить тестовые данные из кэша
|
||||
| uses: actions/cache/restore@v3
|
||||
| with:
|
||||
| key: " + КлючКэша(Раздел) + "
|
||||
| path: ./data.json
|
||||
|
|
||||
| - name: Установить asserts и 1testrunner
|
||||
| run: |
|
||||
| opm install asserts
|
||||
| opm install 1testrunner
|
||||
|
|
||||
| - name: Установить OInt
|
||||
| run: |
|
||||
| cd ./src/en/OInt
|
||||
| opm build
|
||||
| opm install *.ospx
|
||||
|
|
||||
|";
|
||||
|
||||
Отбор = Новый Структура("Section", Раздел);
|
||||
ТестыТекущегоРаздела = ТаблицаТестов.НайтиСтроки(Отбор);
|
||||
|
||||
Для Каждого Тест Из ТестыТекущегоРаздела Цикл
|
||||
|
||||
Метод = Тест.Method;
|
||||
Синоним = Тест.Synonym;
|
||||
|
||||
ТекстРаботы = ТекстРаботы + "
|
||||
|
|
||||
| - name: " + Синоним + "
|
||||
| if: ${{ cancelled() }} == false
|
||||
| run: oscript " + Раннер + " -run " + ФайлТестов + " """ + Метод + """";
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ДополнитьТекстРаботы(Раздел, ТекстРаботы);
|
||||
ТекущийДокумент.ДобавитьСтроку(ТекстРаботы);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СообщитьНачалоФайлаПроцесса(Знач ИмяРаботы = "Полное тестирование")
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку(
|
||||
"
|
||||
|name: OINT | " + ИмяРаботы + " (EN)
|
||||
|
|
||||
|# Controls when the workflow will run
|
||||
|on:
|
||||
| workflow_dispatch:
|
||||
|
|
||||
|jobs:
|
||||
|
|
||||
| Decode:
|
||||
| runs-on: ubuntu-latest
|
||||
| if: ${{ always() }}
|
||||
| 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:
|
||||
| key: test-data
|
||||
| path: ./data.json
|
||||
|
|
||||
| Build:
|
||||
| runs-on: ubuntu-latest
|
||||
| steps:
|
||||
| - uses: actions/checkout@v4
|
||||
| - uses: otymko/setup-onescript@v1.4
|
||||
| with:
|
||||
| version: 1.9.0
|
||||
|
|
||||
| - name: Установить asserts и 1testrunner
|
||||
| run: |
|
||||
| opm install asserts
|
||||
| opm install 1testrunner
|
||||
|
|
||||
| - name: Установить OInt
|
||||
| run: |
|
||||
| cd ./src/en/OInt
|
||||
| opm build
|
||||
| opm install *.ospx
|
||||
|
|
||||
| - name: Записать артефакт
|
||||
| uses: actions/upload-artifact@v4
|
||||
| with:
|
||||
| name: oint
|
||||
| path: ./src/en/OInt/*.ospx
|
||||
|");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура СообщитьОкончаниеФайлаПроцесса(Знач СписокВлияний = "", Знач СписокБиблиотек)
|
||||
|
||||
Если ТипЗнч(СписокВлияний) = Тип("Массив") Тогда
|
||||
СписокВлияний = СтрСоединить(СписокВлияний, ",");
|
||||
КонецЕсли;
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
| Encode:
|
||||
| runs-on: ubuntu-latest
|
||||
| needs: [" + СписокВлияний + "]
|
||||
| if: ${{ always() }}
|
||||
| permissions:
|
||||
| contents: write
|
||||
|
|
||||
| steps:
|
||||
|
|
||||
| - uses: actions/checkout@v2
|
||||
|
|
||||
| - name: Обновить данные в репозитории
|
||||
| run: git pull https://github.com/Bayselonarrend/OpenIntegrations
|
||||
|
|
||||
| - name: Получить тестовые данные из кэша
|
||||
| uses: actions/cache/restore@v3
|
||||
| with:
|
||||
| key: test-data_new
|
||||
| path: ./data.json
|
||||
|
|
||||
| - name: Зашифровать данные обратно
|
||||
| continue-on-error: false
|
||||
|
|
||||
| run: |
|
||||
| rm -f ./data.json.gpg
|
||||
| gpg --batch --symmetric --cipher-algo AES256 --passphrase=""$ENC_JSON"" data.json
|
||||
| rm -f ./data.json
|
||||
| env:
|
||||
| ENC_JSON: ${{ secrets.ENC_JSON }}");
|
||||
|
||||
Для Каждого Библиотека Из СписокБиблиотек Цикл
|
||||
|
||||
ТекущаяБиблиотека = Библиотека.Ключ;
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
| - name: Получить логи " + ТекущаяБиблиотека + "
|
||||
| uses: actions/cache/restore@v3
|
||||
| with:
|
||||
| key: logs-" + ТекущаяБиблиотека + "
|
||||
| path: ./docs/en/results/" + ТекущаяБиблиотека + "
|
||||
|");
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
|
|
||||
| - 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=logs-" + ТекущаяБиблиотека + """
|
||||
|");
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
|
|
||||
| - name: Записать данные
|
||||
| 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)
|
||||
|");
|
||||
|
||||
ТекущийДокумент.ДобавитьСтроку("
|
||||
|
|
||||
| Clear-Cache:
|
||||
| runs-on: ubuntu-latest
|
||||
| needs: [" + СписокРабот + "Encode]
|
||||
| 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""
|
||||
|
|
||||
| - name: Очистка кэша Google
|
||||
| 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_google""
|
||||
|
|
||||
| - name: Очистка кэша Twitter
|
||||
| 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_new""
|
||||
|");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДополнитьТекстРаботы(Знач Раздел, ТекстРаботы)
|
||||
|
||||
ТекстРаботы = ТекстРаботы + "
|
||||
|
|
||||
| - name: Записать логи
|
||||
| if: ${{ cancelled() }} == false
|
||||
| uses: actions/cache/save@v3
|
||||
| with:
|
||||
| key: logs-" + Раздел + "
|
||||
| path: ./docs/en/results/" + Раздел + "
|
||||
|";
|
||||
|
||||
Если Раздел = "Twitter" Тогда
|
||||
ТекстРаботы = ТекстРаботы + "
|
||||
|
|
||||
| - name: Записать измененные данные
|
||||
| if: ${{ cancelled() }} == false
|
||||
| uses: actions/cache/save@v3
|
||||
| with:
|
||||
| key: test-data_new
|
||||
| path: ./data.json
|
||||
|";
|
||||
ИначеЕсли Раздел = "GoogleWorkspace" Тогда
|
||||
ТекстРаботы = ТекстРаботы + "
|
||||
|
|
||||
| - name: Записать измененные данные
|
||||
| if: ${{ cancelled() }} == false
|
||||
| uses: actions/cache/save@v3
|
||||
| with:
|
||||
| key: test-data_google
|
||||
| path: ./data.json
|
||||
|";
|
||||
Иначе
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция КлючКэша(Знач Раздел)
|
||||
|
||||
СоответствиеОсобыхРазделов = Новый Соответствие();
|
||||
СоответствиеОсобыхРазделов.Вставить("GoogleDrive" , "test-data_google");
|
||||
СоответствиеОсобыхРазделов.Вставить("GoogleCalendar", "test-data_google");
|
||||
СоответствиеОсобыхРазделов.Вставить("GoogleSheets" , "test-data_google");
|
||||
|
||||
Ключ = СоответствиеОсобыхРазделов.Получить(Раздел);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Ключ) Тогда
|
||||
Ключ = "test-data";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ключ;
|
||||
|
||||
КонецФункции
|
Loading…
Reference in New Issue
Block a user