feat: add icons to buttons and auto-refresh on stop, implement GitHub Actions CI/CD

UI Enhancements:
- Add Font Awesome icons to all control buttons (stop, start, restart, manage volumes)
- Auto-refresh page after server stop with smooth UI transitions
- Hide/show appropriate buttons based on server state (Restart vs Manage Volumes)
- Re-inject icons removed by JupyterHub's DOM manipulation

Technical Implementation:
- MutationObserver watches for JupyterHub DOM changes after stop
- Immediate UI state correction before page refresh
- Comprehensive console logging for debugging

CI/CD:
- Add GitHub Actions workflow for Dockerfile validation with hadolint
- Triggers on push to main, version tags, and pull requests
- Uses hadolint to ensure Dockerfile best practices
This commit is contained in:
stellarshenson
2025-11-04 10:49:32 +01:00
parent 99236350d4
commit d9896a7073
4 changed files with 88 additions and 23 deletions

29
.github/workflows/docker-build.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: Validate Dockerfile
on:
push:
branches:
- main
tags:
- '*_cuda-*_jh-*'
pull_request:
branches:
- main
workflow_dispatch:
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Lint Dockerfile with hadolint
uses: hadolint/hadolint-action@v3.1.0
with:
dockerfile: services/jupyterhub/Dockerfile.jupyterhub
ignore: DL3008,DL3013,DL3015,DL3059,DL3027,DL4006,SC2006,SC1008,DL3046,SC2153,DL3001,SC2016,SC2002
- name: Validation completed
run: echo "Dockerfile validation completed successfully"