name: CI on: push: branches: [main, master] pull_request: branches: [main, master] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Rust uses: actions/setup-rust@v1 with: rust-version: '1.70' cache: true - name: Build run: cargo build --release - name: Run tests run: cargo test - name: Check formatting run: cargo fmt -- --check - name: Clippy run: cargo clippy --all-targets --all-features -- -D warnings release: needs: test if: startsWith(github.ref, 'refs/tags/v') runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Rust uses: actions/setup-rust@v1 with: rust-version: '1.70' cache: true - name: Build release run: cargo build --release - name: Create Release uses: https://gitea.com/actions/release-action@main with: files: | target/release/gitpulse name: ${{ github.ref_name }} body: "Release ${{ github.ref_name }}"