name: AppFlowy-Cloud Integrations on: push: branches: [ main ] pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] env: SQLX_VERSION: 0.7.1 SQLX_FEATURES: "rustls,postgres" jobs: test: name: Docker runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 with: workspaces: | AppFlowy-Cloud - name: Copy and rename dev.env to .env run: cp dev.env .env - name: Replace values in .env run: | sed -i 's/GOTRUE_SMTP_USER=.*/GOTRUE_SMTP_USER=${{ secrets.GOTRUE_SMTP_USER }}/' .env sed -i 's/GOTRUE_SMTP_PASS=.*/GOTRUE_SMTP_PASS=${{ secrets.GOTRUE_SMTP_PASS }}/' .env sed -i 's/GOTRUE_SMTP_ADMIN_EMAIL=.*/GOTRUE_SMTP_ADMIN_EMAIL=${{ secrets.GOTRUE_SMTP_ADMIN_EMAIL }}/' .env sed -i 's/GOTRUE_REGISTERED_EMAIL=.*/GOTRUE_REGISTERED_EMAIL=$GOTRUE_REGISTERED_EMAIL/' .env sed -i 's/GOTRUE_REGISTERED_PASSWORD=.*/GOTRUE_REGISTERED_PASSWORD=$GOTRUE_REGISTERED_PASSWORD/' .env sed -i 's/GOTRUE_MAILER_AUTOCONFIRM=.*/GOTRUE_MAILER_AUTOCONFIRM=true/' .env - name: Run Docker-Compose run: | docker-compose up -d - name: Add registered user run: | # temporary allow signup without email verification export GOTRUE_MAILER_AUTOCONFIRM=true docker-compose up -d sleep 5 # sometimes the gotrue server may not be ready yet source .env curl localhost:9998/signup \ --data-raw '{"email":"'"$GOTRUE_REGISTERED_EMAIL_1"'","password":"'"$GOTRUE_REGISTERED_PASSWORD_1"'"}' \ --header 'Content-Type: application/json' source .env curl localhost:9998/signup \ --data-raw '{"email":"'"$GOTRUE_REGISTERED_EMAIL_2"'","password":"'"$GOTRUE_REGISTERED_PASSWORD_2"'"}' \ --header 'Content-Type: application/json' # revert to require signup email verification export GOTRUE_MAILER_AUTOCONFIRM=false docker-compose up -d - name: Run tests run: | cargo install sqlx-cli --version=${{ env.SQLX_VERSION }} --features ${{ env.SQLX_FEATURES }} --no-default-features --locked cargo test