Skip to content

Latest commit

 

History

History
 
 

c2

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Использование AWS API для C2

Требования

  • Go 1.17+

Начало работы

Клонирование репозитория и проверка сборки модуля:

$ git clone [email protected]:C2Devel/aws-sdk-go.git && cd aws-sdk-go
...
$ make build

Артефакт в результате проверки не создается.

AWS API представлено в виде .json файлов в сабдиректориях models/apis/*.

Генерация .go файлов на основе API: make generate.

Результат генерации находится в service/.

Запуск линтеров: make verify

Тесты

Тесты написаны с помощью go testing.

Типы:

  • unit: make unit
  • unit + многопоточность: make ci-test
  • интеграционные: make integration
    • Важно! Требуется доработка тестов для запуска на С2.
  • unit + разные версии go: make sandbox-tests

Выпуск релиза

Модуль aws-sdk-go используется в качестве зависимости для разных проектов, например, terraform-provider-croccloud. Версия модуля указывается в go.mod и соответствует тегу релиза.

Важно! Go не позволяет изменять версии после их публикации, т.е. не допускается перестановка релизного тега.

Версионирование

Версии aws-sdk-go должны соответствовать спецификации Semantic Version и начинаться с v (например, v1.2.3 или v1.2.3-pre). Версия фиксируется только в виде тэга.

Схема версионирования: <upstream_version>-CROCX, X - инкрементируется каждый релиз.

Релиз

Важно! Релизы провайдера выпускаются с ветки develop (установлена дефолтной). Ветка main используется для получения обновлений с upstream.

  1. Запуск тестов (см. тесты)
  2. Установка релизного тега с версией и его публикация
$ git tag v1.2.3-CROC0
$ git push <remote> v1.2.3-CROC0