name: run tests on: [push] jobs: test: runs-on: ubuntu-latest permissions: contents: 'read' id-token: 'write' steps: - uses: actions/checkout@v4 - name: Authenticate to Google Cloud id: auth uses: google-github-actions/auth@v1 with: token_format: access_token workload_identity_provider: projects/949875736540/locations/global/workloadIdentityPools/external-pool/providers/github-provider service_account: artifact-pusher@talon-artifacts.iam.gserviceaccount.com - name: Login to GAR uses: docker/login-action@v3 with: registry: europe-west3-docker.pkg.dev username: oauth2accesstoken password: ${{ steps.auth.outputs.access_token }} - uses: hoverkraft-tech/compose-action@v2.0.2 - uses: ruby/setup-ruby@v1 with: ruby-version: '3' - name: Install dependencies working-directory: .github/.example run: | bundle config set local.talon_one ../.. bundle install sudo apt-get install jq curl - name: Run example working-directory: .github/.example run: | ACCOUNT_RESPONSE=$(curl -s --location "http://localhost:9000/v1/accounts" \ --header "Content-Type: application/json" \ --data-raw '{ "companyName": "demo", "email": "integrationtest@talon.one", "password": "Password1234!" }'); export TALON_USER_ID=$(echo $ACCOUNT_RESPONSE | jq ".userId"); export TALON_USER_TOKEN=$(echo $ACCOUNT_RESPONSE | jq ".token" | tr -d '"'); USER_RESPONSE=$(curl -s --location "http://localhost:9000/v1/users/$TALON_USER_ID" \ --header "Authorization: Bearer $TALON_USER_TOKEN"); export TALON_ACCOUNT_ID=$(echo $USER_RESPONSE | jq ".accountId"); echo "User with ID $TALON_USER_ID and Token $TALON_USER_TOKEN was created for application $TALON_ACCOUNT_ID"; APPLICATION_RESPONSE=$(curl -s --location "http://localhost:9000/v1/applications" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $TALON_USER_TOKEN" \ --data-raw '{ "name": "demo", "currency": "EUR", "timezone": "Europe/Berlin", "enableFlattenedCartItems": false }'); export TALON_APPLICATION_ID=$(echo $USER_RESPONSE | jq ".id"); echo "Application with ID $TALON_APPLICATION_ID was created" API_KEY_RESPONSE=$(curl -s -v --location "http://localhost:9000/v1/applications/$TALON_APPLICATION_ID/apikeys" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $TALON_USER_TOKEN" \ --data-raw '{ "title": "Application HIT KEY", "expires": "2099-01-01T0:00:00Z" }'); echo "Api-Key-Response: $API_KEY_RESPONSE"; export TALON_API_KEY=$(echo $API_KEY_RESPONSE | jq ".key" | tr -d '"'); echo "Api-Key $TALON_API_KEY created" bundle exec ruby example.rb;