name: Gateway decK Integration Tests on: pull_request: paths: - 'kong/db/schema/**/*.lua' - 'kong/**/schema.lua' - 'kong/plugins/**/daos.lua' - 'kong/db/dao/*.lua' - 'kong/api/**/*.lua' - '.github/workflows/deck-integration.yml' permissions: pull-requests: write env: LIBRARY_PREFIX: /usr/local/kong TEST_RESULTS_XML_OUTPUT: test-results BUILD_ROOT: ${{ github.workspace }}/bazel-bin/build # cancel previous runs if new commits are pushed to the PR concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: build: uses: ./.github/workflows/build.yml with: relative-build-root: bazel-bin/build deck-integration: name: Gateway decK integration tests runs-on: ubuntu-22.04 needs: build timeout-minutes: 5 services: postgres: image: postgres:13 env: POSTGRES_USER: kong POSTGRES_DB: kong POSTGRES_HOST_AUTH_METHOD: trust ports: - 5432:5432 options: --health-cmd pg_isready --health-interval 5s --health-timeout 5s --health-retries 8 steps: - name: Install packages run: sudo apt update && sudo apt install -y libyaml-dev valgrind libprotobuf-dev libpam-dev postgresql-client jq - name: Checkout Kong source code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: submodules: recursive - name: Lookup build cache id: cache-deps uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: ${{ env.BUILD_ROOT }} key: ${{ needs.build.outputs.cache-key }} - name: Install Kong dev run: make dev - name: Tests id: deck_tests env: KONG_TEST_PG_DATABASE: kong KONG_TEST_PG_USER: kong KONG_TEST_DATABASE: postgres run: | mkdir $TEST_RESULTS_XML_OUTPUT source ${{ env.BUILD_ROOT }}/kong-dev-venv.sh bin/busted spec/06-third-party/01-deck -o hjtest -Xoutput $(realpath $TEST_RESULTS_XML_OUTPUT)/report.xml -v