summaryrefslogtreecommitdiffstats
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml50
1 files changed, 46 insertions, 4 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fa6e2e2a..49db2e8f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -3,9 +3,19 @@ name: Continuous Integration
jobs:
- test:
- name: Test Suite
- runs-on: ubuntu-latest
+ unit_tests:
+ name: Unit tests
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [macos-latest, ubuntu-latest, windows-latest]
+ include:
+ - os: macos-latest
+ target: x86_64-apple-darwin
+ - os: ubuntu-latest
+ target: x86_64-unknown-linux-gnu
+ - os: windows-latest
+ target: x86_64-pc-windows-msvc
steps:
- name: Checkout repository
uses: actions/checkout@v2
@@ -19,8 +29,40 @@ jobs:
uses: actions-rs/cargo@v1
with:
command: test
+ args: --target ${{ matrix.target }} --verbose
+
+ integration_tests:
+ name: Integration tests
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [macos-latest, ubuntu-latest]
+ include:
+ - os: macos-latest
+ target: x86_64-apple-darwin
+ - os: ubuntu-latest
+ target: x86_64-unknown-linux-gnu
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+ - name: Install Rust
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ profile: minimal
+ override: true
+ - name: Build for release
+ uses: actions-rs/cargo@v1
+ with:
+ command: build
+ args: --target ${{ matrix.target }} --release
- name: End to end tests
- run: make end-to-end-test
+ run: |
+ DELTA_BIN=target/${{ matrix.target }}/release/delta
+ ./tests/test_raw_output_matches_git_on_full_repo_history $DELTA_BIN
+ ./tests/test_deprecated_options $DELTA_BIN > /dev/null
+ - name: Run executable
+ run: cargo run --release --target ${{ matrix.target }} -- < /dev/null
rustfmt:
name: Rustfmt