name: CI on: pull_request: jobs: build: name: Lint runs-on: vps-4 permissions: contents: read packages: read # To report GitHub Actions status checks statuses: write steps: - name: Checkout code uses: actions/checkout@v4 with: # super-linter needs the full git history to get the # list of files that changed across commits fetch-depth: 0 - name: Super-linter uses: super-linter/super-linter@v7.2.1 # x-release-please-version checkstyle: name: "Checkstyle Main" runs-on: "vps-4" container: image: "cimg/openjdk:22.0-node" steps: - name: "Checkout" uses: actions/checkout@v3 - name: Setup Java 22 uses: actions/setup-java@v3 with: distribution: "temurin" java-version: "22" - uses: actions/cache@v3 working-directory: ./backend with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: "Prepare Gradle" working-directory: ./backend run: gradle clean - name: "Check" working-directory: ./backend run: gradle checkstyleMain - name: "Stop Gradle" working-directory: ./backend run: gradle --stop eslint: name: eslint runs-on: vps-4 container: image: catthehacker/ubuntu:act-latest steps: - name: Checkout Code uses: actions/checkout@v4 - name: Install bun uses: oven-sh/setup-bun@v2 - uses: actions/cache@v3 working-directory: ./frontend with: path: | frontend/node_modules/ key: ${{ runner.os }}-bun- restore-keys: | ${{ runner.os }}-bun- - name: Install dependencies run: | cd frontend bun install - name: Run Eslint run: | cd frontend bun run lint prettier: name: prettier runs-on: vps-4 container: image: catthehacker/ubuntu:act-latest steps: - name: Checkout Code uses: actions/checkout@v4 - name: Install bun uses: oven-sh/setup-bun@v2 - uses: actions/cache@v3 working-directory: ./frontend with: path: | frontend/node_modules/ key: ${{ runner.os }}-bun- restore-keys: | ${{ runner.os }}-bun- - name: Install dependencies run: | cd frontend bun install - name: Run prettier run: | cd frontend bun run format:check test-build: name: test-build runs-on: vps-4 container: image: catthehacker/ubuntu:act-latest steps: - name: Checkout Code uses: actions/checkout@v4 - name: Install bun uses: oven-sh/setup-bun@v2 - uses: actions/cache@v3 working-directory: ./frontend with: path: | frontend/node_modules/ key: ${{ runner.os }}-bun- restore-keys: | ${{ runner.os }}-bun- - uses: actions/cache@v3 working-directory: ./frontend with: path: | frontend/dist/ key: ${{ runner.os }}-dist- restore-keys: | ${{ runner.os }}-dist- - name: Install dependencies run: | cd frontend bun install - name: Test build run: | cd frontend bun run build