feat: implement database service for user management and connection validation #9350
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Node.js | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
merge_group: | |
jobs: | |
build-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [20.x, 22.x, 23.x] | |
steps: | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 | |
with: | |
fetch-depth: 0 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v4.0.0 | |
- name: Install and test | |
run: | | |
pnpm install | |
make test | |
env: | |
CODECOV_UPLOAD_BUNDLE_TOKEN: ${{ secrets.CODECOV_UPLOAD_BUNDLE_TOKEN }} | |
- name: Codecov install cli | |
if: ${{ always() }} # using always() to always run this step because i am uploading test results and coverage in one step | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
run: | | |
pip install --user pytest | |
pip install --user codecov-cli | |
- name: Codecov create comit and report | |
if: ${{ always() }} # using always() to always run this step because i am uploading test results and coverage in one step | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
run: | | |
codecovcli --verbose create-commit --fail-on-error | |
codecovcli --verbose create-report --fail-on-error | |
- name: Codecov upload test results | |
if: ${{ always() }} # using always() to always run this step because i am uploading test results and coverage in one step | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
run: | | |
codecovcli do-upload --report-type test_results --file mcos.junit.xml | |
- name: Codecov upload coverage | |
if: ${{ always() }} # using always() to always run this step because i am uploading test results and coverage in one step | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
run: | | |
codecovcli --verbose do-upload --fail-on-error --name ${{ matrix.node-version }} | |
- uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4 | |
with: | |
name: coverage_${{ matrix.node-version }} | |
path: coverage |