diff --git a/.github/workflows/base.yml b/.github/workflows/base.yml index 18cf1eebb..3d25c1d1d 100644 --- a/.github/workflows/base.yml +++ b/.github/workflows/base.yml @@ -11,20 +11,28 @@ on: [push, pull_request] name: Base GitHub Action for Check, Test and Lints jobs: - # - check: - name: Check + setup: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: recursive + - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - uses: Swatinem/rust-cache@v2 + # + check: + name: Check + runs-on: ubuntu-latest + needs: setup + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive - uses: actions-rs/cargo@v1 with: command: check @@ -33,16 +41,11 @@ jobs: clippy: name: Clippy runs-on: ubuntu-latest + needs: setup steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: recursive - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - - uses: Swatinem/rust-cache@v2 - run: | sudo apt update sudo apt install -y libwebkit2gtk-4.0-dev \ @@ -54,7 +57,10 @@ jobs: libgtk-3-dev \ libayatana-appindicator3-dev \ librsvg2-dev - - run: cargo build + - uses: actions-rs/cargo@v1 + with: + command: build + args: --bin mega --bin libra - run: rustup component add clippy - uses: actions-rs/cargo@v1 with: @@ -65,18 +71,12 @@ jobs: test: name: Tests runs-on: ubuntu-latest + needs: setup steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: recursive - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - - uses: Swatinem/rust-cache@v2 - run: | - sudo apt-get update sudo apt-get install -y git-lfs git lfs install git config --global user.email "mega@github.com" @@ -91,15 +91,11 @@ jobs: doc: name: Doc runs-on: ubuntu-latest + needs: setup steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: recursive - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - uses: actions-rs/cargo@v1 with: command: doc @@ -108,13 +104,35 @@ jobs: fuse: name: Fuse Lints runs-on: ubuntu-latest + needs: setup steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - submodules: recursive + - uses: actions/checkout@v3 - run: sudo apt-get update && sudo apt-get install -y fuse3 libfuse3-dev - run: cd ./scorpio && cargo clippy --all-targets --all-features -- -D warnings + + moon-lint-and-build: + name: MOON Lint & Build + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '22' + cache: 'npm' + cache-dependency-path: ./moon/package.json + + - name: Install dependencies + working-directory: ./moon + run: npm install + + - name: Run ESLint + working-directory: ./moon + run: npm run lint + + - name: Build Next.js application + working-directory: ./moon + run: npm run build diff --git a/moon/src/app/api/user/route.ts b/moon/src/app/api/user/route.ts index 776ec8ba5..ce1dc17fe 100644 --- a/moon/src/app/api/user/route.ts +++ b/moon/src/app/api/user/route.ts @@ -5,7 +5,7 @@ export const dynamic = 'force-dynamic' // defaults to auto export async function GET(request: NextRequest) { const session = await verifySession() - if (!session) return null + if (!session) return Response.json({}); const endpoint = process.env.MEGA_INTERNAL_HOST; const cookieHeader = request.headers.get('cookie') || ''; diff --git a/moon/src/app/api/user/ssh/[id]/delete/route.ts b/moon/src/app/api/user/ssh/[id]/delete/route.ts index f37cb90b0..f2c23dde0 100644 --- a/moon/src/app/api/user/ssh/[id]/delete/route.ts +++ b/moon/src/app/api/user/ssh/[id]/delete/route.ts @@ -5,7 +5,7 @@ const endpoint = process.env.MEGA_INTERNAL_HOST; export async function POST(request: Request, { params }: { params: { id: string } }) { const session = await verifySession() - if (!session) return null + if (!session) return Response.json({}) const cookieHeader = request.headers.get('cookie') || ''; diff --git a/moon/src/app/api/user/ssh/route.ts b/moon/src/app/api/user/ssh/route.ts index 81d48c7ba..746f4baad 100644 --- a/moon/src/app/api/user/ssh/route.ts +++ b/moon/src/app/api/user/ssh/route.ts @@ -7,7 +7,7 @@ const endpoint = process.env.MEGA_INTERNAL_HOST; export async function POST(request: NextRequest) { const session = await verifySession() - if (!session) return null + if (!session) return Response.json({}) const cookieHeader = request.headers.get('cookie') || ''; const body = await request.json(); @@ -33,7 +33,7 @@ export async function POST(request: NextRequest) { export async function GET(request: NextRequest) { const session = await verifySession() - if (!session) return null + if (!session) return Response.json({}) const cookieHeader = request.headers.get('cookie') || '';