Skip to content

feat(dataset-table): add inline editing for editable columns #4380

feat(dataset-table): add inline editing for editable columns

feat(dataset-table): add inline editing for editable columns #4380

Workflow file for this run

name: Test
on:
pull_request:
branches:
- master
env:
NODE_VERSION: 22.x
jobs:
install-and-cache:
name: Run install and cache
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 18.x
- name: Cache node_modules
id: cached-node-modules
uses: actions/cache@v5
with:
path: node_modules
key: node-modules-${{ hashFiles('package-lock.json') }}-${{ env.NODE_VERSION }}
- name: Install dependencies
if: steps.cached-node-modules.outputs.cache-hit != 'true'
run: npm ci
eslint:
name: eslint
needs: [install-and-cache]
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
- name: Cache node_modules
id: cached-node-modules
uses: actions/cache@v5
with:
path: node_modules
key: node-modules-${{ hashFiles('package-lock.json') }}-${{ env.NODE_VERSION }}
- name: run eslint
run: npm run lint
test:
name: Run tests
runs-on: ubuntu-latest
needs: [install-and-cache]
steps:
- name: Check out
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
- name: Cache node_modules
id: cached-node-modules
uses: actions/cache@v5
with:
path: node_modules
key: node-modules-${{ hashFiles('package-lock.json') }}-${{ env.NODE_VERSION }}
- name: Install dependencies
if: steps.cached-node-modules.outputs.cache-hit != 'true'
run: npm ci
- name: Test
run: |
npm run -- test --code-coverage
npm run build
# save pr number for later use
# (see https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)
- name: Save PR number
run: |
echo ${{ github.event.number }} > ./coverage/PR
- uses: actions/upload-artifact@v7
with:
name: coverage
path: coverage/
e2etests:
name: Run E2E Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
- name: Run docker-compose
env:
DOI_USERNAME: ${{ secrets.DOI_TEST_USERNAME }}
DOI_PASSWORD: ${{ secrets.DOI_TEST_PASSWORD }}
run: |
cp CI/e2e/docker-compose.e2e.yaml docker-compose.yaml
docker compose pull
docker compose build --no-cache
docker compose up -d
- name: Start Background Resource Monitor for Docker Containers
run: |
nohup bash -c '
while true; do
echo "=== $(date) ==="
free -h
docker stats --no-stream
sleep 10
done
' > monitor.log 2>&1 &
- name: Run Cypress tests
uses: cypress-io/github-action@v7
with:
config-file: cypress.config.ts
browser: chrome
install-command: npm install --omit peer
- name: docker logs
if: ${{ failure() }}
run: |
docker compose logs backend
docker compose logs frontend
- name: Stop docker-compose
if: ${{ !cancelled() }}
run: |
docker compose down -v
- name: Output Docker Container Resource Monitor Logs
run: cat monitor.log
- uses: actions/upload-artifact@v7
if: ${{ failure() }}
with:
name: cypress-screenshots
path: cypress/screenshots
- uses: actions/upload-artifact@v7
if: ${{ failure() }}
with:
name: cypress-videos
path: cypress/videos