4444 # CHROME_VERSION: "90.0.4430.212-1"
4545 # Bump Node heap size (OOM in CI after upgrading to Angular 15)
4646 NODE_OPTIONS : ' --max-old-space-size=4096'
47+ # Project name to use when running docker compose prior to e2e tests
48+ COMPOSE_PROJECT_NAME : ' ci'
4749 strategy :
4850 # Create a matrix of Node versions to test against (in parallel)
4951 matrix :
@@ -54,11 +56,11 @@ jobs:
5456 steps :
5557 # https://github.com/actions/checkout
5658 - name : Checkout codebase
57- uses : actions/checkout@v3
59+ uses : actions/checkout@v4
5860
5961 # https://github.com/actions/setup-node
6062 - name : Install Node.js ${{ matrix.node-version }}
61- uses : actions/setup-node@v3
63+ uses : actions/setup-node@v4
6264 with :
6365 node-version : ${{ matrix.node-version }}
6466
8385 id : yarn-cache-dir-path
8486 run : echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
8587 - name : Cache Yarn dependencies
86- uses : actions/cache@v3
88+ uses : actions/cache@v4
8789 with :
8890 # Cache entire Yarn cache directory (see previous step)
8991 path : ${{ steps.yarn-cache-dir-path.outputs.dir }}
@@ -113,7 +115,7 @@ jobs:
113115 uses : actions/upload-artifact@v4
114116 if : matrix.node-version == '18.x'
115117 with :
116- name : dspace-angular coverage report
118+ name : coverage-report-${{ matrix.node-version }}
117119 path : ' coverage/dspace-angular/lcov.info'
118120 retention-days : 14
119121
@@ -129,7 +131,7 @@ jobs:
129131 # https://github.com/cypress-io/github-action
130132 # (NOTE: to run these e2e tests locally, just use 'ng e2e')
131133 - name : Run e2e tests (integration tests)
132- uses : cypress-io/github-action@v5
134+ uses : cypress-io/github-action@v6
133135 with :
134136 # Run tests in Chrome, headless mode (default)
135137 browser : chrome
@@ -147,7 +149,7 @@ jobs:
147149 uses : actions/upload-artifact@v4
148150 if : always()
149151 with :
150- name : e2e-test-videos
152+ name : e2e-test-videos-${{ matrix.node-version }}
151153 path : cypress/videos
152154
153155 # If e2e tests fail, Cypress creates a screenshot of what happened
@@ -156,7 +158,7 @@ jobs:
156158 uses : actions/upload-artifact@v4
157159 if : failure()
158160 with :
159- name : e2e-test-screenshots
161+ name : e2e-test-screenshots-${{ matrix.node-version }}
160162 path : cypress/screenshots
161163
162164 - name : Stop app (in case it stays up after e2e tests)
@@ -193,31 +195,36 @@ jobs:
193195 - name : Shutdown Docker containers
194196 run : docker compose -f ./docker/docker-compose-ci.yml down
195197
196- # # Codecov upload is a separate job in order to allow us to restart this separate from the entire build/test
197- # # job above. This is necessary because Codecov uploads seem to randomly fail at times.
198- # # See https://community.codecov.com/t/upload-issues-unable-to-locate-build-via-github-actions-api/3954
198+ # Codecov upload is a separate job in order to allow us to restart this separate from the entire build/test
199+ # job above. This is necessary because Codecov uploads seem to randomly fail at times.
200+ # See https://community.codecov.com/t/upload-issues-unable-to-locate-build-via-github-actions-api/3954
199201# codecov:
200202# # Must run after 'tests' job above
201203# needs: tests
202204# runs-on: ubuntu-latest
203205# steps:
204206# - name: Checkout
205- # uses: actions/checkout@v3
207+ # uses: actions/checkout@v4
206208#
207209# # Download artifacts from previous 'tests' job
208210# - name: Download coverage artifacts
209- # uses: actions/download-artifact@v3
211+ # uses: actions/download-artifact@v4
210212#
211213# # Now attempt upload to Codecov using its action.
212214# # NOTE: We use a retry action to retry the Codecov upload if it fails the first time.
213215# #
214216# # Retry action: https://github.com/marketplace/actions/retry-action
215217# # Codecov action: https://github.com/codecov/codecov-action
216218# - name: Upload coverage to Codecov.io
217- # uses: Wandalen/wretry.action@v1.0.36
219+ # uses: Wandalen/wretry.action@v1.3.0
218220# with:
219- # action: codecov/codecov-action@v3
220- # # Try upload 5 times max
221+ # action: codecov/codecov-action@v4
222+ # # Ensure codecov-action throws an error when it fails to upload
223+ # # This allows us to auto-restart the action if an error is thrown
224+ # with: |
225+ # fail_ci_if_error: true
226+ # token: ${{ secrets.CODECOV_TOKEN }}
227+ # # Try re-running action 5 times max
221228# attempt_limit: 5
222229# # Run again in 30 seconds
223230# attempt_delay: 30000
0 commit comments