Skip to content

Commit

Permalink
Merge pull request #27 from matrix-org/kegan/js-only-latest-main
Browse files Browse the repository at this point in the history
Add CI job to run against JS SDK develop
  • Loading branch information
kegsay authored Mar 18, 2024
2 parents 1e42042 + 3c5658b commit 9b860f2
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 2 deletions.
66 changes: 66 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,72 @@ jobs:
if: "github.event_name == 'pull_request'"
uses: "matrix-org/backend-meta/.github/workflows/sign-off.yml@v2"

js-latest-main:
name: Tests (JS only, latest main)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3 # Checkout crypto tests
- name: Setup | Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'yarn'
cache-dependency-path: "internal/api/js/js-sdk/yarn.lock"
- name: Setup | Go
uses: actions/setup-go@v4
with:
go-version: '1.21'
- name: Setup | Rust # TODO: Remove when we have conditional builds
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Check out Rust SDK # TODO: Remove when we have conditional builds
run: |
./install_uniffi_bindgen_go.sh
mkdir rust-sdk # don't use HTTPS path in rebuild_rust_sdk.sh so we can use the rust-cache before building
(wget -O - "https://github.com/matrix-org/matrix-rust-sdk/archive/kegan/complement-crypto.tar.gz" | tar -xz --strip-components=1 -C rust-sdk)
- uses: Swatinem/rust-cache@v2
with:
workspaces: "rust-sdk"
- name: Build Rust SDK # TODO: Remove when we have conditional builds
run: |
./rebuild_rust_sdk.sh ./rust-sdk
- name: "Install Complement Dependencies"
run: |
sudo apt-get update && sudo apt-get install -y libolm3 libolm-dev
go install -v github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
- name: Build JS SDK (branch 'develop')
run: |
./rebuild_js_sdk.sh matrix-js-sdk@https://github.com/matrix-org/matrix-js-sdk#develop
- name: Pull synapse service v1.94.0 and mitmproxy
shell: bash
run: |
docker pull ghcr.io/matrix-org/synapse-service:v1.94.0
docker pull mitmproxy/mitmproxy:10.1.5
docker tag ghcr.io/matrix-org/synapse-service:v1.94.0 homeserver:latest
- run: |
export LIBRARY_PATH="$(pwd)/rust-sdk/target/debug"
export LD_LIBRARY_PATH="$(pwd)/rust-sdk/target/debug"
set -o pipefail &&
go test -v -json -timeout 15m ./tests | gotestfmt
shell: bash # required for pipefail to be A Thing. pipefail is required to stop gotestfmt swallowing non-zero exit codes
name: Run Complement Crypto Tests
env:
COMPLEMENT_BASE_IMAGE: homeserver
COMPLEMENT_ENABLE_DIRTY_RUNS: 1
COMPLEMENT_CRYPTO_WRITE_CONTAINER_LOGS: 1
COMPLEMENT_CRYPTO_TEST_CLIENT_MATRIX: jj # only run JS tests (TODO: also runs some rust tests regardless)
COMPLEMENT_SHARE_ENV_PREFIX: PASS_
PASS_SYNAPSE_COMPLEMENT_DATABASE: sqlite
DOCKER_BUILDKIT: 1
- name: Upload logs
uses: actions/upload-artifact@v2
if: ${{ always() }} # do this even if the tests fail
with:
name: Logs - ${{ job.status }}
path: |
./tests/logs/*
rust-latest-main:
name: Tests (Rust only, latest main)
Expand Down
4 changes: 2 additions & 2 deletions rebuild_js_sdk.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ then
exit 1
fi

(cd js-sdk && yarn add $1 && yarn install && yarn build)
(cd ./internal/api/js/js-sdk && yarn add $1 && yarn install && yarn build)
rm -rf ./internal/api/js/chrome/dist || echo 'no dist directory detected';
cp -r ./js-sdk/dist/. ./internal/api/js/chrome/dist
cp -r ./internal/api/js/js-sdk/dist/. ./internal/api/js/chrome/dist

0 comments on commit 9b860f2

Please sign in to comment.