diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index d0c8d78..3a09d50 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -2,9 +2,9 @@ name: CI on: push: - branches: [ main ] + branches: [main, master] pull_request: - branches: [ main ] + branches: [main, master] jobs: test: @@ -12,16 +12,55 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up Rust - uses: dtolnay/rust-toolchain@stable + - name: Install Rust + uses: actions/setup-rust@v1 with: toolchain: stable - - - name: Run tests - run: cargo test + cache: true - name: Build run: cargo build --release - - name: Clippy - run: cargo clippy --all-features -- -D warnings + - name: Run tests + run: cargo test --all + + - name: Run clippy + run: cargo clippy --all --all-features -- -D warnings + + - name: Check formatting + run: cargo fmt -- --check + + binary: + runs-on: ubuntu-latest + needs: test + steps: + - uses: actions/checkout@v4 + + - name: Install Rust + uses: actions/setup-rust@v1 + with: + toolchain: stable + target: x86_64-unknown-linux-musl + cache: true + + - name: Build binary + run: cargo build --release --target x86_64-unknown-linux-musl + + - name: Upload binary artifact + uses: actions/upload-artifact@v4 + with: + name: env-guard-linux-amd64 + path: target/x86_64-unknown-linux-musl/release/env-guard + + release: + runs-on: ubuntu-latest + needs: binary + if: startsWith(github.ref, 'refs/tags/v') + steps: + - name: Create Release + uses: https://gitea.com/actions/release-action@main + with: + files: | + target/x86_64-unknown-linux-musl/release/env-guard + title: ${{ github.ref_name }} + body: "Release ${{ github.ref_name }} of env-guard"