name: CI on: push: branches: [ main ] pull_request: branches: [ main ] # Allows running this workflow manually from the Actions tab workflow_dispatch: jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: [3.9] node-version: [14.x] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install Python packages run: | pip install virtualenv yarn run install:python - name: Install Node.js packages run: yarn install - name: Build Node.js code run: yarn run build:prod - name: Run smoke test run: VERBOSE=1 DEBUG=1 MOCHA_WEBDRIVER_HEADLESS=1 yarn run test:smoke - name: Run python tests run: yarn run test:python - name: Run main tests run: MOCHA_WEBDRIVER_HEADLESS=1 yarn run test - name: Update candidate branch if: ${{ github.event_name == 'push' }} uses: ad-m/github-push-action@8407731efefc0d8f72af254c74276b7a90be36e1 with: github_token: ${{ secrets.GITHUB_TOKEN }} branch: latest_candidate force: true