name: SNJS PR — E2E Tests on: pull_request: branches: - main paths: - 'packages/api/**' - 'packages/encryption/**' - 'packages/features/**' - 'packages/filepicker/**' - 'packages/files/**' - 'packages/models/**' - 'packages/responses/**' - 'packages/services/**' - 'packages/sncrypto-common/**' - 'packages/sncrypto-web/**' - 'packages/snjs/**' - 'packages/utils/**' workflow_dispatch: jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 with: token: ${{ secrets.CI_PAT_TOKEN }} fetch-depth: 0 - name: Set up Node uses: actions/setup-node@v3 with: registry-url: 'https://registry.npmjs.org' node-version-file: '.nvmrc' cache: 'yarn' - name: Install dependencies run: yarn install --immutable - name: Build run: yarn build:snjs - name: ESLint run: yarn lint - name: Test run: yarn test build-docker: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 with: token: ${{ secrets.CI_PAT_TOKEN }} fetch-depth: 0 - name: Set up Node uses: actions/setup-node@v3 with: registry-url: 'https://registry.npmjs.org' node-version-file: '.nvmrc' cache: 'yarn' - name: Install dependencies run: yarn install --immutable - name: Build run: yarn build:snjs - name: Login to Docker Hub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Publish SNJS Docker image for E2E testing run: | yarn docker build @standardnotes/snjs -t standardnotes/snjs:${{ github.sha }} docker push standardnotes/snjs:${{ github.sha }} docker tag standardnotes/snjs:${{ github.sha }} standardnotes/snjs:test docker push standardnotes/snjs:test e2e-base: name: E2E Base Test Suite needs: build-docker uses: standardnotes/server/.github/workflows/common-e2e.yml@main with: snjs_image_tag: ${{ github.sha }} suite: base secrets: inherit e2e-vaults: name: E2E Vaults Test Suite needs: build-docker uses: standardnotes/server/.github/workflows/common-e2e.yml@main with: snjs_image_tag: ${{ github.sha }} suite: vaults secrets: inherit