diff --git a/.github/workflows/build_ghcr.yml b/.github/workflows/build_ghcr.yml index cd1052b..1012a99 100644 --- a/.github/workflows/build_ghcr.yml +++ b/.github/workflows/build_ghcr.yml @@ -26,23 +26,41 @@ jobs: - "apps.comics.tests" - "apps.characters.tests" - "snowsune.tests" - - "" # Empty string runs all tests (default Django behavior) + - "" # Empty string runs all tests steps: - name: Checkout repository uses: actions/checkout@v4 + with: + submodules: true - name: Set up Python uses: actions/setup-python@v4 with: python-version: "3.13" - - name: Install dependencies + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: latest + + - name: Install Python dependencies run: | python -m pip install --upgrade pip pip install pipenv pipenv install --dev # Install dev dependencies from Pipfile + - name: Install and build npm apps + run: | + cd apps/rp_scheduler + pnpm install + pnpm build + - name: Run tests for ${{ matrix.test_target || 'all apps' }} run: | if [ -n "${{ matrix.test_target }}" ]; then @@ -55,8 +73,8 @@ jobs: - name: Test Summary run: | - echo "✅ Test matrix completed for ${{ matrix.test_target || 'all apps' }}" - echo "📊 Matrix strategy ensures all apps are tested individually and together" + echo "Test matrix completed for ${{ matrix.test_target || 'all apps' }}" + echo "Matrix strategy ensures all apps are tested individually and together" formatblack: name: Black Formatter @@ -94,6 +112,22 @@ jobs: fetch-depth: 0 submodules: true + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: latest + + - name: Build npm apps + run: | + cd apps/rp_scheduler + pnpm install + pnpm build + - name: Log in to the Container registry uses: docker/login-action@v2 with: diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c3360fc --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "apps/rp_scheduler"] + path = apps/rp_scheduler + url = https://github.com/MasQueElite/rp_scheduler.git diff --git a/apps/rp_scheduler b/apps/rp_scheduler new file mode 160000 index 0000000..327a5ef --- /dev/null +++ b/apps/rp_scheduler @@ -0,0 +1 @@ +Subproject commit 327a5ef0192875907c3da92b3ec27678ad78823e diff --git a/snowsune/settings.py b/snowsune/settings.py index 0b90bd6..15f7e3c 100644 --- a/snowsune/settings.py +++ b/snowsune/settings.py @@ -75,6 +75,7 @@ "apps.notifications", # Centralized notification system "apps.thank_yous", # Thank yous management app "apps.quotes", # Quotes scroller app + "apps.rp_scheduler", # RP Scheduler app ] MIDDLEWARE = [ @@ -189,6 +190,7 @@ BASE_DIR / "apps/characters/static", # Characters have their own static files too BASE_DIR / "apps/comics/static", # Comics BASE_DIR / "apps/thank_yous/static", # Thank Yous + BASE_DIR / "apps/rp_scheduler/static", # RP Scheduler Svelte app ] # Media Paths (things like profile pictures and such are uploaded here) diff --git a/snowsune/urls.py b/snowsune/urls.py index 9a7c3c1..551ad65 100644 --- a/snowsune/urls.py +++ b/snowsune/urls.py @@ -36,6 +36,7 @@ path("characters/", include("apps.characters.urls")), path("quotes/", include("apps.quotes.urls")), path("users/", include("apps.users.urls")), + path("rp/", include("apps.rp_scheduler.urls")), # SEO path( "sitemap.xml",