diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..19cf8ea --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,64 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + +jobs: + spdx-header: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Check SPDX headers + run: | + fehlend=$(find packages template -type f ! -empty \( -name '*.py' -o -name '*.ts' -o -name '*.tsx' -o -name '*.css' \) \ + ! -path '*/node_modules/*' ! -path '*/migrations/*' ! -path '*/dist/*' \ + -exec grep -L 'SPDX-License-Identifier: Apache-2.0' {} +) || true + if [ -n "$fehlend" ]; then + echo "Dateien ohne SPDX-Header:" + echo "$fehlend" + exit 1 + fi + echo "SPDX-Header vollständig." + + integrations-tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + - run: pip install --quiet ./packages/django/basicbar-integrations + - run: cd packages/django/basicbar-integrations && python runtests.py + + auth-tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + - run: pip install --quiet ./packages/django/basicbar-auth + - run: cd packages/django/basicbar-auth && python runtests.py + + lti-tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + - run: pip install --quiet ./packages/django/basicbar-lti + - run: cd packages/django/basicbar-lti && python runtests.py + + ui-build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: "22" + - run: cd packages/ui && npm ci --no-fund --no-audit + - run: cd packages/ui && npm run build + - run: cd packages/ui && npx tsc --noEmit diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..1305318 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,49 @@ +name: Publish ui package + +# Django packages need no publish step: GitHub's tag-archive tarball URLs +# (https://github.com/virtUOS/basicbar/archive/refs/tags//vX.Y.Z.tar.gz) +# are public and reachable as soon as the tag is pushed. +# +# @basicbar/ui is packed with `npm pack` and attached as a GitHub Release +# asset — a plain public tarball URL, no npm registry/account/token needed +# (same rationale as the GitLab Generic Package Registry before the move). + +on: + push: + tags: + - "ui/v*" + +permissions: + contents: write + +jobs: + ui-publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: "22" + + - name: Verify tag matches package.json version + run: | + VERSION="${GITHUB_REF_NAME#ui/v}" + PKG_VERSION="$(node -p "require('./packages/ui/package.json').version")" + if [ "$VERSION" != "$PKG_VERSION" ]; then + echo "Tag $GITHUB_REF_NAME ≠ package.json-Version $PKG_VERSION"; exit 1 + fi + echo "VERSION=$VERSION" >> "$GITHUB_ENV" + + - run: cd packages/ui && npm ci --no-fund --no-audit + - run: cd packages/ui && npm run build + - run: cd packages/ui && npm pack + + - name: Attach tarball to GitHub Release + env: + GH_TOKEN: ${{ github.token }} + run: | + gh release create "$GITHUB_REF_NAME" \ + "packages/ui/basicbar-ui-$VERSION.tgz" \ + --title "$GITHUB_REF_NAME" \ + --notes "Siehe CHANGELOG.md für Migrationsschritte." diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index f6a51c3..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,75 +0,0 @@ -stages: - - check - - test - - publish - -# Jede Quelldatei trägt einen SPDX-Header (siehe README, Konventionen). -# Paket-Tests und npm-Publish kommen mit den Paketen dazu (Phasen 2/3). -spdx-header: - stage: check - image: alpine:3.20 - script: - - | - fehlend=$(find packages template -type f ! -empty \( -name '*.py' -o -name '*.ts' -o -name '*.tsx' -o -name '*.css' \) \ - ! -path '*/node_modules/*' ! -path '*/migrations/*' ! -path '*/dist/*' \ - -exec grep -L 'SPDX-License-Identifier: Apache-2.0' {} +) || true - if [ -n "$fehlend" ]; then - echo "Dateien ohne SPDX-Header:" - echo "$fehlend" - exit 1 - fi - echo "SPDX-Header vollständig." - -integrations-tests: - stage: test - image: python:3.12-slim - script: - - pip install --quiet ./packages/django/basicbar-integrations - - cd packages/django/basicbar-integrations && python runtests.py - -auth-tests: - stage: test - image: python:3.12-slim - script: - - pip install --quiet ./packages/django/basicbar-auth - - cd packages/django/basicbar-auth && python runtests.py - -lti-tests: - stage: test - image: python:3.12-slim - script: - - pip install --quiet ./packages/django/basicbar-lti - - cd packages/django/basicbar-lti && python runtests.py - -ui-build: - stage: test - image: node:22-slim - script: - - cd packages/ui - - npm ci --no-fund --no-audit - - npm run build - - npx tsc --noEmit - -# Beim Taggen von ui/vX.Y.Z: Tarball bauen und in die Generic Package Registry -# laden. Öffentliches Projekt → die Tools installieren die Tarball-URL ohne -# Token (npm-Dependency auf die URL, siehe ADR-0002). -ui-publish: - stage: publish - image: node:22-slim - rules: - - if: '$CI_COMMIT_TAG =~ /^ui\/v/' - script: - - apt-get update -qq && apt-get install -y -qq --no-install-recommends curl ca-certificates - - cd packages/ui - - VERSION="${CI_COMMIT_TAG#ui/v}" - - PKG_VERSION="$(node -p "require('./package.json').version")" - - | - if [ "$VERSION" != "$PKG_VERSION" ]; then - echo "Tag $CI_COMMIT_TAG ≠ package.json-Version $PKG_VERSION"; exit 1 - fi - - npm ci --no-fund --no-audit - - npm pack - - >- - curl --fail --header "JOB-TOKEN: $CI_JOB_TOKEN" - --upload-file "basicbar-ui-$VERSION.tgz" - "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/ui/$VERSION/basicbar-ui-$VERSION.tgz" diff --git a/CLAUDE.md b/CLAUDE.md index 28e20c2..99a271f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,8 +2,11 @@ Gemeinsame Basis der virtUOS „-bar“-Tools (ausleihbar, abstimmbar, erkennbar, …): **vier versionierte Pakete + ein Copier-Template**, kein -lauffähiges Produkt. Konsumenten sind die Tool-Repos daneben in -`~/dev/` bzw. `virtuos/digitale-dienste/`. +lauffähiges Produkt. Konsumenten sind die Tool-Repos daneben in `~/dev/` +— teils noch auf der Uni-GitLab (`virtuos/digitale-dienste/`), teils +öffentlich auf GitHub (z. B. `virtUOS/abstimmbar`). basicbar selbst liegt seit +2026-08-04 auf `github.com/virtUOS/basicbar` (ADR-0004), u. a. damit +GitHub-Actions-Runner öffentlicher „-bar“-Tools die Pakete erreichen können. ## Layout @@ -41,15 +44,17 @@ pipx run copier copy . /tmp/probe --trust --defaults --vcs-ref HEAD --data proje ## Workflow & Releases -- **Branch + MR, nie direkt auf main** (main ist geschützt); der Mensch merged. +- **Branch + PR, nie direkt auf main** (main ist geschützt); der Mensch merged. - Release eines Pakets: Version in `pyproject.toml`/`package.json` heben, - `CHANGELOG.md`-Eintrag **mit Migrationsschritten für die Tools**, MR. + `CHANGELOG.md`-Eintrag **mit Migrationsschritten für die Tools**, PR. **Tag `/vX.Y.Z` erst nach dem Merge** auf den main-Commit setzen - (sonst zeigt er auf verwaiste Commits). Beim Tag `ui/v*` published die CI - den npm-Tarball in die Generic Package Registry; die Django-Pakete werden - von den Tools direkt als GitLab-Archiv-Tarball vom Tag installiert - (`/-/archive//…#subdirectory=…` — Repo ist deshalb öffentlich). -- Nach dem Paket-Release: Konsumenten-MRs in den Tools (Version bumpen, + (sonst zeigt er auf verwaiste Commits). Beim Tag `ui/v*` packt die CI + `@basicbar/ui` per `npm pack` und hängt den Tarball als GitHub-Release-Asset + an; die Django-Pakete werden von den Tools direkt als GitHub-Archiv-Tarball + vom Tag installiert (`/archive/refs/tags/.tar.gz#subdirectory=…` — Repo + ist deshalb öffentlich). Details/Gründe des Hosts: + [ADR-0004](docs/ADR/0004-umzug-nach-github.md). +- Nach dem Paket-Release: Konsumenten-PRs in den Tools (Version bumpen, Migrationsschritte aus dem Changelog ausführen, Suite + Build grün). ## Konventionen diff --git a/README.md b/README.md index 547c81b..14a6f7b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Basicbar Die gemeinsame Basis der virtUOS „-bar“-Tools ([ausleihBAR](https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/ausleihbar), -[abstimmBAR](https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/abstimmbar), +[abstimmBAR](https://github.com/virtUOS/abstimmbar), [erkennBAR](https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/erkennbar), …). Dieses Repo ist **kein lauffähiges Produkt**, sondern liefert zwei Dinge: @@ -32,7 +32,7 @@ Details und Begründungen: [docs/ADR/](docs/ADR/) · Historie und Vorgehen: ## Neues Tool erzeugen ```bash -pipx run copier copy --vcs-ref HEAD https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/basicbar.git mein-tool +pipx run copier copy --vcs-ref HEAD https://github.com/virtUOS/basicbar.git mein-tool cd mein-tool git init -b main && git add -A && git commit -m "Gerüst aus basicbar-Template" docker compose up -d @@ -53,14 +53,14 @@ Release-Eintrag nennt die Migrationsschritte. Git-Tag, ohne Registry und ohne git im Docker-Image: ``` - basicbar-auth @ https://…/basicbar/-/archive/auth/v0.1.0/basicbar-auth-v0.1.0.tar.gz#subdirectory=packages/django/basicbar-auth + basicbar-auth @ https://github.com/virtUOS/basicbar/archive/refs/tags/auth/v0.1.0.tar.gz#subdirectory=packages/django/basicbar-auth ``` -- **`@basicbar/ui`** (`frontend/package.json`) — npm-Tarball aus der GitLab - Generic Package Registry (die CI published beim Tag `ui/vX.Y.Z`): +- **`@basicbar/ui`** (`frontend/package.json`) — Tarball-URL auf ein GitHub + Release (die CI hängt den Tarball beim Tag `ui/vX.Y.Z` als Release-Asset an): ``` - "@basicbar/ui": "https://…/api/v4/projects/1511/packages/generic/ui/0.2.1/basicbar-ui-0.2.1.tgz" + "@basicbar/ui": "https://github.com/virtUOS/basicbar/releases/download/ui/v0.2.1/basicbar-ui-0.2.1.tgz" ``` - **Projektgerüst** (compose, Caddy, CI, config, App-Shell) — @@ -78,11 +78,11 @@ sind Paket-Features. ## An der Basis mitarbeiten -- Branch + MR (main ist geschützt); CI: SPDX-Header-Check, Testsuiten aller +- Branch + PR (main ist geschützt); CI: SPDX-Header-Check, Testsuiten aller drei Django-Pakete, UI-Build, Tag-Publish. - Paket-Tests lokal: `cd packages/django/ && python runtests.py` · UI: `cd packages/ui && npm install && npm run build && npx tsc --noEmit`. -- Release: Version heben, CHANGELOG-Eintrag mit Migrationsschritten, MR; +- Release: Version heben, CHANGELOG-Eintrag mit Migrationsschritten, PR; **nach dem Merge** Tag `/vX.Y.Z` auf `main` setzen. - **Rule of Two:** Extrahiert wird nur, was mindestens zwei Tools konkret brauchen und eines erprobt hat. Fachlogik und konkrete User-Models bleiben diff --git a/copier.yml b/copier.yml index 066897c..9fa612b 100644 --- a/copier.yml +++ b/copier.yml @@ -1,6 +1,6 @@ # Copier-Template der virtUOS "-bar"-Tools (Basicbar Phase 6). # Neues Tool erzeugen: -# pipx run copier copy https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/basicbar.git mein-tool +# pipx run copier copy https://github.com/virtUOS/basicbar.git mein-tool # Später Template-Updates einspielen: `pipx run copier update` im Projekt. _subdirectory: template/project diff --git a/docs/ADR/0002-versionierung-und-sync.md b/docs/ADR/0002-versionierung-und-sync.md index 7b9b946..bfe88a1 100644 --- a/docs/ADR/0002-versionierung-und-sync.md +++ b/docs/ADR/0002-versionierung-und-sync.md @@ -12,15 +12,19 @@ passieren. - **SemVer pro Paket**, Git-Tags im Schema `/vX.Y.Z` (z. B. `integrations/v1.2.0`, `ui/v0.3.1`). -- **pip-Pakete: als GitLab-Archiv-Tarball vom Tag**, kein Registry-Betrieb und +- **pip-Pakete: als Git-Archiv-Tarball vom Tag**, kein Registry-Betrieb und kein ``git`` im Docker-Image nötig (Entscheidung 2026-07-19: Repo ist dafür öffentlich, damit Docker-Builds ohne Credentials installieren): - `basicbar-integrations @ https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/basicbar/-/archive/integrations/v0.1.0/basicbar-integrations-v0.1.0.tar.gz#subdirectory=packages/django/basicbar-integrations` -- **npm-Paket: GitLab Package Registry** des basicbar-Projekts (npm kann — - anders als pip — nicht aus einem Unterverzeichnis eines Git-Repos - installieren). Publish per CI-Job beim Taggen von `ui/vX.Y.Z`. + `basicbar-integrations @ https://github.com/virtUOS/basicbar/archive/refs/tags/integrations/v0.1.0.tar.gz#subdirectory=packages/django/basicbar-integrations` + (ursprünglich als GitLab-Archiv-Tarball, seit dem Umzug auf GitHub — siehe + [ADR-0004](0004-umzug-nach-github.md) — als GitHub-Archiv-Tarball, gleiches + Prinzip). +- **npm-Paket: GitHub Release Asset** (npm kann — anders als pip — nicht aus + einem Unterverzeichnis eines Git-Repos installieren, und ein öffentliches + Release-Asset braucht wie die Django-Tarballs keine Registry/Credentials). + Publish per CI-Job beim Taggen von `ui/vX.Y.Z`. - **Template:** Copier arbeitet direkt gegen das Git-Repo - (`copier copy gl:virtuos/digitale-dienste/basicbar …`); `copier update` + (`copier copy https://github.com/virtUOS/basicbar.git …`); `copier update` nutzt die im Projekt hinterlegte Template-Version (`.copier-answers.yml`). - **Changelog als Upgrade-Vertrag:** Jeder Release-Eintrag im CHANGELOG.md nennt nötige Migrationsschritte der Tools. Breaking Change ⇒ Major-Bump. @@ -37,6 +41,10 @@ passieren. - Kein Auto-Update: Tools können Versionen unterschiedlich lange fahren; divergierende Optik zwischen Releases ist akzeptiert und gewollt reversibel. -- Die GitLab-npm-Registry braucht einmalig ein Deploy-Token/CI-Setup (Phase 3). - Sollte die Paketzahl oder Release-Frequenz stark wachsen, kann später auf - die GitLab-PyPI-Registry umgestellt werden, ohne die Tags zu ändern. + eine PyPI-/npm-Registry umgestellt werden, ohne die Tags zu ändern. + +**Update 2026-08-04:** Repo-Host von GitLab auf GitHub gewechselt (Details und +Gründe: [ADR-0004](0004-umzug-nach-github.md)); die Distributionsmechanik +(Archiv-Tarball für pip, Release-Asset für npm) bleibt unverändert, nur die +URLs zeigen jetzt auf `github.com/virtUOS/basicbar`. diff --git a/docs/ADR/0004-umzug-nach-github.md b/docs/ADR/0004-umzug-nach-github.md new file mode 100644 index 0000000..8fe6781 --- /dev/null +++ b/docs/ADR/0004-umzug-nach-github.md @@ -0,0 +1,67 @@ +# ADR-0004: Umzug von GitLab nach GitHub + +Status: angenommen (2026-08-04) + +## Kontext + +basicbar lag bislang auf der internen Uni-Osnabrück-GitLab-Instanz +(`gitlab.uni-osnabrueck.de`), öffentlich sichtbar, damit Tools die +Django-Pakete als Archiv-Tarball ohne Credentials installieren können +(ADR-0002). Das reicht für Tools, die selbst auf derselben Instanz liegen +oder zumindest aus dem Uni-Netz/per VPN bauen. + +abstimmBAR ist als erstes „-bar“-Tool zusätzlich öffentlich auf GitHub +gespiegelt (`github.com/virtUOS/abstimmbar`) und baut sein Release-Image über +GitHub Actions auf GitHub-gehosteten Runnern. Diese Runner haben keinen +Netzwerkzugriff auf `gitlab.uni-osnabrueck.de` — das ist keine +Auth-/Sichtbarkeitsfrage (das Projekt war bereits public), sondern schlicht +Netzwerk-Nichterreichbarkeit von außerhalb des Uni-Netzes +(„Network is unreachable“, kein 401/404). Der Image-Build schlug entsprechend +beim `pip install` der basicbar-Pakete fehl. + +Zusätzlich: Ziel ist, Beiträge auch von anderen Hochschulen zu ermöglichen — +das setzt einen für Externe leicht auffindbaren, ohne Uni-Zugang nutzbaren +Ort voraus. + +## Entscheidung + +**basicbar zieht vollständig nach `github.com/virtUOS/basicbar` um** (nicht +nur eine Paket-Spiegelung). Historie und alle Paket-Tags wurden per +`git push --mirror` übernommen. GitHub ist ab sofort der kanonische Ort für +Quelle, Issues/PRs und Releases. + +Damit einher: + +- **CI**: `.gitlab-ci.yml` durch `.github/workflows/ci.yml` (SPDX-Check, + Paket-Tests, UI-Build) und `.github/workflows/publish.yml` + (Release-Publish bei `ui/v*`-Tags) ersetzt. +- **Django-Pakete**: weiterhin Archiv-Tarball vom Tag, jetzt von + `github.com/virtUOS/basicbar/archive/refs/tags/.tar.gz` statt vom + GitLab-Pendant — gleiches Prinzip, andere URL. +- **`@basicbar/ui`**: statt GitLab Generic Package Registry jetzt ein + GitHub-Release-Asset (`npm pack` in der CI, Upload als Release-Anhang beim + `ui/v*`-Tag). Bewusst **kein** öffentlicher npm-Registry-Publish — das hätte + ein `@basicbar`-npm-Scope, ein Account und ein Token samt Rotation + gebraucht; ein Release-Asset ist wie der Django-Tarball eine reine + öffentliche URL ohne Registry-Betrieb oder Credentials. +- **Copier-Template**: Quelle für `copier copy`/`copier update` ist jetzt + `https://github.com/virtUOS/basicbar.git`. +- **Workflow-Sprache**: „Branch + MR“ → „Branch + PR“ (siehe CLAUDE.md). + +Für andere zukünftige öffentliche „-bar“-Tools ist das derselbe, +wiederverwendbare Distributionsweg — kein Sonderfall nur für abstimmBAR. + +## Konsequenzen + +- Die alte GitLab-Instanz war der einzige kanonische Ort; ob das + GitLab-Projekt archiviert oder gelöscht wird, ist eine + Hosting-/Policy-Entscheidung der Uni und nicht Teil dieser ADR. +- Interne „-bar“-Tools, die noch auf der Uni-GitLab liegen (z. B. + ausleihBAR, erkennBAR) und die alten GitLab-Archiv-URLs referenzieren, + brauchen eigene Folge-MRs, um auf die neuen GitHub-URLs umzustellen. Ihr CI + läuft weiter auf der Uni-GitLab-Instanz; das ist unproblematisch, solange + ausgehende Verbindungen zu github.com von dort erlaubt sind (in aller Regel + der Fall, anders als der umgekehrte Weg). +- Kein Registry-Betrieb für `@basicbar/ui` nötig, dafür kein `npm view`/keine + Semver-Ranges für Konsumenten — Tarball-URL muss bei jedem Update exakt + gehoben werden (wie schon zuvor bei der GitLab Generic Package Registry). diff --git a/packages/ui/README.md b/packages/ui/README.md index 01a52dd..45d5eb9 100644 --- a/packages/ui/README.md +++ b/packages/ui/README.md @@ -47,5 +47,5 @@ initI18n({ resources: { en, de } }); ``` Build: `npm install && npm run build` (tsup → `dist/`). Distribution als -npm-Tarball über die GitLab Generic Package Registry (siehe ADR-0002 und +npm-Tarball über ein GitHub-Release-Asset (siehe ADR-0002, ADR-0004 und Repo-CI). diff --git a/template/README.md b/template/README.md index ced646b..502b890 100644 --- a/template/README.md +++ b/template/README.md @@ -6,7 +6,7 @@ Das Projektgerüst der „-bar“-Tools (`template/project/`, Fragen in ```bash # --vcs-ref HEAD ist Pflicht: ohne den Schalter nimmt Copier den neuesten # PAKET-Tag (lti/v…, ui/v…) als Template-Version und generiert veraltet. -pipx run copier copy --vcs-ref HEAD https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/basicbar.git mein-tool +pipx run copier copy --vcs-ref HEAD https://github.com/virtUOS/basicbar.git mein-tool cd mein-tool && git init -b main && git add -A && git commit -m "Gerüst aus basicbar-Template" docker compose up -d && docker compose exec backend python manage.py migrate ``` @@ -20,8 +20,7 @@ Enthalten: Django + DRF auf `basicbar-auth`/`basicbar-integrations` (LTI 1.3 optional per Frage), React/Vite auf `@basicbar/ui` (App-Shell mit Login/Theme/Sprache; Farb-Ramps aus den Hue-Fragen als Start-Identität), Keycloak-Dev-Realm mit Demo-Konten, Compose-Stack mit projektfreien Ports, -Caddyfile, GitLab-CI (ruff, Tests gegen PostgreSQL, Frontend-Build), -README/CLAUDE.md. +Caddyfile, CI (ruff, Tests gegen PostgreSQL, Frontend-Build), README/CLAUDE.md. Spätere Gerüst-Änderungen holt ein Tool mit `pipx run copier update` (Basis: die generierte `.copier-answers.yml`). Erster echter Konsument: diff --git a/template/project/README.md.jinja b/template/project/README.md.jinja index 8956c7a..14046fe 100644 --- a/template/project/README.md.jinja +++ b/template/project/README.md.jinja @@ -2,7 +2,7 @@ {{ project_description }} -Erzeugt aus dem [basicbar-Template](https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/basicbar) +Erzeugt aus dem [basicbar-Template](https://github.com/virtUOS/basicbar) (Django + DRF, React + Vite, OIDC via Keycloak, @basicbar/ui-Designsystem, optionale KI-/Übersetzungs-Integrationen{% if use_lti %}, LTI 1.3{% endif %}). diff --git a/template/project/backend/requirements.txt.jinja b/template/project/backend/requirements.txt.jinja index b399ec0..8e8af76 100644 --- a/template/project/backend/requirements.txt.jinja +++ b/template/project/backend/requirements.txt.jinja @@ -2,10 +2,10 @@ Django==5.1.4 djangorestframework==3.15.2 # Gemeinsame Basis der -bar-Tools; Versionswechsel = Tag in der URL heben, # Migrationsschritte im CHANGELOG des basicbar-Repos. -basicbar-integrations @ https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/basicbar/-/archive/integrations/v0.1.0/basicbar-integrations-v0.1.0.tar.gz#subdirectory=packages/django/basicbar-integrations -basicbar-auth @ https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/basicbar/-/archive/auth/v0.1.0/basicbar-auth-v0.1.0.tar.gz#subdirectory=packages/django/basicbar-auth +basicbar-integrations @ https://github.com/virtUOS/basicbar/archive/refs/tags/integrations/v0.1.0.tar.gz#subdirectory=packages/django/basicbar-integrations +basicbar-auth @ https://github.com/virtUOS/basicbar/archive/refs/tags/auth/v0.1.0.tar.gz#subdirectory=packages/django/basicbar-auth {% if use_lti -%} -basicbar-lti @ https://gitlab.uni-osnabrueck.de/virtuos/digitale-dienste/basicbar/-/archive/lti/v0.1.2/basicbar-lti-v0.1.2.tar.gz#subdirectory=packages/django/basicbar-lti +basicbar-lti @ https://github.com/virtUOS/basicbar/archive/refs/tags/lti/v0.1.2.tar.gz#subdirectory=packages/django/basicbar-lti {% endif -%} django-cors-headers==4.6.0 psycopg[binary,pool]==3.2.3 diff --git a/template/project/frontend/package.json.jinja b/template/project/frontend/package.json.jinja index d5da3c5..da5b574 100644 --- a/template/project/frontend/package.json.jinja +++ b/template/project/frontend/package.json.jinja @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@basicbar/ui": "https://gitlab.uni-osnabrueck.de/api/v4/projects/1511/packages/generic/ui/0.2.1/basicbar-ui-0.2.1.tgz", + "@basicbar/ui": "https://github.com/virtUOS/basicbar/releases/download/ui/v0.2.1/basicbar-ui-0.2.1.tgz", "@fontsource-variable/plus-jakarta-sans": "^5.2.8", "i18next": "^26.3.1", "i18next-browser-languagedetector": "^8.2.1",