Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

customer/uk-it-16 #530

Merged
merged 59 commits into from
Feb 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
c03a530
by default only deploy to INSTANCE=5
MajoBerger Nov 16, 2023
51bb185
give more time for postgres init
vidiecan Nov 16, 2023
75923d3
add even more time
Nov 16, 2023
4e44231
Update action.yml (#405)
milanmajchrak Nov 30, 2023
5965637
ufal/fe-update-json-messages
milanmajchrak Dec 1, 2023
560aada
ufal/fe-initiated-login-not-redirecting-from-collection
milanmajchrak Dec 1, 2023
a5c9d5d
[devOps] add dspace commands after import
Dec 1, 2023
5e3c540
ufal/fe-add-default-static-pages (#406)
milanmajchrak Dec 5, 2023
c4e8387
ufal/fe-shibboleth-validate-emails
milanmajchrak Dec 6, 2023
285a115
placeholder configs to be mounted into docker
MajoBerger Dec 6, 2023
b6e7c7d
change entrypoint so that containers has less logs and restarts (#412)
MajoBerger Dec 11, 2023
8637755
ufal/fe-get-user-ip-address (#420)
milanmajchrak Dec 14, 2023
40e3e85
ufal/fe-fix-static-page-redirect (#421)
milanmajchrak Dec 14, 2023
1d4c3a5
ufal/fe-download-bitstream-back-to-item (#423)
milanmajchrak Dec 14, 2023
ee0e746
ufal/fe-oversized-file-upload-message (#424)
milanmajchrak Dec 15, 2023
bb8ed5f
ufal/fe-item-view-license-box (#427)
milanmajchrak Dec 19, 2023
ddee862
ufal/fe-email-restricted-download (#430)
milanmajchrak Dec 21, 2023
2d073dd
ufal/fe-not-show-shib-welcome-page
milanmajchrak Dec 21, 2023
dd80fde
ufal/fe-s3-customization (#428)
milanmajchrak Dec 21, 2023
11de325
ufal/curate-translation-missing
milanmajchrak Jan 3, 2024
0484c9d
ufal/upload-on-first-attempt-fix (#435)
milanmajchrak Jan 3, 2024
6be9911
ufal/fe-show-checksum-result (#432)
milanmajchrak Jan 3, 2024
4e6c290
ufal/shibboleth-redirect-from-login (#433)
milanmajchrak Jan 3, 2024
051adab
internal/increase-server-memory-limit (#411)
milanmajchrak Jan 4, 2024
28425d4
ufal/shibboleth-encode-redirecturl (#438)
milanmajchrak Jan 5, 2024
d663b56
internal/fix-failing-it (#437)
milanmajchrak Jan 5, 2024
602e5d9
internal/docker-remove-orphans (#439)
milanmajchrak Jan 5, 2024
b45168e
internal/update-config
milanmajchrak Jan 8, 2024
58b97f6
internal/fe-upgrade-clarin-dspace-7.6 (#450)
milanmajchrak Jan 30, 2024
3ee5151
Update docker.yml (#452)
milanmajchrak Jan 31, 2024
a38dca1
The BE was started without instance (#453)
milanmajchrak Jan 31, 2024
8453dc5
Copying of solr configs were missing from the docker-compose-rest (#454)
milanmajchrak Jan 31, 2024
431ea2b
configured path (#455)
milanmajchrak Jan 31, 2024
97b25bb
Internal/run container in production mode (#456)
milanmajchrak Feb 1, 2024
34cf136
Use ENV - production in the dspace-ui.json (#457)
milanmajchrak Feb 1, 2024
85a2224
The docker-compose-rest has defined network which is not the same lik…
milanmajchrak Feb 1, 2024
980c97a
Update deploy.yml (#459)
milanmajchrak Feb 2, 2024
3c5a02a
Update deploy.yml (#461)
milanmajchrak Feb 2, 2024
af6b4f5
Update deploy.yml (#462)
milanmajchrak Feb 2, 2024
7c745fe
ufal/cannot-login-after-upgrade
milanmajchrak Feb 12, 2024
acb3dbc
ufal/cannot-load-user-metadata
milanmajchrak Feb 12, 2024
55f13b2
ufal/license-agreement-multiple-records (#516)
milanmajchrak Feb 15, 2024
033211d
internal/update-deploy-s3-props (#448)
milanmajchrak Feb 15, 2024
0759de6
ufal/discojuice-not-popped-up (#515)
milanmajchrak Feb 15, 2024
7fffe19
ufal/search-page-without-results (#517)
milanmajchrak Feb 15, 2024
e4c2d91
internal/fix-deploy-s3-props
milanmajchrak Feb 20, 2024
ebfe8dc
ufal/s3-checksum-improvements (#518)
milanmajchrak Feb 20, 2024
6c188e2
add information about modified entrypoint (#520)
MajoBerger Feb 22, 2024
54186ec
correct branches for main gh actions
MajoBerger Feb 22, 2024
ba5e462
Internal/rework actions (#523)
MajoBerger Feb 23, 2024
ecbe407
ipranges must also be separated by instance number (#522)
milanmajchrak Feb 23, 2024
6a34fe7
internal/discojuice-missing-port
milanmajchrak Feb 23, 2024
02604e6
make deploy action work (#525)
MajoBerger Feb 23, 2024
e48f092
Fix erase options on deploy (#526)
MajoBerger Feb 23, 2024
dadf287
rm unused import action (#527)
MajoBerger Feb 23, 2024
c6c0587
add version to FE + improve build action (#528)
MajoBerger Feb 26, 2024
8214715
Fix all mistakes in the /home page (#529)
milanmajchrak Feb 27, 2024
3c444a6
Merged changes from dtq-dev and resolved conflicts
milanmajchrak Feb 28, 2024
3b3ed70
update job name - removed 5 instance
milanmajchrak Feb 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 28 additions & 28 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -188,31 +188,31 @@ 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
# # 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
25 changes: 22 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ on:
required: false
default: true
type: boolean
ERASE_DB:
required: false
default: false
type: boolean

workflow_dispatch:
inputs:
Expand All @@ -28,10 +32,14 @@ on:
required: true
default: true
type: boolean
ERASE_DB:
required: false
default: false
type: boolean

jobs:
deploy:
if: github.event.inputs.INSTANCE == '*' || github.event.inputs.INSTANCE == '2'
if: inputs.INSTANCE == '*' || inputs.INSTANCE == '2'
runs-on: dspace-dep-1
timeout-minutes: 5
env:
Expand All @@ -40,22 +48,33 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: ./.github/actions/erase-db
if: inputs.ERASE_DB
with:
INSTANCE: ${{ env.INSTANCE }}
NAME: dspace-${{ env.INSTANCE }}

- name: deploy to dev-5
working-directory: build-scripts/run/
run: |
./start.sh dspace-$INSTANCE

deploy-8:
if: github.event.inputs.INSTANCE == '*' || github.event.inputs.INSTANCE == '8'
if: inputs.INSTANCE == '*' || inputs.INSTANCE == '8'
runs-on: dspace-dep-1
timeout-minutes: 120
env:
INSTANCE: '8'
# 2024/02: this .env replaces ENTRYPOINT to angular
# !!!!WARNING!!!!
# disable TSL checks = allowing to cooperate with https backend with invalid
# certificate
ENVFILE: /opt/dspace-envs/.env.dspace.imported.dev-5
steps:
- uses: actions/checkout@v4

- uses: ./.github/actions/erase-db
if: inputs.ERASE_DB
with:
INSTANCE: ${{ env.INSTANCE }}
NAME: dspace-${{ env.INSTANCE }}
Expand All @@ -69,7 +88,7 @@ jobs:

import-8:
runs-on: dspace-dep-1
if: github.event.inputs.IMPORT == 'true'
if: inputs.IMPORT
needs: deploy-8
env:
INSTANCE: '8'
Expand Down
147 changes: 32 additions & 115 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ name: Docker images

# Run this Build for all pushes to 'main' or maintenance branches, or tagged releases.
# Also run for PRs to ensure PR doesn't break Docker build process
# NOTE: uses "reusable-docker-build.yml" in DSpace/DSpace to actually build each of the Docker images
# https://github.com/DSpace/DSpace/blob/main/.github/workflows/reusable-docker-build.yml
#
on:
push:
branches:
Expand All @@ -15,130 +18,44 @@ permissions:
contents: read # to fetch code (actions/checkout)

jobs:
docker:
dspace-angular:
# Ensure this job never runs on forked repos. It's only executed for 'dspace/dspace-angular'
if: github.repository == 'dataquest-dev/dspace-angular'
runs-on: ubuntu-latest
env:
# Define tags to use for Docker images based on Git tags/branches (for docker/metadata-action)
# For a new commit on default branch (main), use the literal tag 'dspace-7_x' on Docker image.
# For a new commit on other branches, use the branch name as the tag for Docker image.
# For a new tag, copy that tag name as the tag for Docker image.
IMAGE_TAGS: |
type=raw,value=dspace-7_x,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }}
type=ref,event=branch,enable=${{ !endsWith(github.ref, github.event.repository.default_branch) }}
type=ref,event=tag
# Define default tag "flavor" for docker/metadata-action per
# https://github.com/docker/metadata-action#flavor-input
# We turn off 'latest' tag by default.
TAGS_FLAVOR: |
latest=false

steps:
# https://github.com/actions/checkout
- name: Checkout codebase
uses: actions/checkout@v3

# https://github.com/docker/setup-buildx-action
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2

# https://github.com/docker/setup-qemu-action
- name: Set up QEMU emulation to build for multiple architectures
uses: docker/setup-qemu-action@v2

# https://github.com/docker/login-action
- name: Login to DockerHub
# Only login if not a PR, as PRs only trigger a Docker build and not a push
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}

# https://github.com/docker/metadata-action
# Get Metadata for docker_build step below
- name: Sync metadata (tags, labels) from GitHub to Docker for 'dspace-angular' image
id: meta_build
uses: docker/metadata-action@v4
with:
images: dataquest/dspace-angular
tags: ${{ env.IMAGE_TAGS }}
flavor: ${{ env.TAGS_FLAVOR }}

# https://github.com/docker/build-push-action
- name: Build and push 'dspace-angular' image
id: docker_build
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
platforms: ${{ env.PLATFORMS }}
# For pull requests, we run the Docker build (to ensure no PR changes break the build),
# but we ONLY do an image push to DockerHub if it's NOT a PR
push: ${{ github.event_name != 'pull_request' }}
# Use tags / labels provided by 'docker/metadata-action' above
tags: ${{ steps.meta_build.outputs.tags }}
labels: ${{ steps.meta_build.outputs.labels }}
uses: dataquest-dev/DSpace/.github/workflows/reusable-docker-build.yml@dtq-dev
with:
build_id: dspace-angular
image_name: dataquest/dspace-angular
dockerfile_path: ./Dockerfile
run_python_version_script: true
python_version_script_dest: src/static-files/VERSION_D.html
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}

#############################################################
# Build/Push the 'dataquest/dspace-angular' image ('-dist' tag)
#############################################################
dspace-angular-dist:
# Ensure this job never runs on forked repos. It's only executed for 'dataquest/dspace-angular'
if: github.repository == 'dataquest/dspace-angular'
runs-on: ubuntu-latest

steps:
# https://github.com/actions/checkout
- name: Checkout codebase
uses: actions/checkout@v3

# https://github.com/docker/setup-buildx-action
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2

# https://github.com/docker/setup-qemu-action
- name: Set up QEMU emulation to build for multiple architectures
uses: docker/setup-qemu-action@v2

# https://github.com/docker/login-action
- name: Login to DockerHub
# Only login if not a PR, as PRs only trigger a Docker build and not a push
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}

# https://github.com/docker/metadata-action
# Get Metadata for docker_build_dist step below
- name: Sync metadata (tags, labels) from GitHub to Docker for 'dspace-angular-dist' image
id: meta_build_dist
uses: docker/metadata-action@v4
with:
images: dataquest/dspace-angular
tags: ${{ env.IMAGE_TAGS }}
# As this is a "dist" image, its tags are all suffixed with "-dist". Otherwise, it uses the same
# tagging logic as the primary 'dspace/dspace-angular' image above.
flavor: ${{ env.TAGS_FLAVOR }}
suffix=-dist

- name: Build and push 'dspace-angular-dist' image
id: docker_build_dist
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile.dist
platforms: ${{ env.PLATFORMS }}
# For pull requests, we run the Docker build (to ensure no PR changes break the build),
# but we ONLY do an image push to DockerHub if it's NOT a PR
push: ${{ github.event_name != 'pull_request' }}
# Use tags / labels provided by 'docker/metadata-action' above
tags: ${{ steps.meta_build_dist.outputs.tags }}
labels: ${{ steps.meta_build_dist.outputs.labels }}
if: github.repository == 'dataquest-dev/dspace-angular' && false # not used for now
uses: dataquest-dev/DSpace/.github/workflows/reusable-docker-build.yml@dtq-dev
with:
build_id: dspace-angular-dist
image_name: dspace/dspace-angular
dockerfile_path: ./Dockerfile.dist
# As this is a "dist" image, its tags are all suffixed with "-dist". Otherwise, it uses the same
# tagging logic as the primary 'dspace/dspace-angular' image above.
tags_flavor: suffix=-dist
run_python_version_script: true
python_version_script_dest: src/static-files/VERSION_D.html
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}

deploy:
needs: docker
needs: dspace-angular
uses: dataquest-dev/dspace-angular/.github/workflows/deploy.yml@customer/uk
with:
INSTANCE: '2'
IMPORT: false
secrets: inherit
35 changes: 0 additions & 35 deletions .github/workflows/import.yml

This file was deleted.

14 changes: 0 additions & 14 deletions .github/workflows/reindex.yml

This file was deleted.

14 changes: 14 additions & 0 deletions scripts/sourceversion.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import subprocess
from datetime import datetime

if __name__ == '__main__':
ts = datetime.now()
print(f"timestamp: {ts}")

cmd = 'git log -1 --pretty=format:"%h - %ai"'
print(f">{cmd}")
subprocess.check_call(cmd, shell=True)

cmd = 'git status --porcelain'
print(f">{cmd}:")
subprocess.check_call(cmd, shell=True)
4 changes: 2 additions & 2 deletions src/aai/aai.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

// Encode the redirect URL
targetUrl += window.encodeURIComponent(redirectUrl);
window.location = opts.host + '/Shibboleth.sso/Login?SAMLDS=1&target=' + targetUrl + '&entityID=' + window.encodeURIComponent(e.entityID);
window.location = opts.host + opts.port + '/Shibboleth.sso/Login?SAMLDS=1&target=' + targetUrl + '&entityID=' + window.encodeURIComponent(e.entityID);
};
//console.log(opts);
if(!opts.target){
Expand All @@ -56,7 +56,7 @@
opts.ourEntityID,
opts.responseUrl,
[ ],
opts.host + '/Shibboleth.sso/Login?SAMLDS=1&target=' + targetUrl + '&entityID=');
opts.host + opts.port + '/Shibboleth.sso/Login?SAMLDS=1&target=' + targetUrl + '&entityID=');
djc.discoPath = window.location.origin + (namespace === '' ? namespace : '/' + namespace) + "/assets/";
djc.metadata = [opts.metadataFeed];
djc.subtitle = "Login via Your home institution (e.g. university)";
Expand Down
2 changes: 1 addition & 1 deletion src/aai/discojuice/discojuice.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading