name: CI on: push: branches: [main, develop] pull_request: branches: [main, develop] jobs: build-and-test: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 - name: Install node uses: actions/setup-node@v6 with: node-version: '22.x' - name: Install bun uses: oven-sh/setup-bun@v2 with: bun-version: 1.3.4 - name: Install dependencies run: bun ci - name: Build app run: bun --bun run build - name: Run type checking run: bun --bun run check - name: Run linting run: bun --bun run lint:check - name: Check formatting run: bun --bun run format:check build-docker-image: runs-on: ubuntu-latest container: ringingmountain/podman steps: # - name: Checkout code # uses: actions/checkout@v4 - name: Login to Docker registry run: podman login --tls-verify=false gitea:3000 --username ${{ github.actor }} --password ${{ secrets.REGISTRY_ACCESS_TOKEN }} # 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