Skip to content

Commit b6915c1

Browse files
committed
Merge branch 'r/18.x' into r/19.x
2 parents fa26e41 + 5bc00fa commit b6915c1

8 files changed

Lines changed: 241 additions & 221 deletions

File tree

.github/workflows/deploy-main-branches.yml

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
name: Build » Deploy main branches
22

3+
# NOTE: This should *not* run on tags, these are handled in the main repo
34
on:
45
push:
56
branches:
@@ -33,6 +34,7 @@ jobs:
3334
#Strip the r/ prefix, giving us just 17.x. If this is main/develop this does nothing
3435
echo "branch=${TEMP#r\/}" >> $GITHUB_OUTPUT
3536
37+
3638
deploy-main-branches:
3739
runs-on: ubuntu-latest
3840
needs: detect-repo-owner
@@ -91,6 +93,59 @@ jobs:
9193
git add assets
9294
git diff --staged --quiet || git commit --amend -m "Build $(date)"
9395
94-
9596
- name: Push updates
9697
run: git push origin gh-pages --force
98+
99+
100+
file-upstream-admin-pr:
101+
name: Create upstream admin PR to incorporate build
102+
runs-on: ubuntu-latest
103+
needs: detect-repo-owner
104+
permissions:
105+
contents: write # For the release
106+
pull-requests: write # For the PR in the upstream repo
107+
108+
steps:
109+
- name: Prepare git
110+
run: |
111+
git config --global user.name "Admin Interface Commit Bot"
112+
git config --global user.email "[email protected]"
113+
114+
- name: Prepare GitHub SSH key
115+
env:
116+
DEPLOY_KEY: ${{ secrets.MODULE_PR_DEPLOY_KEY }}
117+
run: |
118+
install -dm 700 ~/.ssh/
119+
echo "${DEPLOY_KEY}" > ~/.ssh/id_ed25519
120+
chmod 600 ~/.ssh/id_ed25519
121+
ssh-keyscan github.com >> ~/.ssh/known_hosts
122+
123+
- name: Clone upstream repository
124+
run: |
125+
git clone -b ${{ github.ref_name }} "[email protected]:${{ github.repository_owner }}/opencast.git" opencast
126+
cd opencast
127+
git checkout -b t/admin-$GITHUB_REF
128+
129+
- name: Update the admin submodule
130+
working-directory: opencast
131+
run: |
132+
# Note: This could be a race condition in that rapid submodule pushes can trigger multiple PRs in short order
133+
# and we don't have a guarantee that the update triggered by commit A does not end up finding commit B
134+
# We are going to ignore this possibility since we almost universally want the *latest* commit, though this
135+
# could end up causing the commit message, and the actual submodule hash to differ.
136+
git submodule update --init --remote modules/admin-ui
137+
git add modules/admin-ui
138+
git commit -m "Updating admin-service to $GITHUB_REF"
139+
git push origin t/admin-$GITHUB_REF
140+
# This token is an account wide token which allows creation of PRs and pushes.
141+
echo "${{ secrets.MODULE_PR_TOKEN }}" > token.txt
142+
gh auth login --with-token < token.txt
143+
gh pr create \
144+
--title "Update ${{ needs.detect-repo-owner.outputs.branch }} Admin Interface to $GITHUB_REF" \
145+
--body "Updating Opencast ${{ needs.detect-repo-owner.outputs.branch }} Admin Interface module to [$GITHUB_REF](https://github.com/${{ github.repository_owner }}/admin-interface/commit/$GITHUB_REF)" \
146+
--head=${{ github.repository_owner }}:t/admin-$GITHUB_REF \
147+
--base ${{ github.ref_name }} \
148+
-R ${{ github.repository_owner }}/opencast
149+
#FIXME: fine grained PATs can't apply labels
150+
#FIXME: classic PATs don't have the permissions because the PR isn't in an opencastproject (the user) repo
151+
#--label admin-ui --label maintenance \

.github/workflows/pr-deploy-test-branch.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ jobs:
8989

9090
- name: Clone repository
9191
run: |
92-
git clone -b gh-pages "[email protected]:${{ github.repository_owner }}/opencast-admin-interface-test.git" admin-interface-test
92+
git clone -b gh-pages "[email protected]:${{ github.repository_owner }}/-admin-interface-test.git" admin-interface-test
9393
9494
- name: Store build in the clone
9595
env:
@@ -103,8 +103,8 @@ jobs:
103103
env:
104104
GH_TOKEN: ${{ github.token }}
105105
run: |
106-
wget https://raw.githubusercontent.com/${{ github.repository_owner }}/opencast-admin-interface-test/main/.github/scripts/cleanup-deployments.sh
107-
bash cleanup-deployments.sh ${{ github.repository_owner }}/opencast-admin-interface
106+
wget https://raw.githubusercontent.com/${{ github.repository_owner }}/admin-interface-test/main/.github/scripts/cleanup-deployments.sh
107+
bash cleanup-deployments.sh ${{ github.repository_owner }}/admin-interface
108108
rm -f cleanup-deployments.sh
109109
git add .
110110

.github/workflows/pr-remove-test-branch.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
3333
- name: Clone test repository
3434
run: |
35-
git clone -b gh-pages "[email protected]:opencast/opencast-admin-interface-test.git" admin-interface-test
35+
git clone -b gh-pages "[email protected]:opencast/admin-interface-test.git" admin-interface-test
3636
3737
- name: Delete build if present
3838
working-directory: admin-interface-test

.github/workflows/release-build.yml

Lines changed: 0 additions & 132 deletions
This file was deleted.

.github/workflows/release-cut-tag.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
/node_modules
22
/build
33
.idea/
4+
/target

README.md

Lines changed: 18 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ Development and testing
1010
To get a local copy of the admin UI to test or develop on, you can do the following:
1111

1212
```sh
13-
git clone [email protected]:opencast/opencast-admin-interface.git opencast-admin-interface-demo
14-
cd opencast-admin-interface-demo
13+
git clone [email protected]:opencast/admin-interface.git admin-interface-demo
14+
cd admin-interface-demo
1515
git switch my-branch # or otherwise check out, pull, merge, etc. whatever branch you want to test/hack on
1616
npm ci
1717
```
@@ -57,58 +57,17 @@ NODE_ENV=development VITE_TEST_SERVER_URL="https://develop.opencast.org" VITE_TE
5757
```
5858

5959

60-
How to cut a release for Opencast via the Github UI
61-
---------------------------------------------------
60+
Admin releases
61+
--------------
6262

63-
1. (Optional) Run the GitHub Actions workflow [Crowdin » Download translations
64-
](https://github.com/opencast/opencast-admin-interface/actions/workflows/crowdin-download-translations.yml)
65-
to ensure all changes from Crowdin are included in the new release.
66-
67-
2. Use the [Release » Create release tag](https://github.com/opencast/opencast-admin-interface/actions/workflows/release-cut-tag.yml)
68-
workflow to create a correctly named tag in the appropriate branch. When running the workflow via the dropdown
69-
ensure you select the correct branch for the release!
70-
71-
3. Wait for the [Release » Process release tag](https://github.com/opencast/opencast-admin-interface/actions/workflows/release-build.yml)
72-
workflow to finish
73-
- It will create a new [GitHub release](https://github.com/opencast/opencast-admin-interface/releases)
74-
- Review the release and make sure the notes are right, update them if not.
75-
- By selecting the previous release, Github can generate release notes automatically
76-
- This review isn't required to happen prior to the next step!
77-
78-
5. Merge the upstream issue that the workflow above filed in [Opencast's main repository](https://github.com/opencast/opencast)
79-
80-
81-
How to cut a release for Opencast manually with git
82-
---------------------------------------------------
83-
84-
1. (Optional) Run the GitHub Actions workflow [Crowdin » Download translations
85-
](https://github.com/opencast/opencast-admin-interface/actions/workflows/crowdin-download-translations.yml)
86-
to ensure all changes from Crowdin are included in the new release.
87-
88-
2. Switch to the commit you want to turn into the release - make sure this is the on `develop` or an `r/N.x` branch
89-
90-
3. Create and push a new tag
91-
```bash
92-
BRANCH=N.x (make sure the version you write here matches the branch you have checked out)
93-
DATE=$(date +%Y-%m-%d)
94-
git tag -sm "Release $BRANCH-$DATE" -s "$BRANCH-$DATE"
95-
git push upstream "$BRANCH-$DATE":"$BRANCH-$DATE"
96-
```
97-
98-
4. Wait for the [Release » Process release tag](https://github.com/opencast/opencast-admin-interface/actions/workflows/release-build.yml)
99-
workflow to finish
100-
- It will create a new [GitHub release](https://github.com/opencast/opencast-admin-interface/releases)
101-
- Review the release and make sure the notes are right, update them if not.
102-
- By selecting the previous release, Github can generate release notes automatically
103-
- This review isn't required to happen prior to the next step!
104-
105-
5. Merge the upstream issue that the workflow above filed in [Opencast's main repository](https://github.com/opencast/opencast)
63+
The admin module no longer cuts releases itself. Opencast's release manager will create tags as appropriate and push
64+
as part of the release process.
10665

10766

10867
Translating the Admin Interface
10968
-------------------------------
11069

111-
You can help translate the Opencast Admin UI to your language on [crowdin.com/project/opencast-admin-interface](https://crowdin.com/project/opencast-admin-interface). Simply request to join the project on Crowdin and start translating. If you are interested in translating a language that is not a target language right now, please create [a GitHub issue](https://github.com/opencast/opencast-admin-interface/issues) and we will add the language.
70+
You can help translate the Opencast Admin UI to your language on [crowdin.com/project/opencast-admin-interface](https://crowdin.com/project/opencast-admin-interface). Simply request to join the project on Crowdin and start translating. If you are interested in translating a language that is not a target language right now, please create [a GitHub issue](https://github.com/opencast/admin-interface/issues) and we will add the language.
11271

11372
This project follows the general form of [Opencast's Localization Process](https://docs.opencast.org/develop/developer/#participate/localization/), especially regarding what happens when you need to [change an existing translation key](https://docs.opencast.org/develop/developer/#participate/localization/#i-need-to-update-the-wording-of-the-source-translation-what-happens). Any questions not answered there should be referred to the mailing lists!
11473

@@ -119,3 +78,14 @@ Configuration
11978
The Admin UI frontend cannot be directly configured. Rather, it adapts to the
12079
various configurations in the Opencast backend. Fore more information, take a look
12180
at [Opencast's documentation](https://docs.opencast.org).
81+
82+
83+
Admin Repo History
84+
------------------
85+
86+
As part of https://github.com/orgs/opencast/discussions/7277 we decided to rewrite the entire history of this
87+
repository. This was done because it contained the *entire* history of Opencast into the Opencast 14 era. All
88+
repository history prior to the addition of this commit should be considered rewritten history, however there should
89+
be no function changes. The previous tags have been rewritten, but the releases in this GitHub repository have not.
90+
This means that the hash attached to a given release prior to 2026-03-26 will *not* match, however the source will
91+
aside from the changes we made.

0 commit comments

Comments
 (0)