diff --git a/.gitea/workflow/basicPipeline.yml b/.gitea/workflow/basicPipeline.yml new file mode 100644 index 0000000..32d7598 --- /dev/null +++ b/.gitea/workflow/basicPipeline.yml @@ -0,0 +1,57 @@ +name: Build project + +on: + push: + branches: + - '**' + pull_request: + +jobs: + build: + name: quality-and-build + runs-on: ubuntu-latest + env: + # Limit to 1 job for my little VPS + CARGO_BUILD_JOBS: 1 + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + components: rustfmt, clippy + + - name: Check formatting + run: cargo fmt --all -- --check + + - name: Lint with Clippy + run: cargo clippy -- -D warnings + + - name: Run build (Debug mode) + run: cargo build + + + sonarqube: + needs: build + name: SonarQube Trigger + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Download SonarQube Scanner + run: | + curl -sSLo sonar-scanner.zip https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip + unzip sonar-scanner.zip + + - name: Run SonarQube Scan + run: | + ./sonar-scanner-*/bin/sonar-scanner \ + -Dsonar.projectKey=UdpSocketServer \ + -Dsonar.sources=. \ + -Dsonar.host.url=${{ secrets.SONARQUBE_HOST }} \ + -Dsonar.login=${{ secrets.SONARQUBE_TOKEN }}