From fed01d78e9d6ba7a2c857094cbe40637a1a9654b Mon Sep 17 00:00:00 2001 From: ResuBaka Date: Sun, 23 Feb 2025 08:58:59 +0100 Subject: [PATCH] ci: update PR ci to only run one "task" with all jobs and not two "tasks" --- .github/workflows/branch.yml | 34 --------------- .github/workflows/pull_request.yml | 66 ++++++++++++++++++++++++++++-- 2 files changed, 62 insertions(+), 38 deletions(-) delete mode 100644 .github/workflows/branch.yml diff --git a/.github/workflows/branch.yml b/.github/workflows/branch.yml deleted file mode 100644 index 71964f8..0000000 --- a/.github/workflows/branch.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Check branch changes -on: - push: - branches-ignore: - - main - -env: - TEST_TAG: my-test:test - -jobs: - frontend_lint: - runs-on: ubuntu-latest - defaults: - run: - working-directory: ./frontend - steps: - - uses: actions/checkout@v4 - - uses: oven-sh/setup-bun@v1 - - name: Install dependencies - run: bun install --frozen-lockfile - - name: Check formatting - run: bun run format:check - frontend_build: - runs-on: ubuntu-latest - defaults: - run: - working-directory: ./frontend - steps: - - uses: actions/checkout@v4 - - uses: oven-sh/setup-bun@v1 - - name: Install dependencies - run: bun install --frozen-lockfile - - name: Build - run: bun run build diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index bff0a55..da7b82e 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -4,9 +4,10 @@ on: env: TEST_TAG: my-test:test + CARGO_TERM_COLOR: always jobs: - frontend_lint: + frontend-lint: runs-on: ubuntu-latest defaults: run: @@ -18,7 +19,7 @@ jobs: run: bun install --frozen-lockfile - name: Check formatting run: bun run format:check - frontend_build: + frontend-build: runs-on: ubuntu-latest defaults: run: @@ -30,12 +31,15 @@ jobs: run: bun install --frozen-lockfile - name: Build run: bun run build - frontend_check-docker: + frontend-check-docker: runs-on: ubuntu-latest defaults: run: working-directory: ./frontend - needs: frontend_build + needs: + - frontend-build + - frontend-lint + if: ${{ needs.frontend-build.result == 'success' && needs.frontend-lint.result == 'success' }} steps: - name: Checkout uses: actions/checkout@v4 @@ -49,3 +53,57 @@ jobs: context: ./frontend load: true tags: ${{ env.TEST_TAG }} + backend-lint: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./rust/api-server + steps: + - uses: actions/checkout@v4 + - name: Rust setup + run: rustup toolchain install stable --profile minimal + - name: Lint + run: cargo fmt --check + backend-build: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./rust/api-server + steps: + - uses: actions/checkout@v4 + - name: Rust setup + run: rustup toolchain install stable --profile minimal + - name: Cache Cargo build target + uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + rust/api-server/target + key: ${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.lock') }} + - name: Build + run: cargo build --release --bin bitcraft-hub-api + backend-check-docker: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./rust/api-server + needs: + - backend-build + - backend-lint + if: ${{ needs.backend-build.result == 'success' && needs.backend-lint.result == 'success' }} + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Build and export to Docker + uses: docker/build-push-action@v5 + with: + context: ./rust/api-server + load: true + tags: ${{ env.TEST_TAG }} \ No newline at end of file