Skip to content

feat: Refactor to use hyprland-rs #5

feat: Refactor to use hyprland-rs

feat: Refactor to use hyprland-rs #5

Workflow file for this run

permissions:
contents: read
on:
push:
branches: [main]
pull_request:
name: Test
jobs:
required:
runs-on: ubuntu-latest
name: ubuntu / ${{ matrix.toolchain }}
strategy:
matrix:
toolchain: [stable, beta]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install ${{ matrix.toolchain }}
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- name: cargo generate-lockfile
if: hashFiles('Cargo.lock') == ''
run: cargo generate-lockfile
- name: Restore cached target/
id: target-cache-restore
uses: actions/cache/restore@v3
with:
path: |
target
/home/runner/.cargo
key: ${{ matrix.toolchain }}-target
- name: cargo test --locked
run: cargo test --locked --all-features --all-targets
- name: Save cached target/
id: target-cache-save
uses: actions/cache/save@v3
with:
path: |
target
/home/runner/.cargo
key: ${{ steps.target-cache-restore.outputs.cache-primary-key }}
proptest:
runs-on: ubuntu-latest
name: ubuntu / stable
needs: required
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install stable
uses: dtolnay/rust-toolchain@stable
- name: Restore cached target/
uses: actions/cache/restore@v3
with:
path: |
target
/home/runner/.cargo
key: stable-target
- name: cargo test --test proptest --locked -- --ignored
run: cargo test --locked --test proptest -- --ignored
# minimal:
# runs-on: ubuntu-latest
# name: ubuntu / stable / minimal-versions
# steps:
# - uses: actions/checkout@v3
# with:
# submodules: true
# - name: Install stable
# uses: dtolnay/rust-toolchain@stable
# - name: Install nightly for -Zminimal-versions
# uses: dtolnay/rust-toolchain@nightly
# - name: rustup default stable
# run: rustup default stable
# - name: cargo update -Zminimal-versions
# run: cargo +nightly update -Zminimal-versions
# - name: cargo test
# run: cargo test --locked --all-features --all-targets
#
os-check:
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} / stable
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest]
steps:
- run: echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append
if: runner.os == 'Windows'
- run: vcpkg install openssl:x64-windows-static-md
if: runner.os == 'Windows'
- uses: actions/checkout@v3
with:
submodules: true
- name: Install stable
uses: dtolnay/rust-toolchain@stable
- name: cargo generate-lockfile
if: hashFiles('Cargo.lock') == ''
run: cargo generate-lockfile
- name: cargo test
run: cargo test --locked --all-features --all-targets
coverage:
runs-on: ubuntu-latest
name: ubuntu / stable / coverage
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Install stable
uses: dtolnay/rust-toolchain@stable
with:
components: llvm-tools-preview
- name: cargo install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: cargo generate-lockfile
if: hashFiles('Cargo.lock') == ''
run: cargo generate-lockfile
- name: Restore cached target/
id: target-cache-restore
uses: actions/cache/restore@v3
with:
path: |
target
/home/runner/.cargo
key: coverage-target
- name: cargo llvm-cov clean
run: cargo llvm-cov clean --workspace
- name: cargo llvm-cov
run: cargo llvm-cov --locked --all-features --no-report --release
- name: cargo llvm-cov proptest
run: cargo llvm-cov --locked --all-features --no-report --release --test proptest -- --ignored
- name: Save cached target/
id: target-cache-save
uses: actions/cache/save@v3
with:
path: |
target
/home/runner/.cargo
key: ${{ steps.target-cache-restore.outputs.cache-primary-key }}
- name: cargo llvm-cov report
run: cargo llvm-cov report --release --lcov --output-path lcov.info
- name: Upload to codecov.io
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}