Merge pull request #1869 from famedly/td/testci

fix: bump flutter and dart versions for right analyzer json format
This commit is contained in:
td 2024-07-01 20:59:00 +05:30 committed by GitHub
commit 95d2378b6f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 28 additions and 31 deletions

View File

@ -14,21 +14,19 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- run: cat .github/workflows/versions.env >> $GITHUB_ENV - run: cat .github/workflows/versions.env >> $GITHUB_ENV
- uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46
with:
sdk: ${{ env.dart_version }}
- name: Run tests - name: Run tests
run: | run: |
export NETWORK='--network mynet' export HOMESERVER_IMPLEMENTATION=${{matrix.homeserver}}
docker network create mynet export HOMESERVER="localhost:80"
# deploy homeserver instance scripts/integration-server-${{matrix.homeserver}}.sh 2>&1 > /dev/null &
scripts/integration-server-${{matrix.homeserver}}.sh sudo apt-get update && sudo apt-get install --no-install-recommends --no-install-suggests -y libolm3 libssl3
docker run $NETWORK --env GITHUB_ACTIONS="${GITHUB_ACTIONS}" --env HOMESERVER_IMPLEMENTATION="${{matrix.homeserver}}" --env HOMESERVER="${{startsWith('dendrite', matrix.homeserver) && format('{0}:8008', matrix.homeserver) || matrix.homeserver }}" --volume="$(pwd):/workdir" --workdir /workdir ghcr.io/famedly/container-image-flutter/flutter:${{env.flutter_version}} /bin/bash -c "set -e
scripts/integration-prepare-alpine.sh
# create test user environment variables
source scripts/integration-create-environment-variables.sh source scripts/integration-create-environment-variables.sh
# properly set the homeserver IP and create test users scripts/integration-prepare-homeserver.sh
scripts/integration-prepare-homeserver.sh
# setup OLM
scripts/prepare.sh scripts/prepare.sh
scripts/test_driver.sh" scripts/test_driver.sh
coverage_without_olm: coverage_without_olm:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -42,7 +40,7 @@ jobs:
sdk: ${{ env.dart_version }} sdk: ${{ env.dart_version }}
- name: Run tests - name: Run tests
run: | run: |
sudo apt-get update && sudo apt-get install --no-install-recommends --no-install-suggests -y curl lcov python3 python3-distutils libsqlite3-0 libsqlite3-dev sudo apt-get update && sudo apt-get install --no-install-recommends --no-install-suggests -y lcov libsqlite3-0 libsqlite3-dev
./scripts/test.sh ./scripts/test.sh
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
if: ${{ !cancelled() }} if: ${{ !cancelled() }}
@ -53,16 +51,17 @@ jobs:
coverage: coverage:
runs-on: ubuntu-latest runs-on: arm-ubuntu-latest-16core
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- run: cat .github/workflows/versions.env >> $GITHUB_ENV - run: cat .github/workflows/versions.env >> $GITHUB_ENV
- uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46 - uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46
with: with:
sdk: ${{ env.dart_version }} sdk: ${{ env.dart_version }}
architecture: "arm64"
- name: Run tests - name: Run tests
run: | run: |
sudo apt-get update && sudo apt-get install --no-install-recommends --no-install-suggests -y curl lcov python3 python3-distutils libsqlite3-0 libsqlite3-dev libolm3 libssl3 sudo apt-get update && sudo apt-get install --no-install-recommends --no-install-suggests -y lcov libsqlite3-0 libsqlite3-dev libolm3 libssl3
./scripts/test.sh ./scripts/test.sh
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
if: ${{ !cancelled() }} if: ${{ !cancelled() }}
@ -110,6 +109,7 @@ jobs:
- uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa - uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with: with:
flutter-version: ${{ env.flutter_version }} flutter-version: ${{ env.flutter_version }}
cache: true
- name: Ensure SDK compiles on web - name: Ensure SDK compiles on web
run: | run: |
pushd web_test pushd web_test

View File

@ -1,2 +1,2 @@
flutter_version=3.16.9 flutter_version=3.22.2
dart_version=3.2.6 dart_version=3.4.3

View File

@ -1,2 +0,0 @@
#!/usr/bin/env bash
apk update && apk add docker drill grep olm cmake sqlite-dev

View File

@ -34,6 +34,7 @@ echo "Waiting for homeserver to be available... (GET http://$HOMESERVER/_matrix/
sleep 5 sleep 5
while ! curl -XGET "http://$HOMESERVER/_matrix/client/v3/login" >/dev/null; do while ! curl -XGET "http://$HOMESERVER/_matrix/client/v3/login" >/dev/null; do
docker ps -a
docker logs "$HOMESERVER_IMPLEMENTATION" docker logs "$HOMESERVER_IMPLEMENTATION"
sleep 5 sleep 5
done done

View File

@ -1,5 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
docker run -d \
docker run -d --rm \
-e CONDUIT_CONFIG="" \ -e CONDUIT_CONFIG="" \
-e CONDUIT_SERVER_NAME="famedlysdk.test" \ -e CONDUIT_SERVER_NAME="famedlysdk.test" \
-e CONDUIT_PORT="80" \ -e CONDUIT_PORT="80" \
@ -10,5 +11,4 @@
-e CONDUIT_TRUSTED_SERVERS="[\"conduit.rs\"]" \ -e CONDUIT_TRUSTED_SERVERS="[\"conduit.rs\"]" \
-e CONDUIT_MAX_CONCURRENT_REQUESTS="100" \ -e CONDUIT_MAX_CONCURRENT_REQUESTS="100" \
-e CONDUIT_LOG="info,rocket=off,_=off,sled=off" \ -e CONDUIT_LOG="info,rocket=off,_=off,sled=off" \
$NETWORK \
--name conduit -p 80:80 matrixconduit/matrix-conduit:v0.6.0 --name conduit -p 80:80 matrixconduit/matrix-conduit:v0.6.0

View File

@ -1,14 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
chown -R 991:991 test_driver/dendrite
# creating integration test SSL certificates # creating integration test SSL certificates
docker run --rm --entrypoint="" \ docker run --rm --entrypoint="" \
--volume="$(pwd)/test_driver/dendrite/data":/mnt:rw \ --volume="$(pwd)/test_driver/dendrite/data":/etc/dendrite:rw \
matrixdotorg/dendrite-monolith:latest \ matrixdotorg/dendrite-monolith:latest \
/usr/bin/generate-keys \ /usr/bin/generate-keys \
-private-key /mnt/matrix_key.pem \ -private-key /etc/dendrite/matrix_key.pem \
-tls-cert /mnt/server.crt \ -tls-cert /etc/dendrite/server.crt \
-tls-key /mnt/server.key -tls-key /etc/dendrite/server.key
docker run -d --volume="$(pwd)/test_driver/dendrite/data":/etc/dendrite:rw \ docker run -d --volume="$(pwd)/test_driver/dendrite/data":/etc/dendrite:rw \
--name dendrite $NETWORK -p 80:8008 matrixdotorg/dendrite-monolith:latest -really-enable-open-registration --name dendrite -p 80:8008 matrixdotorg/dendrite-monolith:latest -really-enable-open-registration

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
docker run -d --name synapse --tmpfs /data $NETWORK \ docker run -d --rm --name synapse --tmpfs /data \
--volume="$(pwd)/test_driver/synapse/data/homeserver.yaml":/data/homeserver.yaml:rw \ --volume="$(pwd)/test_driver/synapse/data/homeserver.yaml":/data/homeserver.yaml:rw \
--volume="$(pwd)/test_driver/synapse/data/localhost.log.config":/data/localhost.log.config:rw \ --volume="$(pwd)/test_driver/synapse/data/localhost.log.config":/data/localhost.log.config:rw \
-p 80:80 matrixdotorg/synapse:latest -p 80:80 matrixdotorg/synapse:latest

View File

@ -2,5 +2,5 @@
if which flutter >/dev/null; then if which flutter >/dev/null; then
flutter --no-version-check test test_driver/matrixsdk_test.dart --dart-define=HOMESERVER=$HOMESERVER --dart-define=USER1_NAME=$USER1_NAME --dart-define=USER2_NAME=$USER2_NAME --dart-define=USER3_NAME=$USER3_NAME --dart-define=USER1_PW=$USER1_PW --dart-define=USER2_PW=$USER2_PW --dart-define=USER3_PW=$USER3_PW flutter --no-version-check test test_driver/matrixsdk_test.dart --dart-define=HOMESERVER=$HOMESERVER --dart-define=USER1_NAME=$USER1_NAME --dart-define=USER2_NAME=$USER2_NAME --dart-define=USER3_NAME=$USER3_NAME --dart-define=USER1_PW=$USER1_PW --dart-define=USER2_PW=$USER2_PW --dart-define=USER3_PW=$USER3_PW
else else
dart -D HOMESERVER=$HOMESERVER -D USER1_NAME=$USER1_NAME -D USER2_NAME=$USER2_NAME -D USER3_NAME=$USER3_NAME -D USER1_PW=$USER1_PW -D USER2_PW=$USER2_PW -D USER3_PW=$USER3_PW test test_driver/matrixsdk_test.dart -p vm dart --define=HOMESERVER=$HOMESERVER --define=USER1_NAME=$USER1_NAME --define=USER2_NAME=$USER2_NAME --define=USER3_NAME=$USER3_NAME --define=USER1_PW=$USER1_PW --define=USER2_PW=$USER2_PW --define=USER3_PW=$USER3_PW test test_driver/matrixsdk_test.dart -p vm
fi fi

View File

@ -486,9 +486,8 @@ void main() => group('Integration tests', () {
Logs().i('++++ (Alice) Create DM ++++'); Logs().i('++++ (Alice) Create DM ++++');
final dmRoom = await testClientA.startDirectChat(testClientB.userID!); final dmRoom = await testClientA.startDirectChat(testClientB.userID!);
// conduit returns the room on sync first, so we check if it has already been returned first.
if (testClientB.getRoomById(dmRoom)?.membership != if (testClientB.getRoomById(dmRoom) == null) {
Membership.invite) {
await testClientB.waitForRoomInSync(dmRoom, invite: true); await testClientB.waitForRoomInSync(dmRoom, invite: true);
} }