diff --git a/.forgejo/workflows/lint-and-build.yml b/.forgejo/workflows/lint-and-build.yml index 5df1e38..f4ee9a9 100644 --- a/.forgejo/workflows/lint-and-build.yml +++ b/.forgejo/workflows/lint-and-build.yml @@ -81,87 +81,27 @@ jobs: working-directory: ./backend run: mv tests.disabled tests - -name: Lint and Build - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -env: - CARGO_TERM_COLOR: always - -jobs: - lint: + docker-build: runs-on: docker container: - image: rust:latest + image: docker:cli + env: + DOCKER_HOST: tcp://docker-in-dinner:2375 + DOCKER_TLS_CERTDIR: "" + needs: build steps: - - name: Install Node.js + - name: Verify Docker connection run: | - apt-get update && apt-get install -y curl - curl -fsSL https://deb.nodesource.com/setup_20.x | bash - - apt-get install -y nodejs + echo "DOCKER_HOST: $DOCKER_HOST" + docker --version + docker info + docker ps - uses: https://github.com/actions/checkout@v4 - - name: Install dependencies + - name: Build Docker image + working-directory: ./backend run: | - apt-get update && apt-get install -y pkg-config libssl-dev - - - name: Install Rust components - run: | - rustup component add rustfmt clippy - - - name: Run rustfmt (auto-fix) - working-directory: ./backend - run: cargo fmt --all - continue-on-error: true - - - name: Check formatting - working-directory: ./backend - run: cargo fmt --all -- --check - continue-on-error: true - - - name: Run clippy - working-directory: ./backend - run: cargo clippy --all-targets --all-features -- -W warnings - - build: - runs-on: docker - container: - image: rust:latest - needs: lint - - steps: - - name: Install Node.js - run: | - apt-get update && apt-get install -y curl - curl -fsSL https://deb.nodesource.com/setup_20.x | bash - - apt-get install -y nodejs - - - uses: https://github.com/actions/checkout@v4 - - - name: Install dependencies - run: | - apt-get update && apt-get install -y pkg-config libssl-dev - - - name: Build backend - working-directory: ./backend - run: cargo build --verbose - - - name: Temporarily exclude integration tests - working-directory: ./backend - run: mv tests tests.disabled - - - name: Run unit tests - working-directory: ./backend - run: cargo test --verbose - - - name: Restore integration tests - working-directory: ./backend - run: mv tests.disabled tests - + docker build -t normogen-backend:test . + docker images | grep normogen-backend