forked from DSpace/dspace-angular
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'templates/dspace-7.6' into fix-display-…
…order-authentication-methods_contribute-7.6 # Conflicts: # src/app/shared/log-in/log-in.component.html # src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.spec.ts # src/app/shared/log-in/methods/oidc/log-in-oidc.component.html # src/app/shared/log-in/methods/oidc/log-in-oidc.component.spec.ts # src/app/shared/log-in/methods/orcid/log-in-orcid.component.html # src/app/shared/log-in/methods/password/log-in-password.component.ts # src/app/shared/log-in/methods/shibboleth/log-in-shibboleth.component.html # src/app/shared/log-in/methods/shibboleth/log-in-shibboleth.component.spec.ts
- Loading branch information
Showing
1,612 changed files
with
101,570 additions
and
52,711 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
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 |
---|---|---|
|
@@ -15,3 +15,6 @@ trim_trailing_whitespace = false | |
|
||
[*.ts] | ||
quote_type = single | ||
|
||
[*.json5] | ||
ij_json_keep_blank_lines_in_code = 3 |
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
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 |
---|---|---|
|
@@ -6,34 +6,48 @@ name: Build | |
# Run this Build for all pushes / PRs to current branch | ||
on: [push, pull_request] | ||
|
||
permissions: | ||
contents: read # to fetch code (actions/checkout) | ||
|
||
jobs: | ||
tests: | ||
runs-on: ubuntu-latest | ||
env: | ||
# The ci step will test the dspace-angular code against DSpace REST. | ||
# Direct that step to utilize a DSpace REST service that has been started in docker. | ||
DSPACE_REST_HOST: localhost | ||
# NOTE: These settings should be kept in sync with those in [src]/docker/docker-compose-ci.yml | ||
DSPACE_REST_HOST: 127.0.0.1 | ||
DSPACE_REST_PORT: 8080 | ||
DSPACE_REST_NAMESPACE: '/server' | ||
DSPACE_REST_SSL: false | ||
# Spin up UI on 127.0.0.1 to avoid host resolution issues in e2e tests with Node 18+ | ||
DSPACE_UI_HOST: 127.0.0.1 | ||
DSPACE_UI_PORT: 4000 | ||
# Ensure all SSR caching is disabled in test environment | ||
DSPACE_CACHE_SERVERSIDE_BOTCACHE_MAX: 0 | ||
DSPACE_CACHE_SERVERSIDE_ANONYMOUSCACHE_MAX: 0 | ||
# Tell Cypress to run e2e tests using the same UI URL | ||
CYPRESS_BASE_URL: http://127.0.0.1:4000 | ||
# When Chrome version is specified, we pin to a specific version of Chrome | ||
# Comment this out to use the latest release | ||
#CHROME_VERSION: "90.0.4430.212-1" | ||
# Bump Node heap size (OOM in CI after upgrading to Angular 15) | ||
NODE_OPTIONS: '--max-old-space-size=4096' | ||
strategy: | ||
# Create a matrix of Node versions to test against (in parallel) | ||
matrix: | ||
node-version: [14.x, 16.x] | ||
node-version: [16.x, 18.x] | ||
# Do NOT exit immediately if one matrix job fails | ||
fail-fast: false | ||
# These are the actual CI steps to perform per job | ||
steps: | ||
# https://github.com/actions/checkout | ||
- name: Checkout codebase | ||
uses: actions/checkout@v2 | ||
uses: actions/checkout@v3 | ||
|
||
# https://github.com/actions/setup-node | ||
- name: Install Node.js ${{ matrix.node-version }} | ||
uses: actions/setup-node@v2 | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
|
||
|
@@ -56,9 +70,9 @@ 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@v2 | ||
uses: actions/cache@v3 | ||
with: | ||
# Cache entire Yarn cache directory (see previous step) | ||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | ||
|
@@ -81,12 +95,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@v2 | ||
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 | ||
|
@@ -100,23 +118,22 @@ 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@v2 | ||
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 | ||
# NOTE: We use the 'sites' REST endpoint to also ensure the database is ready | ||
wait-on: http://localhost:8080/server/api/core/sites, http://localhost:4000 | ||
wait-on: http://127.0.0.1:8080/server/api/core/sites, http://127.0.0.1:4000 | ||
# Wait for 2 mins max for everything to respond | ||
wait-on-timeout: 120 | ||
|
||
# Cypress always creates a video of all e2e tests (whether they succeeded or failed) | ||
# Save those in an Artifact | ||
- name: Upload e2e test videos to Artifacts | ||
uses: actions/upload-artifact@v2 | ||
uses: actions/upload-artifact@v3 | ||
if: always() | ||
with: | ||
name: e2e-test-videos | ||
|
@@ -125,7 +142,7 @@ jobs: | |
# If e2e tests fail, Cypress creates a screenshot of what happened | ||
# Save those in an Artifact | ||
- name: Upload e2e test failure screenshots to Artifacts | ||
uses: actions/upload-artifact@v2 | ||
uses: actions/upload-artifact@v3 | ||
if: failure() | ||
with: | ||
name: e2e-test-screenshots | ||
|
@@ -144,7 +161,7 @@ jobs: | |
run: | | ||
nohup yarn run serve:ssr & | ||
printf 'Waiting for app to start' | ||
until curl --output /dev/null --silent --head --fail http://localhost:4000/home; do | ||
until curl --output /dev/null --silent --head --fail http://127.0.0.1:4000/home; do | ||
printf '.' | ||
sleep 2 | ||
done | ||
|
@@ -155,7 +172,7 @@ jobs: | |
# This step also prints entire HTML of homepage for easier debugging if grep fails. | ||
- name: Verify SSR (server-side rendering) | ||
run: | | ||
result=$(wget -O- -q http://localhost:4000/home) | ||
result=$(wget -O- -q http://127.0.0.1:4000/home) | ||
echo "$result" | ||
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep DSpace | ||
|
@@ -164,3 +181,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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
# DSpace CodeQL code scanning configuration for GitHub | ||
# https://docs.github.com/en/code-security/code-scanning | ||
# | ||
# NOTE: Code scanning must be run separate from our default build.yml | ||
# because CodeQL requires a fresh build with all tests *disabled*. | ||
name: "Code Scanning" | ||
|
||
# Run this code scan for all pushes / PRs to main branch. Also run once a week. | ||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
# Don't run if PR is only updating static documentation | ||
paths-ignore: | ||
- '**/*.md' | ||
- '**/*.txt' | ||
schedule: | ||
- cron: "37 0 * * 1" | ||
|
||
jobs: | ||
analyze: | ||
name: Analyze Code | ||
runs-on: ubuntu-latest | ||
# Limit permissions of this GitHub action. Can only write to security-events | ||
permissions: | ||
actions: read | ||
contents: read | ||
security-events: write | ||
|
||
steps: | ||
# https://github.com/actions/checkout | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
|
||
# Initializes the CodeQL tools for scanning. | ||
# https://github.com/github/codeql-action | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v2 | ||
with: | ||
languages: javascript | ||
|
||
# Autobuild attempts to build any compiled languages | ||
- name: Autobuild | ||
uses: github/codeql-action/autobuild@v2 | ||
|
||
# Perform GitHub Code Scanning. | ||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v2 |
Oops, something went wrong.