name: "Tests" concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true on: [pull_request] jobs: tests: name: Unit & E2E runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. fetch-depth: 2 # Fetch submodules submodules: recursive # If this run was triggered by a pull request event, then checkout # the head of the pull request instead of the merge commit. - run: git checkout HEAD^2 if: ${{ github.event_name == 'pull_request' }} # This is a separate action that sets up buildx runner - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Build Appwrite uses: docker/build-push-action@v3 with: context: . push: false tags: appwrite-dev load: true cache-from: type=gha cache-to: type=gha,mode=max build-args: | DEBUG=false TESTING=true VERSION=dev - name: Start Appwrite run: | docker compose up -d sleep 30 - name: Doctor run: docker compose exec -T appwrite doctor - name: Environment Variables run: docker compose exec -T appwrite vars - name: Run Tests run: docker compose exec -T appwrite test --debug