diff --git a/.github/workflows/build-platforms.yml b/.github/workflows/build-platforms.yml new file mode 100644 index 00000000..86b999f5 --- /dev/null +++ b/.github/workflows/build-platforms.yml @@ -0,0 +1,106 @@ +name: Build Platforms +on: +# This workflow is triggered on pushes to the repository. +on: [ pull_request, workflow_call, workflow_dispatch ] + +jobs: + linux: + name: linux + needs: pr_check + runs-on: ubuntu-latest + strategy: + #fail-fast: true + matrix: + rust: + - stable + - beta + - stable minus 2 releases + feature: + - d + - d,images + - z + - z,images + - z,d + steps: + - uses: actions/checkout@v4 + - uses: Swatinem/rust-cache@v2 + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ matrix.rust }} + components: clippy, rustfmt + - run: sudo apt-get install -y libdbus-1-dev + + - name: check (default features) + run: cargo check + + - name: check (${{matrix.feature}}) + run: cargo check --no-default-features --features ${{matrix.feature}} + + # - name: test (default features) + # run: cargo test + + - name: test lib (${{matrix.feature}}) + run: cargo test --lib --no-default-features --features ${{matrix.feature}} + + # - name: test tests (${{matrix.feature}}) + # run: cargo test --tests --no-default-features --features ${{matrix.feature}} + + - name: test docs (${{matrix.feature}}) + run: cargo test --doc --no-default-features --features ${{matrix.feature}} + + - name: clippy (default features) + run: cargo clippy + + windows: + name: windows + needs: pr_check + runs-on: windows-latest + strategy: + matrix: + rust: + - stable + - beta + - stable minus 6 releases + steps: + - uses: actions/checkout@v4 + - uses: Swatinem/rust-cache@v2 + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ matrix.rust }} + components: clippy, rustfmt + + - name: check (default features) + run: cargo check + + - name: test (default features) + run: cargo test --no-run + + - name: clippy (default features) + run: cargo clippy -- -D warnings + + macos: + name: macos + needs: pr_check + runs-on: macos-latest + strategy: + matrix: + rust: + - stable + - beta + - stable minus 6 releases + steps: + - uses: actions/checkout@v4 + - uses: Swatinem/rust-cache@v2 + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ matrix.rust }} + components: clippy, rustfmt + + - name: check (default features) + run: cargo check + + - name: test (default features) + run: cargo test --no-run + + - name: clippy (default features) + run: cargo clippy -- -D warnings diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1e0953db..07433f1a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,14 @@ name: Continuous Integration -on: [push: { branches: [ main ]}, pull_request ] +on: + push: + branches: + - main + pull_request: jobs: + pr_check: + name: Pull Request Check + uses: ./.github/workflows/pull-request.yml semver: name: cargo-semver-checks @@ -13,104 +20,3 @@ jobs: - name: check semver uses: obi1kenobi/cargo-semver-checks-action@v2.6 - - linux: - name: linux - needs: pr_check - runs-on: ubuntu-latest - strategy: - #fail-fast: true - matrix: - rust: - - stable - - beta - - stable minus 2 releases - feature: - - d - - d,images - - z - - z,images - - z,d - steps: - - uses: actions/checkout@v4 - - uses: Swatinem/rust-cache@v2 - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ matrix.rust }} - components: clippy, rustfmt - - run: sudo apt-get install -y libdbus-1-dev - - - name: check (default features) - run: cargo check - - - name: check (${{matrix.feature}}) - run: cargo check --no-default-features --features ${{matrix.feature}} - - # - name: test (default features) - # run: cargo test - - - name: test lib (${{matrix.feature}}) - run: cargo test --lib --no-default-features --features ${{matrix.feature}} - - # - name: test tests (${{matrix.feature}}) - # run: cargo test --tests --no-default-features --features ${{matrix.feature}} - - - name: test docs (${{matrix.feature}}) - run: cargo test --doc --no-default-features --features ${{matrix.feature}} - - - name: clippy (default features) - run: cargo clippy - - windows: - name: windows - needs: pr_check - runs-on: windows-latest - strategy: - matrix: - rust: - - stable - - beta - - stable minus 6 releases - steps: - - uses: actions/checkout@v4 - - uses: Swatinem/rust-cache@v2 - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ matrix.rust }} - components: clippy, rustfmt - - - name: check (default features) - run: cargo check - - - name: test (default features) - run: cargo test --no-run - - - name: clippy (default features) - run: cargo clippy -- -D warnings - - macos: - name: macos - needs: pr_check - runs-on: macos-latest - strategy: - matrix: - rust: - - stable - - beta - - stable minus 6 releases - steps: - - uses: actions/checkout@v4 - - uses: Swatinem/rust-cache@v2 - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ matrix.rust }} - components: clippy, rustfmt - - - name: check (default features) - run: cargo check - - - name: test (default features) - run: cargo test --no-run - - - name: clippy (default features) - run: cargo clippy -- -D warnings diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 247e8bb5..1675d24f 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -1,5 +1,6 @@ name: Pull request -on: [ pull_request ] +# This workflow is triggered on pushes to the repository. +on: [ pull_request, workflow_call, workflow_dispatch ] jobs: check: @@ -18,7 +19,7 @@ jobs: ./convco check ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }} rm convco - check_fmt_clippy: + check_fmt: name: Check Format needs: check runs-on: ubuntu-latest @@ -30,6 +31,4 @@ jobs: - name: cargo-fmt run: cargo fmt --all --check - #- name: clippy - # run: cargo clippy --all-features -- -D warnings