name: Budibase CI on: # Trigger the workflow on push or pull request, # but only for the master branch push: branches: - master - develop - new-design-ui pull_request: branches: - master - develop workflow_dispatch: env: BRANCH: ${{ github.event.pull_request.head.ref }} BASE_BRANCH: ${{ github.event.pull_request.base.ref}} PERSONAL_ACCESS_TOKEN : ${{ secrets.PERSONAL_ACCESS_TOKEN }} jobs: build: runs-on: ubuntu-latest strategy: matrix: 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: Install Pro run: yarn install:pro $BRANCH $BASE_BRANCH - run: yarn - run: yarn bootstrap - run: yarn lint - run: yarn build - run: yarn test env: CI: true name: Budibase CI - uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos files: ./packages/server/coverage/clover.xml name: codecov-umbrella verbose: true # TODO: parallelise this - name: Cypress run uses: cypress-io/github-action@v2 with: install: false command: yarn test:e2e:ci - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v1 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: eu-west-1 - name: Upload to S3 if: github.ref == 'refs/heads/new-design-ui' run: | tar -czvf new_ui.tar.gz packages/server/assets packages/server/index.html aws s3 cp new_ui.tar.gz s3://prod-budi-app-assets/beta:design_ui/ aws s3 cp packages/client/dist/budibase-client.js s3://prod-budi-app-assets/beta:design_ui/budibase-client.js