name: Build & Tests on: push: branches: - main paths-ignore: - website/** - coverage/** jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [14.x, 16.x] services: # Label used to access the service container postgres: # Docker Hub image image: postgres # Provide the password for postgres env: POSTGRES_PASSWORD: postgres # Set health checks to wait until postgres has started ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} cache: 'yarn' - run: yarn - run: yarn lint - run: yarn run test env: CI: true TEST_DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres DATABASE_URL: postgres://postgres:postgres@localhost:5432/postgres - 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: ${{ secrets.AWS_DEFAULT_REGION }} - name: Publish static assets to S3 run: | aws s3 cp frontend/build s3://getunleash-static/unleash/main/$(git rev-parse HEAD) --recursive trigger-ci-build: runs-on: ubuntu-latest needs: [build] if: github.event.commits && github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v2 - name: Trigger CI build env: UNLEASH_CI_BUILDER_GITHUB_TOKEN: ${{ secrets.UNLEASH_CI_BUILDER_GITHUB_TOKEN }} COMMITS: ${{ toJSON(github.event.commits[*].id) }} SLUG: ${{ github.event.repository.full_name }} run: | curl -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${UNLEASH_CI_BUILDER_GITHUB_TOKEN}" \ https://api.github.com/repos/bricks-software/unleash-ci-builder/dispatches \ -d "{\"event_type\":\"trigger-unleash-cloud-build\",\"client_payload\":{\"source\":\"${SLUG}\",\"commits\":${COMMITS}}}"