diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml new file mode 100644 index 0000000..d9e9044 --- /dev/null +++ b/.gitea/workflows/test.yml @@ -0,0 +1,73 @@ +name: Frontend CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + + - name: Cache dependencies + uses: actions/cache@v4 + # with: + # path: ~/.bun/install/cache + # key: ${{ runner.os }}-bun-${{ hashFiles('frontend/bun.lockb') }} + # restore-keys: | + # ${{ runner.os }}-bun- + + - name: Install dependencies + run: bun install + + - name: Run ESLint + run: bun run lint + + - name: Run TypeScript check + run: bunx tsc -b --noEmit + + build: + runs-on: ubuntu-latest + needs: lint + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + + - name: Cache dependencies + uses: actions/cache@v4 + # with: + # path: ~/.bun/install/cache + # key: ${{ runner.os }}-bun-${{ hashFiles('frontend/bun.lockb') }} + # restore-keys: | + # ${{ runner.os }}-bun- + + - name: Install dependencies + run: bun install + + - name: Build application + run: bun run build + + - name: Upload build artifacts + uses: actions/upload-artifact@v3 + with: + name: frontend-dist + path: dist/ + retention-days: 7 \ No newline at end of file