diff --git a/.github/workflows/lcm-integration-e2e.yaml b/.github/workflows/lcm-integration-e2e.yaml new file mode 100644 index 000000000..8b16d0376 --- /dev/null +++ b/.github/workflows/lcm-integration-e2e.yaml @@ -0,0 +1,112 @@ +name: LCM Integration E2E Pipeline + +on: + workflow_call: + inputs: + AUTO_MERGE: + default: true + required: false + type: boolean + description: Must be set here in order to use in if condition at job level. + base_branch: + required: true + type: string + description: The base branch to compare against for detecting changes. + pr_number: + required: true + type: string + +env: + VAULT_SPECIAL_PREFIX: "secret/v2/na1/int/data-special" + RT_S3_BUCKET_NAME: "gdc-dev-eu-integration-tests" + +jobs: + LCM-integration-e2e-tests: + runs-on: + group: infra1-runners-arc + labels: runners-rxa-xlarge + permissions: + id-token: write + contents: read + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: 'true' + token: ${{ secrets.TOKEN_GITHUB_YENKINS }} +# - name: Get required Vault secrets +# uses: hashicorp/vault-action@v3 +# with: +# url: ${{ secrets.VAULT_ADDRESS }} +# method: jwt +# path: jwt/github +# role: ecr-ii-push +# secrets: | +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-bia-encryption-key secret | GD_SPEC_PASSWORD ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-s3-credentials bucket_name | RT_S3_BUCKET_NAME ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-s3-credentials access_key | RT_S3_ACCESS_KEY ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-s3-credentials secret_key | RT_S3_SECRET_KEY ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg3 dev_token | GD_DEV_DEV_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg3 prod_token | GD_DEV_PROD_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg3 vertica_dev_token | GD_DEV_VERTICA_DEV_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg3 vertica_prod_token | GD_DEV_VERTICA_PROD_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg3 gd_password | GD_DEV_PASSWORD ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg3 gd_project_token | GD_DEV_GD_PROJECT_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg3 gd_default_password | GD_DEV_DEFAULT_PASSWORD ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg2 dev_token | GD_TEST_DEV_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg2 prod_token | GD_TEST_PROD_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg2 vertica_dev_token | GD_TEST_VERTICA_DEV_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg2 vertica_prod_token | GD_TEST_VERTICA_PROD_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg2 gd_password | GD_TEST_PASSWORD ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg2 gd_project_token | GD_TEST_GD_PROJECT_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg2 gd_default_password | GD_TEST_DEFAULT_PASSWORD ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg1 dev_token | GD_STG_DEV_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg1 prod_token | GD_STG_PROD_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg1 vertica_dev_token | GD_STG_VERTICA_DEV_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg1 vertica_prod_token | GD_STG_VERTICA_PROD_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg1 gd_password | GD_STG_PASSWORD ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg1 gd_project_token | GD_STG_GD_PROJECT_TOKEN ; +# ${{ env.VAULT_SPECIAL_PREFIX }}/ruby-test-stg1 gd_default_password | GD_STG_DEFAULT_PASSWORD ; + - name: Set up JDK (required for JRuby) + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: '11' + - name: Set up JRuby + Bundler + uses: ruby/setup-ruby@v1 + with: + ruby-version: 'jruby-9.4.12.1' + bundler-cache: true + - name: Build image + run: | + bundle exec rake -f lcm.rake docker:build + - name: Build gems + run: | + bundle exec rake -f lcm.rake docker:bundle + - name: Run integrated tests + run: | + bundle exec rake -f lcm.rake test:docker:integration-e2e + env: + GD_SPEC_PASSWORD: ${{ secrets.RUBY_TEST_PASSWORD }} + RT_S3_BUCKET_NAME: ${{ env.RT_S3_BUCKET_NAME }} + RT_S3_ACCESS_KEY: ${{ secrets.RUBY_TEST_S3_ACCESS_KEY }} + RT_S3_SECRET_KEY: ${{ secrets.RUBY_TEST_S3_SECRET_KEY }} + GD_DEV_DEV_TOKEN: ${{ secrets.RUBY_TEST_DEV_TOKEN }} + GD_DEV_PROD_TOKEN: ${{ secrets.RUBY_TEST_PROD_TOKEN }} + GD_DEV_VERTICA_DEV_TOKEN: ${{ secrets.RUBY_TEST_DEV_TOKEN_VERTICA }} + GD_DEV_VERTICA_PROD_TOKEN: ${{ secrets.RUBY_TEST_PROD_TOKEN_VERTICA }} + GD_DEV_PASSWORD: ${{ secrets.RUBY_TEST_PASSWORD }} + GD_DEV_DEFAULT_PASSWORD: ${{ secrets.RUBY_TEST_PASSWORD }} + GD_TEST_DEV_TOKEN: ${{ secrets.RUBY_TEST_DEV_TOKEN }} + GD_TEST_PROD_TOKEN: ${{ secrets.RUBY_TEST_PROD_TOKEN }} + GD_TEST_VERTICA_DEV_TOKEN: ${{ secrets.RUBY_TEST_DEV_TOKEN_VERTICA }} + GD_TEST_VERTICA_PROD_TOKEN: ${{ secrets.RUBY_TEST_PROD_TOKEN_VERTICA }} + GD_TEST_PASSWORD: ${{ secrets.RUBY_TEST_PASSWORD }} + GD_TEST_DEFAULT_PASSWORD: ${{ secrets.RUBY_TEST_PASSWORD }} + GD_STG_DEV_TOKEN: ${{ secrets.RUBY_TEST_DEV_TOKEN }} + GD_STG_PROD_TOKEN: ${{ secrets.RUBY_TEST_PROD_TOKEN }} + GD_STG_VERTICA_DEV_TOKEN: ${{ secrets.RUBY_TEST_DEV_TOKEN_VERTICA }} + GD_STG_VERTICA_PROD_TOKEN: ${{ secrets.RUBY_TEST_PROD_TOKEN_VERTICA }} + GD_STG_PASSWORD: ${{ secrets.RUBY_TEST_PASSWORD }} + GD_STG_DEFAULT_PASSWORD: ${{ secrets.RUBY_TEST_PASSWORD }} + diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 000000000..92b9920cc --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,16 @@ +name: Quick and Dirty lcm runner +on: + workflow_dispatch: + +jobs: + call-e2e: + uses: ./.github/workflows/lcm-integration-e2e.yaml + secrets: inherit + permissions: + id-token: write + contents: read + with: + AUTO_MERGE: true + base_branch: main + pr_number: "123" + diff --git a/lib/gooddata/rest/connection.rb b/lib/gooddata/rest/connection.rb index dcf7df577..4f842ee33 100644 --- a/lib/gooddata/rest/connection.rb +++ b/lib/gooddata/rest/connection.rb @@ -178,7 +178,7 @@ def initialize(opts) # Connect using username and password def connect(username, password, options = {}) if RUBY_VERSION >= '3.3' - Psych::Parser.code_point_limit = 100_000_000 + Psych::Parser.code_point_limit = 100_000_000_000 end server = options[:server] || Helpers::AuthHelper.read_server options = DEFAULT_LOGIN_PAYLOAD.merge(options)