From 9ae5ae0c2a82bea81fdd972526e00f0378de9c42 Mon Sep 17 00:00:00 2001 From: ResuBaka Date: Sun, 23 Feb 2025 10:39:23 +0100 Subject: [PATCH] ci: update main branch ci config --- .github/workflows/main-branch-api-server.yml | 42 ------- .github/workflows/main-branch-frontend.yml | 31 ------ .github/workflows/main-branch.yml | 111 +++++++++++++++++++ 3 files changed, 111 insertions(+), 73 deletions(-) delete mode 100644 .github/workflows/main-branch-api-server.yml delete mode 100644 .github/workflows/main-branch-frontend.yml create mode 100644 .github/workflows/main-branch.yml diff --git a/.github/workflows/main-branch-api-server.yml b/.github/workflows/main-branch-api-server.yml deleted file mode 100644 index aff6db5..0000000 --- a/.github/workflows/main-branch-api-server.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Check branch changes -on: - push: - branches: - - main - -env: - CARGO_TERM_COLOR: always - -jobs: - 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 diff --git a/.github/workflows/main-branch-frontend.yml b/.github/workflows/main-branch-frontend.yml deleted file mode 100644 index 3a2c521..0000000 --- a/.github/workflows/main-branch-frontend.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Check branch changes -on: - push: - branches: - - main - -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/main-branch.yml b/.github/workflows/main-branch.yml new file mode 100644 index 0000000..6e7f44b --- /dev/null +++ b/.github/workflows/main-branch.yml @@ -0,0 +1,111 @@ +name: Check main branch changes +on: + push: + branches: + - main + +env: + TEST_TAG: my-test:test + CARGO_TERM_COLOR: always + +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 + frontend-check-docker: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./frontend + needs: + - frontend-build + - frontend-lint + if: ${{ needs.frontend-build.result == 'success' && needs.frontend-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: ./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 }}