Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
226 changes: 0 additions & 226 deletions .circleci/config.yml

This file was deleted.

140 changes: 140 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
name: build-and-test
on:
pull_request:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2

- name: Cache node modules
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-${{ hashFiles('package.json') }}-
${{ runner.os }}-node-

- name: NPM Install
run: npm ci

- name: Build
run: npm run build:ci

- name: Archive build artifacts
uses: actions/upload-artifact@v2
with:
name: dist
path: dist
lint:
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2

- name: Cache node modules
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-${{ hashFiles('package.json') }}-
${{ runner.os }}-node-
- name: NPM Install
run: npm ci

- name: Lint
run: npm run lint

- name: Prettier Check
run: npm run prettier:check
test:
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2
# Used by CCI uploader to detect base commit
with:
fetch-depth: 0

- name: Cache node modules
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-${{ hashFiles('package.json') }}-
${{ runner.os }}-node-

- name: NPM Install
run: npm ci

- name: Test
run: npm run test:ci

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
fail_ci_if_error: true

- name: Publish Unit Test Results
uses: docker://ghcr.io/enricomi/publish-unit-test-result-action:v1.6
if: always()
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
files: test-results/**/*.xml
validate-helm-charts:
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up Helm
uses: azure/setup-helm@v1
with:
version: v3.3.0
- name: validate charts
uses: hypertrace/actions/validate-charts@main
merge-publish:
if: github.event_name == 'push'
runs-on: ubuntu-20.04
needs: [build, lint, test, validate-helm-charts]
steps:
- name: Check out code
uses: actions/checkout@v2
# Used by gradle version calculation
with:
fetch-depth: 0

- name: Create checksum file
uses: hypertrace/actions/checksum@main

- name: Cache gradle
uses: actions/cache@v2
with:
path: ~/.gradle
key: gradle-${{ runner.os }}-${{ hashFiles('**/checksum.txt') }}
restore-keys: |
gradle-${{ runner.os }}

- name: Download build results
uses: actions/download-artifact@v2
with:
name: dist
path: dist

- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_READ_USER }}
password: ${{ secrets.DOCKERHUB_READ_TOKEN }}

- name: Push docker image
run: ./gradlew dockerPushImages
env:
DOCKER_USERNAME: ${{ secrets.DOCKERHUB_PUBLISH_USER }}
DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_PUBLISH_TOKEN }}
Loading