diff --git a/.forgejo/workflows/ci-simple.yml b/.forgejo/workflows/ci-simple.yml index 56d01a9..aae116a 100644 --- a/.forgejo/workflows/ci-simple.yml +++ b/.forgejo/workflows/ci-simple.yml @@ -66,9 +66,28 @@ jobs: fi echo "Frontend build successful" - - name: Test Docker builds + docker-build: + name: Docker Build Test + runs-on: docker + needs: test-and-build + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Test backend Docker build + working-directory: ./backend run: | - cd backend && docker build -t tschunkorder-backend-test . - cd ../frontend && docker build -t tschunkorder-frontend-test . - cd .. && docker compose build - echo "All Docker builds successful" \ No newline at end of file + docker build -t tschunkorder-backend-test . + echo "Backend Docker build successful" + + - name: Test frontend Docker build + working-directory: ./frontend + run: | + docker build -t tschunkorder-frontend-test . + echo "Frontend Docker build successful" + + - name: Test docker compose build + run: | + docker compose build + echo "Docker Compose build successful" \ No newline at end of file diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml deleted file mode 100644 index 990f7c5..0000000 --- a/.forgejo/workflows/ci.yml +++ /dev/null @@ -1,147 +0,0 @@ -name: CI - -on: - push: - branches: [ master, develop ] - pull_request: - branches: [ master, develop ] - -jobs: - backend-tests: - name: Backend Tests - runs-on: docker - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.11' - - - name: Cache pip dependencies - uses: actions/cache@v3 - with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('backend/requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - - - name: Install backend dependencies - working-directory: ./backend - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - - - name: Run backend tests - working-directory: ./backend - run: | - python -m pytest test_automated.py -v - - - name: Run backend tests with pytest directly - working-directory: ./backend - run: | - python -m pytest -v - - backend-build: - name: Backend Build - runs-on: docker - needs: backend-tests - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.11' - - - name: Install backend dependencies - working-directory: ./backend - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - - - name: Test backend import - working-directory: ./backend - run: | - python -c "import main; print('Backend imports successfully')" - - - name: Test backend startup - working-directory: ./backend - run: | - timeout 10s python main.py || true - echo "Backend startup test completed" - - frontend-build: - name: Frontend Build - runs-on: docker - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - cache: 'npm' - cache-dependency-path: frontend/package-lock.json - - - name: Install frontend dependencies - working-directory: ./frontend - run: npm ci - - - name: Run frontend type check - working-directory: ./frontend - run: npm run type-check - - - name: Run frontend lint - working-directory: ./frontend - run: npm run lint - - - name: Build frontend - working-directory: ./frontend - run: npm run build - - - name: Test frontend build output - working-directory: ./frontend - run: | - if [ -d "dist" ]; then - echo "Frontend build successful - dist directory created" - ls -la dist/ - else - echo "Frontend build failed - dist directory not found" - exit 1 - fi - - docker-build: - name: Docker Build Test - runs-on: docker - needs: [backend-tests, frontend-build] - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Test backend Docker build - working-directory: ./backend - run: | - docker build -t tschunkorder-backend-test . - echo "Backend Docker build successful" - - - name: Test frontend Docker build - working-directory: ./frontend - run: | - docker build -t tschunkorder-frontend-test . - echo "Frontend Docker build successful" - - - name: Test docker-compose build - run: | - docker compose build - echo "Docker Compose build successful" \ No newline at end of file