diff --git a/.github/workflows/sdk.yml b/.github/workflows/sdk.yml new file mode 100644 index 0000000000..3f86dccb27 --- /dev/null +++ b/.github/workflows/sdk.yml @@ -0,0 +1,38 @@ +name: SDK +on: [push, pull_request] + +defaults: + run: + shell: bash + +jobs: + sdk-with-server: + runs-on: ubuntu-latest + env: + DOCKERIZE_VERSION: "v0.7.0" + steps: + - uses: actions/checkout@v4 + - uses: actions/checkout@v4 + with: + repository: "freedomofpress/securedrop" + path: "securedrop-server" + - uses: actions/setup-python@v5 + with: + python-version: '3.9' + - name: Install dependencies + run: | + wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz && + sudo tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz && + rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz + pip install poetry==1.6.1 + - name: Run tests without VCR cassettes + run: | + # Start the server in the background + NUM_SOURCES=5 make -C securedrop-server dev & + # Wait for it to be up + dockerize -wait http://127.0.0.1:8080 -timeout 30m + # Install deps and run tests + cd client + poetry install --no-ansi + rm tests/sdk/data/*.yml + make test