2020-11-24 10:22:27 +01:00
|
|
|
name: Build & Tests
|
|
|
|
|
2020-12-21 15:58:07 +01:00
|
|
|
on:
|
2021-01-06 13:56:44 +01:00
|
|
|
push:
|
2021-03-04 14:27:43 +01:00
|
|
|
branches:
|
2021-12-23 14:12:19 +01:00
|
|
|
- main
|
2021-06-04 15:33:47 +02:00
|
|
|
paths-ignore:
|
2021-10-25 18:54:46 +02:00
|
|
|
- website/**
|
2022-05-20 11:59:42 +02:00
|
|
|
- coverage/**
|
2021-03-04 14:27:43 +01:00
|
|
|
|
2020-11-24 10:22:27 +01:00
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2021-08-11 12:58:05 +02:00
|
|
|
node-version: [14.x, 16.x]
|
2020-11-24 10:22:27 +01:00
|
|
|
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: >-
|
2022-06-09 14:26:35 +02:00
|
|
|
--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
|
|
|
|
2022-07-01 13:51:26 +02:00
|
|
|
|
2020-11-24 10:22:27 +01:00
|
|
|
steps:
|
2022-06-09 14:26:35 +02:00
|
|
|
- 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
|
2022-11-14 11:01:07 +01:00
|
|
|
- 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
|
2022-10-14 16:48:03 +02:00
|
|
|
|
|
|
|
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 }}
|
2022-10-31 14:05:26 +01:00
|
|
|
COMMITS: ${{ toJSON(github.event.commits[*].id) }}
|
|
|
|
SLUG: ${{ github.event.repository.full_name }}
|
2022-10-14 16:48:03 +02:00
|
|
|
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 \
|
2022-10-31 14:05:26 +01:00
|
|
|
-d "{\"event_type\":\"trigger-unleash-cloud-build\",\"client_payload\":{\"source\":\"${SLUG}\",\"commits\":${COMMITS}}}"
|