Skip to content

Feat/contributor web wallet extension #227

Feat/contributor web wallet extension

Feat/contributor web wallet extension #227

name: Verify Heka Identity Service changes
on:
pull_request:
branches:
- main
paths:
- 'heka-identity-service/**'
- '.github/workflows/heka-identity-service-verify.yml'
# This allows a subsequently queued workflow run to interrupt previous runs
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
permissions:
checks: write
pull-requests: write
contents: write
jobs:
verify:
defaults:
run:
working-directory: ./heka-identity-service
name: Build and check
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
env:
POSTGRES_DB: heka-identity-service
POSTGRES_USER: heka
POSTGRES_PASSWORD: heka1
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
with:
egress-policy: audit
- name: Prepare Github Runner
uses: pandaswhocode/initialize-github-job@ffb7446339e8e6007b942312ac95457d1a20b6cf # v1.0.4
with:
checkout: 'true'
checkout-ref: '${{ github.ref }}'
checkout-token: '${{ secrets.GITHUB_TOKEN }}'
setup-node: 'true'
node-version: '22'
- name: Enable Corepack
run: corepack enable
shell: bash
- name: Install dependencies
run: yarn install --immutable
shell: bash
- name: Run typecheck
run: yarn check-types
- name: Run ESLint
run: yarn lint-check
- name: Run tests
env:
FORCE_COLOR: 1
NODE_OPTIONS: --max-old-space-size=6144
MIKRO_ORM_HOST: localhost
MIKRO_ORM_PORT: 5432
MIKRO_ORM_USER: heka
MIKRO_ORM_PASSWORD: heka1
WALLET_POSTGRES_HOST: localhost
EXPRESS_HOST: localhost
FILE_STORAGE_FS_URL: http://localhost:3000
APP_ENDPOINT: http://localhost:3000
run: yarn test:coverage
- name: Report coverage
uses: davelosert/vitest-coverage-report-action@15b5b41bb7d36796d89f4bf482b09529c53f3446 # v2.9.2
with:
working-directory: ./heka-identity-service
json-summary-path: ./coverage/coverage-summary.json
json-final-path: ./coverage/coverage-final.json