From 654f7bfec66da1abf6940f6daafa8fe44d699fdc Mon Sep 17 00:00:00 2001 From: Tobias Klemp Date: Sat, 3 Jan 2026 18:43:04 +0100 Subject: [PATCH] feat: cache node_modules --- .gitea/workflows/ci.yml | 186 +++++++++++++++++++--------------------- 1 file changed, 87 insertions(+), 99 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index b8f565f..36d6d7b 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -7,7 +7,7 @@ on: branches: [main, develop] jobs: - build-and-test: + install-dependencies: runs-on: ubuntu-latest steps: - name: Checkout repo @@ -26,112 +26,100 @@ jobs: - name: Install dependencies run: bun ci + - name: Upload node_modules artifact + uses: actions/upload-artifact@v4 + with: + name: node_modules + path: node_modules/ + retention-days: 1 + + build: + runs-on: ubuntu-latest + needs: install-dependencies + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Install bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: 1.3.4 + + - name: Download node_modules artifact + uses: actions/download-artifact@v4 + with: + name: node_modules + path: node_modules + - name: Build app run: bun --bun run build + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: build-output + path: build/ + retention-days: 7 + + type-check: + runs-on: ubuntu-latest + needs: install-dependencies + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Install bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: 1.3.4 + + - name: Download node_modules artifact + uses: actions/download-artifact@v4 + with: + name: node_modules + path: node_modules + - name: Run type checking run: bun --bun run check + lint: + runs-on: ubuntu-latest + needs: install-dependencies + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Install bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: 1.3.4 + + - name: Download node_modules artifact + uses: actions/download-artifact@v4 + with: + name: node_modules + path: node_modules + - name: Run linting run: bun --bun run lint:check + format-check: + runs-on: ubuntu-latest + needs: install-dependencies + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Install bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: 1.3.4 + + - name: Download node_modules artifact + uses: actions/download-artifact@v4 + with: + name: node_modules + path: node_modules + - name: Check formatting run: bun --bun run format:check - - # build-docker-image: - # runs-on: ubuntu-latest - # steps: - # - name: Set up Docker Build - # uses: docker/setup-buildx-action@v3 - - # - name: Log in to registry - # uses: docker/login-action@v3 - # with: - # registry: ${{ vars.INSTANCE_URL }} - # username: ${{ github.actor }} - # password: ${{ secrets.REGISTRY_ACCESS_TOKEN }} - - # - name: Build and push image - # uses: docker/build-push-action@v6 - # with: - # push: true - # tags: ${{ vars.INSTANCE_URL }}/tech-reborn/phoenix:${{ github.sha }} - - # type-check: - # runs-on: ubuntu-latest - # container: - # image: oven/bun:alpine - # needs: install-dependencies - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - - # - name: Download node_modules artifact - # uses: actions/download-artifact@v3 - # with: - # name: node_modules - # path: node_modules - - # - name: Run type checking - # run: bun run check - - # lint: - # runs-on: ubuntu-latest - # container: - # image: oven/bun:alpine - # needs: install-dependencies - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - - # - name: Download node_modules artifact - # uses: actions/download-artifact@v3 - # with: - # name: node_modules - # path: node_modules - - # - name: Run linting - # run: bun run lint:check - - # format-check: - # runs-on: ubuntu-latest - # container: - # image: oven/bun:alpine - # needs: install-dependencies - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - - # - name: Download node_modules artifact - # uses: actions/download-artifact@v3 - # with: - # name: node_modules - # path: node_modules - - # - name: Check formatting - # run: bun run format:check - - # build: - # runs-on: ubuntu-latest - # container: - # image: oven/bun:alpine - # needs: install-dependencies - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - - # - name: Download node_modules artifact - # uses: actions/download-artifact@v3 - # with: - # name: node_modules - # path: node_modules - - # - name: Build application - # run: bun run build - - # - name: Upload build artifacts - # uses: actions/upload-artifact@v4 - # with: - # name: build-output - # path: build/ - # retention-days: 7