diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index f692a713..702fe3c5 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -41,12 +41,12 @@ jobs: name: lib path: ${{ github.workspace }}/lib retention-days: 1 - node14: + node16: runs-on: ubuntu-latest timeout-minutes: 15 needs: [build] env: - NODE_VERSION: 14 + NODE_VERSION: 16 steps: - name: Сheckout repo uses: actions/checkout@v3 @@ -78,12 +78,49 @@ jobs: run: echo $SERVICE_ACCOUNT>serviceAccount.json - name: Run emulator run: npm run cov - node16: + node18: runs-on: ubuntu-latest timeout-minutes: 15 - needs: [build, node14] + needs: [build, node16] env: - NODE_VERSION: 16 + NODE_VERSION: 18 + steps: + - name: Сheckout repo + uses: actions/checkout@v3 + - name: Unarchiving lib directory + uses: actions/download-artifact@v3 + with: + name: lib + path: ${{ github.workspace }}/lib + - name: Use Node.js ${{ env.NODE_VERSION }} + uses: actions/setup-node@v3 + with: + node-version: ${{ env.NODE_VERSION }} + - name: Cache node modules + uses: actions/cache@v3 + env: + cache-name: cache-node-modules + with: + path: ~/.npm + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + - name: Install dependencies + run: npm ci + - name: Install emulator and test library + run: sudo npm install firebase-tools -g + - name: Set service account + run: echo $SERVICE_ACCOUNT>serviceAccount.json + - name: Run emulator + run: npm run cov + node20: + runs-on: ubuntu-latest + timeout-minutes: 15 + needs: [build, node16, node18] + env: + NODE_VERSION: 20 steps: - name: Сheckout repo uses: actions/checkout@v3 @@ -115,40 +152,3 @@ jobs: run: echo $SERVICE_ACCOUNT>serviceAccount.json - name: Run emulator run: npm run cov - # node18: - # runs-on: ubuntu-latest - # timeout-minutes: 15 - # needs: [build, node14, node16] - # env: - # NODE_VERSION: 18 - # steps: - # - name: Сheckout repo - # uses: actions/checkout@v3 - # - name: Unarchiving lib directory - # uses: actions/download-artifact@v3 - # with: - # name: lib - # path: ${{ github.workspace }}/lib - # - name: Use Node.js ${{ env.NODE_VERSION }} - # uses: actions/setup-node@v3 - # with: - # node-version: ${{ env.NODE_VERSION }} - # - name: Cache node modules - # uses: actions/cache@v3 - # env: - # cache-name: cache-node-modules - # with: - # path: ~/.npm - # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} - # restore-keys: | - # ${{ runner.os }}-build-${{ env.cache-name }}- - # ${{ runner.os }}-build- - # ${{ runner.os }}- - # - name: Install dependencies - # run: npm ci - # - name: Install emulator and test library - # run: sudo npm install firebase-tools -g - # - name: Set service account - # run: echo $SERVICE_ACCOUNT>serviceAccount.json - # - name: Run emulator - # run: npm run cov