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