Skip to content

chore:(deps-dev): bump @types/node from 18.19.3 to 18.19.31 #7424

chore:(deps-dev): bump @types/node from 18.19.3 to 18.19.31

chore:(deps-dev): bump @types/node from 18.19.3 to 18.19.31 #7424

name: build-and-test
on:
pull_request:
push:
branches:
- main
jobs:
npm-install-if-needed:
runs-on: ubuntu-22.04
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Node 18
uses: actions/setup-node@v4
with:
node-version: 18
cache: 'npm'
- id: cache
name: Cache node modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('package-lock.json') }}
- name: NPM Install
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci
build:
runs-on: ubuntu-22.04
needs: [ npm-install-if-needed ]
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Node 18
uses: actions/setup-node@v4
with:
node-version: 18
- name: Restore node modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('package-lock.json') }}
- name: Build
run: npm run build:ci
- name: Archive build artifacts
uses: actions/upload-artifact@v3
with:
name: dist
path: dist
lint:
runs-on: ubuntu-22.04
needs: [ npm-install-if-needed ]
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Node 18
uses: actions/setup-node@v4
with:
node-version: 18
- name: Restore node modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('package-lock.json') }}
- name: Lint
run: npm run lint
- name: Prettier Check
run: npm run prettier:check
test:
name: test (chunk ${{ matrix.chunk }})
runs-on: ubuntu-22.04
needs: [ npm-install-if-needed ]
strategy:
fail-fast: false
matrix:
chunk: [1, 2, 3, 4]
steps:
- name: Check out code
uses: actions/checkout@v4
# Used by CCI uploader to detect base commit
with:
fetch-depth: 0
- name: Restore node modules
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('package-lock.json') }}
- name: Test
run: npm run test:ci -- --shard=${{ matrix.chunk }}/${{ strategy.job-total }}
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true
- name: Upload Unit Test Results
if: success() || failure()
uses: actions/upload-artifact@v3
with:
name: Unit Test Results (chunk ${{ matrix.chunk }})
path: test-results/**/*.xml
validate-helm-charts:
runs-on: ubuntu-22.04
steps:
- name: Check out code
uses: actions/checkout@v4
- name: validate charts
uses: hypertrace/github-actions/validate-charts@main
publish-test-results:
name: "Publish Unit Tests Results"
needs: test
runs-on: ubuntu-22.04
# Only run if prereq jobs completed - successfully or not
if: success() || failure()
steps:
- name: Download Artifacts
uses: actions/download-artifact@v3
with:
path: artifacts
- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
continue-on-error: true
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
files: artifacts/**/*.xml
merge-publish:
if: github.event_name == 'push'
runs-on: ubuntu-22.04
needs: [ npm-install-if-needed, build, lint, test, validate-helm-charts ]
steps:
- name: Check out code
uses: actions/checkout@v4
# Used by gradle version calculation
with:
fetch-depth: 0
- name: Download build results
uses: actions/download-artifact@v3
with:
name: dist
path: dist
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_READ_USER }}
password: ${{ secrets.DOCKERHUB_READ_TOKEN }}
- name: Push docker image
uses: hypertrace/github-actions/gradle@main
with:
args: dockerPushImages
env:
DOCKER_USERNAME: ${{ secrets.DOCKERHUB_PUBLISH_USER }}
DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_PUBLISH_TOKEN }}