# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node. # It then publish a packages to npm registry when PR against a given target branch is merged. # For more information on github actions see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions # For more information on publishing packages see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages name: Node.js CI on: push: branches: [ "master" ] pull_request: branches: [ "master" ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [16.x, 18.x, 20.x] steps: - uses: actions/checkout@v3 # with: # fetch-depth: 0 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} # TODO: enable `rush change -v` after rush migration is completed. # - name: Verify Change files and fail build if not available # run: node common/scripts/install-run-rush.js change --verify - name: Install run: node common/scripts/install-run-rush.js install - name: Build run: node common/scripts/install-run-rush.js rebuild --verbose - name: Test run: node common/scripts/install-run-rush.js test --verbose