feat: add a basic pipeline
This commit is contained in:
57
.gitea/workflow/basicPipeline.yml
Normal file
57
.gitea/workflow/basicPipeline.yml
Normal file
@@ -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 }}
|
||||||
Reference in New Issue
Block a user