Files
devex/.gitea/workflows/autotest.yaml
T

120 lines
3.9 KiB
YAML

name: 'Build Agent'
run-name: '${{ inputs.branch }} :: ${{ gitea.run_number }}'
on:
workflow_dispatch:
inputs:
test_env:
description: 'активное окружение'
required: true
type: string
default: 'test'
api_url:
description: 'базовый URL DevSpace API'
required: true
type: string
ui_url:
description: 'базовый URL DevSpace UI'
required: true
type: string
backend_url:
description: 'backend URL для части API-проверок'
required: true
type: string
db_url:
description: 'JDBC URL PostgreSQL'
required: true
type: string
db_user:
description: 'пользователь БД'
required: true
type: string
default: postgres
db_password:
description: 'пароль БД'
required: true
type: string
default: postgres
auth_url:
description: 'URL получения токена'
required: true
type: string
auth_clientId:
description: 'client id'
required: true
type: string
auth_grantType:
description: 'grant type'
required: true
type: string
auth_username:
description: 'пользователь для авторизации'
required: true
type: string
auth_password:
description: 'пароль пользователя'
required: true
type: string
generator_url:
description: 'URL генератора, нужен для тестов OpenAPI-файлов'
required: true
type: string
jobs:
deploy-dev:
name: 'Deploy to dev'
runs-on: ubuntu-latest
steps:
- name: 'Print Info'
run: |
echo "Cloning ${{ github.event.inputs.repo_path }}"
echo "From branch ${{ github.event.inputs.branch }}"
- name: Cloning
uses: https://git.binom.pw/otp/devops/clone@main
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
repository: 'devspc/devspace-autotests'
branch: ${{ github.event.inputs.branch }}
- name: 'Конфигурирование интеграции gradle'
uses: https://git.binom.pw/otp/devops/config-gradle@main
- name: 'Конфигурирование gradle wrapper'
uses: https://git.binom.pw/otp/devops/setup-gradle@main
- name: Setup Jvm
uses: actions/setup-java@v4
with:
java-version: 21
distribution: "adopt"
- name: Building
run: |
./gradlew test --no-daemon -x cyclonedxBom \
-Dtest.env=${{ input.test_env }} \
-Dapi.url=${{ input.api_url }} \
-Dui.url=${{ input.ui_url }} \
-Dbackend.url=${{ input.backend_url }} \
-Ddb.url=${{ input.db_url }} \
-Ddb.user=${{ input.db_user }} \
-Ddb.password=${{ input.db_password }} \
-Dauth.url=${{ input.auth_url }} \
-Dauth.clientId=${{ input.auth_clientId }} \
-Dauth.grantType=${{ input.auth_grantType }} \
-Dauth.username=${{ input.auth_username }} \
-Dauth.password=${{ input.auth_password }} \
-Dgenerator.url=${{ input.generator_url }}
- name: Build and push Docker Image
uses: https://git.binom.pw/subochev/devops/build-docker@main
with:
image_name: "otp/agent"
tags: latest ${{ gitea.run_number }}
- name: Publishing Helm
uses: https://git.binom.pw/subochev/devops/helm-publish@main
with:
chart_directory: "helm"
helm_version: "${{ gitea.run_number }}"
helm_version_placeholder: '0.1.0'
- name: 'Cleanup'
if: always()
shell: bash
run: |
echo 'Cleaning...'
rm -rf ~/.gradle/init.gradle.kts
rm -rf ~/.ssh/config
rm -rf ~/.ssh/my_key