feat(dataset-table): add inline editing for editable columns #4380
This file contains hidden or 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: 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 |