chore: add github pull request templates #261
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous Integration | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
jobs: | |
build-and-test: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
rust: [stable, nightly] | |
exclude: | |
- { os: windows-latest, rust: nightly } | |
- { os: macos-latest, rust: nightly } | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: install rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: ${{ matrix.rust }} | |
components: rustfmt, clippy | |
- name: cargo check | |
run: cargo check --workspace --locked | |
- name: cargo fmt | |
run: cargo fmt --all -- --check | |
- name: cargo clippy | |
run: cargo clippy --workspace --all-targets --all-features -- -D warnings | |
- name: cargo test | |
run: cargo test --workspace --locked --all-targets | |
- name: cargo build | |
if: matrix.rust == 'stable' && matrix.os == 'ubuntu-latest' | |
run: cargo build --workspace --release --locked --all-targets | |
- name: Install PHP | |
if: matrix.rust == 'stable' && matrix.os == 'ubuntu-latest' | |
uses: shivammathur/setup-php@master | |
with: | |
php-version: "8.3" | |
tools: "composer:v2" | |
- name: Install composer dependencies | |
if: matrix.rust == 'stable' && matrix.os == 'ubuntu-latest' | |
run: composer install | |
- name: Validate composer code format | |
if: matrix.rust == 'stable' && matrix.os == 'ubuntu-latest' | |
run: ./target/release/mago format --dry-run | |
- name: Lint composer code | |
if: matrix.rust == 'stable' && matrix.os == 'ubuntu-latest' | |
run: ./target/release/mago lint --reporting-format=github |