Skip to content
Permalink
Browse files
Add a matrix job to run binding tests
This job uses the same container image as the .devcontainer. It runs
each of the binding tests for every supported API version (currently
620 and 630), except for `scripted` which only works with the current
API version. It relies on a service container for the underlying FDB
server.
  • Loading branch information
kocolosk committed Nov 17, 2021
1 parent 5b085c5 commit ff44fb2ec12763b2bde50c8bea476b77c88a2976
Showing 1 changed file with 44 additions and 0 deletions.
@@ -90,3 +90,47 @@ jobs:
if: ${{ failure() }}
with:
limit-access-to-actor: true

binding_tester:
runs-on: ubuntu-latest
strategy:
matrix:
test-name: [api, directory, directory_hca, tuple]
api-version: [610, 620, 630]
include:
# The `scripted` test only supports the latest API version
- test-name: scripted
api-version: 630
container:
image: apache/couchdbci-debian:erlfdb-erlang-24.1.5.0-fdb-6.3.18-1
services:
foundationdb:
image: foundationdb/foundationdb:6.3.18
steps:
- name: Create FDB cluster file
env:
# This needs to match the name of the service above so the script can do
# a DNS lookup to write down the coordinator IP in the fdb.cluster file
FDB_COORDINATOR: foundationdb
shell: bash
run: /usr/local/bin/create_cluster_file.bash
- name: Initialize FDB database
run: fdbcli --exec "configure new single ssd"
- name: Check out repository code
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Compile erlfdb
run: rebar3 compile
- name: Execute binding test
env:
TEST_NAME: ${{ matrix.test-name }}
API_VERSION: ${{ matrix.api-version }}
ERL_LIBS: _build/default/lib/erlfdb/
run: |
mkdir -p /usr/src/erlfdb/test/
ln -s $GITHUB_WORKSPACE/test/tester.es /usr/src/erlfdb/test/tester.es
/usr/src/foundationdb/bindings/bindingtester/bindingtester.py erlang \
--test-name $TEST_NAME \
--api-version $API_VERSION \
--num-ops 10000

0 comments on commit ff44fb2

Please sign in to comment.