chore(deps): update dependency @typescript/native-preview to v7.0.0-dev.20260104.1 #3490
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
| # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node | |
| # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
| name: Node.js CI | |
| on: | |
| push: | |
| tags: v* | |
| branches: ['main'] | |
| pull_request: | |
| branches: ['main'] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| strategy: | |
| matrix: | |
| node-version: [20.x] | |
| # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | |
| env: | |
| VITE_API_BASE_URL: '/devtable-api/' | |
| VITE_WEBSITE_BASE_URL: '/devtable/website/' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'yarn' | |
| # Cache Nx | |
| - name: Cache Nx | |
| uses: actions/cache@v4 | |
| with: | |
| path: .nx | |
| key: ${{ runner.os }}-nx-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-nx- | |
| - run: yarn install --frozen-lockfile | |
| - uses: nrwl/nx-set-shas@v3 | |
| - run: yarn exec nx affected --target=check,test --configuration=ci | |
| - run: yarn exec nx run-many -t build -p website api dashboard settings-form --parallel=3 | |
| - name: Archive artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist | |
| path: | | |
| website/dist | |
| api/_build | |
| dashboard/dist | |
| settings-form/dist | |
| publish_npm: | |
| if: github.ref == 'refs/heads/main' | |
| needs: build | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write # Required for OIDC | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'yarn' | |
| registry-url: 'https://registry.npmjs.org' | |
| # Ensure npm 11.5.1 or later is installed | |
| - name: Update npm | |
| run: npm install -g npm@latest | |
| # Cache Nx | |
| - name: Cache Nx | |
| uses: actions/cache@v4 | |
| with: | |
| path: node_modules/.cache/nx | |
| key: ${{ runner.os }}-nx-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-nx- | |
| - run: yarn install --frozen-lockfile | |
| # Download build artifacts from build job | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: dist | |
| # Check if dashboard version is already published | |
| - name: Check dashboard version on npm | |
| id: check_dashboard | |
| continue-on-error: true | |
| run: yarn exec nx run dashboard:is-published | |
| # Check if settings-form version is already published | |
| - name: Check settings-form version on npm | |
| id: check_settings_form | |
| continue-on-error: true | |
| run: yarn exec nx run settings-form:is-published | |
| # Publish dashboard to npm | |
| - name: Publish dashboard to npm | |
| if: steps.check_dashboard.outcome == 'success' && github.ref == 'refs/heads/main' | |
| run: | | |
| cd dashboard | |
| npm publish --provenance --access public | |
| # Publish settings-form to npm | |
| - name: Publish settings-form to npm | |
| if: steps.check_settings_form.outcome == 'success' && github.ref == 'refs/heads/main' | |
| run: | | |
| cd settings-form | |
| npm publish --provenance --access public | |
| # only runs on the main branch or tags | |
| build_images: | |
| if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/') | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 | |
| - name: commit push | |
| run: | | |
| docker info | |
| pwd | |
| ls | |
| - name: docker login | |
| uses: docker/[email protected] | |
| with: | |
| registry: registry.cn-hongkong.aliyuncs.com | |
| username: devops@1148299792416188 | |
| password: ${{ secrets.REGISTRY_HONGKONG_SECRET }} | |
| - name: Extract branch name | |
| shell: bash | |
| run: echo "BRANCH=${GITHUB_REF_NAME/\//_}" >> $GITHUB_OUTPUT | |
| id: extract_branch | |
| - name: Get current date | |
| id: date | |
| run: echo "TODAY=$(date +'%y%m%d_%H%M')" >> $GITHUB_OUTPUT | |
| - name: Get commit | |
| id: commitid | |
| run: echo "COMMIT_ID=${GITHUB_SHA:0:7}" >> $GITHUB_OUTPUT | |
| - name: image tag | |
| id: tag | |
| run: | | |
| # if triggered by tag, use tag as image tag | |
| if [[ $GITHUB_REF == refs/tags/* ]]; then | |
| echo "TAG=${GITHUB_REF_NAME}" >> $GITHUB_OUTPUT | |
| else | |
| echo "TAG=${{ steps.extract_branch.outputs.BRANCH }}_${{ steps.date.outputs.TODAY }}_${{ steps.commitid.outputs.COMMIT_ID }}" >> $GITHUB_OUTPUT | |
| fi | |
| - name: env | |
| run: | | |
| echo "VITE_API_BASE_URL=/devtable-api/" > website/.env | |
| echo "VITE_WEBSITE_BASE_URL=/devtable/website/" >> website/.env | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: dist | |
| - name: Setup buildx | |
| run: docker buildx create --use | |
| - name: Build table image | |
| run: docker buildx build --platform linux/amd64,linux/arm64 -f Dockerfile-api -t registry.cn-hongkong.aliyuncs.com/merico/table:${{ steps.tag.outputs.TAG }} . --push | |
| - name: Build table website image | |
| run: docker buildx build --platform linux/amd64,linux/arm64 -f Dockerfile-website -t registry.cn-hongkong.aliyuncs.com/merico/table-website:${{ steps.tag.outputs.TAG }} . --push | |
| - name: Trigger GitLab CI pipeline | |
| # only runs if the previous step was successful | |
| if: success() | |
| uses: eic/trigger-gitlab-ci@v3 | |
| with: | |
| token: ${{ secrets.GITLAB_TOKEN }} | |
| project_id: ${{ secrets.GITLAB_PROJECT_ID }} | |
| ref_name: main | |
| url: ${{ secrets.GITLAB_URL }} |