-
Notifications
You must be signed in to change notification settings - Fork 437
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2193 from tdonohue/update_actions
Split Codecov GitHub action to separate job & add retries. Update other actions.
- Loading branch information
Showing
3 changed files
with
43 additions
and
11 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -68,7 +68,7 @@ jobs: | |
# https://github.com/actions/cache/blob/main/examples.md#node---yarn | ||
- name: Get Yarn cache directory | ||
id: yarn-cache-dir-path | ||
run: echo "::set-output name=dir::$(yarn cache dir)" | ||
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT | ||
- name: Cache Yarn dependencies | ||
uses: actions/cache@v3 | ||
with: | ||
|
@@ -93,12 +93,16 @@ jobs: | |
- name: Run specs (unit tests) | ||
run: yarn run test:headless | ||
|
||
# Upload code coverage report to artifact (for one version of Node only), | ||
# so that it can be shared with the 'codecov' job (see below) | ||
# NOTE: Angular CLI only supports code coverage for specs. See https://github.com/angular/angular-cli/issues/6286 | ||
# Upload coverage reports to Codecov (for one version of Node only) | ||
# https://github.com/codecov/codecov-action | ||
- name: Upload coverage to Codecov.io | ||
uses: codecov/codecov-action@v3 | ||
if: matrix.node-version == '16.x' | ||
- name: Upload code coverage report to Artifact | ||
uses: actions/upload-artifact@v3 | ||
if: matrix.node-version == '18.x' | ||
with: | ||
name: dspace-angular coverage report | ||
path: 'coverage/dspace-angular/lcov.info' | ||
retention-days: 14 | ||
|
||
# Using docker-compose start backend using CI configuration | ||
# and load assetstore from a cached copy | ||
|
@@ -112,11 +116,10 @@ jobs: | |
# https://github.com/cypress-io/github-action | ||
# (NOTE: to run these e2e tests locally, just use 'ng e2e') | ||
- name: Run e2e tests (integration tests) | ||
uses: cypress-io/github-action@v4 | ||
uses: cypress-io/github-action@v5 | ||
with: | ||
# Run tests in Chrome, headless mode | ||
# Run tests in Chrome, headless mode (default) | ||
browser: chrome | ||
headless: true | ||
# Start app before running tests (will be stopped automatically after tests finish) | ||
start: yarn run serve:ssr | ||
# Wait for backend & frontend to be available | ||
|
@@ -176,3 +179,32 @@ jobs: | |
|
||
- name: Shutdown Docker containers | ||
run: docker-compose -f ./docker/docker-compose-ci.yml down | ||
|
||
# Codecov upload is a separate job in order to allow us to restart this separate from the entire build/test | ||
# job above. This is necessary because Codecov uploads seem to randomly fail at times. | ||
# See https://community.codecov.com/t/upload-issues-unable-to-locate-build-via-github-actions-api/3954 | ||
codecov: | ||
# Must run after 'tests' job above | ||
needs: tests | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
# Download artifacts from previous 'tests' job | ||
- name: Download coverage artifacts | ||
uses: actions/download-artifact@v3 | ||
|
||
# Now attempt upload to Codecov using its action. | ||
# NOTE: We use a retry action to retry the Codecov upload if it fails the first time. | ||
# | ||
# Retry action: https://github.com/marketplace/actions/retry-action | ||
# Codecov action: https://github.com/codecov/codecov-action | ||
- name: Upload coverage to Codecov.io | ||
uses: Wandalen/[email protected] | ||
with: | ||
action: codecov/codecov-action@v3 | ||
# Try upload 5 times max | ||
attempt_limit: 5 | ||
# Run again in 30 seconds | ||
attempt_delay: 30000 |
This file contains 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 file contains 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