From ae13da59b44b21d40a4e79902e8ff2082c94cbc0 Mon Sep 17 00:00:00 2001 From: getlarge Date: Wed, 16 Feb 2022 07:38:57 +0100 Subject: [PATCH] ci: create GH action workflow --- .github/workflows/ci.yaml | 65 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..1884ceb --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,65 @@ +name: 'JS BigChainDB driver CI' + +on: + push: + branches: + - main + paths-ignore: + - README.md + - API.md + - docs/*.rst + pull_request: + branches: + - main + types: + - ready_for_review + - opened + - reopened + - synchronize + paths-ignore: + - README.md + - API.md + - docs/*.rst + +jobs: + test: + runs-on: ubuntu-latest + if: github.event_name == 'release' || github.event_name == 'push' || !github.event.pull_request.draft + timeout-minutes: 10 + + steps: + - name: Checkout the commit + uses: actions/checkout@v2 + + - name: Set up Node + uses: actions/setup-node@v2 + with: + node-version: 14 + + - name: Cache dependencies + id: cache + uses: actions/cache@v2 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + + - name: Install dependencies + env: + HUSKY_SKIP_INSTALL: 'true' + run: npm install + + - name: Lint + run: npm run lint + + - name: Build + run: npm run build + + - name: Build docker + run: | + echo Building and starting up docker containers + docker-compose -f ./docker-compose.yml up + + - name: Test + run: npm run test