From 727490c6b04b1b736871b40eae6b1c9f3b13aa2a Mon Sep 17 00:00:00 2001 From: Vladyslav Vladinov <111443297+SalOne22@users.noreply.github.com> Date: Wed, 4 Oct 2023 11:22:35 +0200 Subject: [PATCH] Reverted all changes back --- .github/workflows/rimage.yml | 218 ++++++++++------------------------- 1 file changed, 62 insertions(+), 156 deletions(-) diff --git a/.github/workflows/rimage.yml b/.github/workflows/rimage.yml index 07ab56fc..ea422e9e 100644 --- a/.github/workflows/rimage.yml +++ b/.github/workflows/rimage.yml @@ -2,178 +2,84 @@ name: rimage on: push: + branches: + - main pull_request: - types: - - opened - - synchronize - workflow_dispatch: + branches: + - main jobs: - ci: - name: CI - - runs-on: ${{ matrix.os }} - timeout-minutes: 60 - - # Prevent tags and in-repo PRs from triggering this workflow more than once for a commit - if: github.ref_type != 'tag' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork) - - strategy: - fail-fast: false - matrix: - target: - - x86_64-unknown-linux-gnu - - x86_64-unknown-linux-musl - - aarch64-unknown-linux-gnu - - aarch64-unknown-linux-musl - - x86_64-pc-windows-msvc - - i686-pc-windows-msvc - - x86_64-apple-darwin - - aarch64-apple-darwin - - include: - - target: x86_64-unknown-linux-gnu - os: ubuntu-22.04 - target-apt-arch: amd64 - - target: x86_64-unknown-linux-musl - os: ubuntu-22.04 - target-apt-arch: amd64 - - target: aarch64-unknown-linux-gnu - os: ubuntu-22.04 - target-apt-arch: arm64 - - target: aarch64-unknown-linux-musl - os: ubuntu-22.04 - target-apt-arch: arm64 - - target: x86_64-pc-windows-msvc - os: windows-latest - - target: i686-pc-windows-msvc - os: windows-latest - - target: x86_64-apple-darwin - os: macos-latest - - target: aarch64-apple-darwin - os: macos-latest - - env: - CARGO_BUILD_TARGET: ${{ matrix.target }} + test: + name: test + runs-on: ubuntu-latest steps: - - name: Checkout source + - name: Checkout ๐Ÿ›Ž๏ธ uses: actions/checkout@v4 - with: - persist-credentials: false - - - name: Set up Ubuntu multiarch - if: startsWith(matrix.os, 'ubuntu') && matrix.target-apt-arch != 'amd64' - run: | - readonly DISTRO_CODENAME=jammy - sudo dpkg --add-architecture "${{ matrix.target-apt-arch }}" - sudo sed -i "s/^deb http/deb [arch=$(dpkg-architecture -q DEB_HOST_ARCH)] http/" /etc/apt/sources.list - sudo sed -i "s/^deb mirror/deb [arch=$(dpkg-architecture -q DEB_HOST_ARCH)] mirror/" /etc/apt/sources.list - for suite in '' '-updates' '-backports' '-security'; do - echo "deb [arch=${{ matrix.target-apt-arch }}] http://ports.ubuntu.com/ $DISTRO_CODENAME$suite main universe multiverse" | \ - sudo tee -a /etc/apt/sources.list >/dev/null - done - - name: Install musl development files - if: endsWith(matrix.target, '-musl') - run: | - sudo apt-get -yq update - sudo apt-get -yq install musl-tools musl-dev:${{ matrix.target-apt-arch }} - - - name: Install QEMU and AArch64 cross compiler - if: startsWith(matrix.target, 'aarch64-unknown-linux') - run: | - sudo apt-get -yq update - # libc6 must be present to run executables dynamically linked - # against glibc for the target architecture - sudo apt-get -yq install qemu-user gcc-aarch64-linux-gnu libc6:arm64 - - - name: Cache Cargo artifacts - uses: Swatinem/rust-cache@v2 - - - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@v1 + - name: Setup cache ๐Ÿ’พ + uses: actions/cache@v3 with: - toolchain: nightly - targets: ${{ env.CARGO_BUILD_TARGET }} - components: clippy, rustfmt - - - name: Install nextest - uses: taiki-e/install-action@nextest - - - name: Run rustfmt - if: matrix.target == 'x86_64-unknown-linux-gnu' - run: cargo fmt --check - - - name: Run Clippy (no default features) - if: matrix.target == 'x86_64-unknown-linux-gnu' - uses: giraffate/clippy-action@v1 + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + + - name: Setup nasm ๐Ÿง‘โ€๐Ÿ’ป + uses: ilammy/setup-nasm@v1 + + - name: Setup rust toolchain ๐Ÿฆ€ + uses: actions-rs/toolchain@v1 with: - clippy_flags: --no-deps --all-targets --no-default-features -- -D warnings - reporter: github-check - fail_on_error: true + profile: minimal + toolchain: stable - - name: Run Clippy (all features) - if: matrix.target == 'x86_64-unknown-linux-gnu' - uses: giraffate/clippy-action@v1 + - name: Test ๐Ÿงช + uses: actions-rs/cargo@v1 with: - clippy_flags: --no-deps --all-targets --all-features -- -D warnings - reporter: github-check - fail_on_error: true + command: test + args: --all-features - # There aren't good user-mode ARM64 emulators we can use on x64 macOS hosts. - # QEMU doesn't have any plans to add such support due to a lack of kernel - # syscall stability guarantees: https://gitlab.com/qemu-project/qemu/-/issues/1682 - - name: Run tests - if: matrix.target != 'aarch64-apple-darwin' - run: | - cargo nextest run --release --all-features - cargo test --doc --release --all-features - - - name: Build tests (ARM64 macOS only) - if: matrix.target == 'aarch64-apple-darwin' - run: cargo test --release --all-features --no-run - - - name: Build docs - if: matrix.target == 'x86_64-unknown-linux-gnu' - run: cargo doc --release --no-deps + lint: + name: lint + runs-on: ubuntu-latest - - name: Build CLI binary - run: cargo build --release --all-feautes + steps: + - name: Checkout ๐Ÿ›Ž๏ธ + uses: actions/checkout@v4 - - name: Upload CLI binary as artifact - uses: actions/upload-artifact@v3 + - name: Setup cache ๐Ÿ’พ + uses: actions/cache@v3 with: - name: Rimage binary (${{ matrix.target }}) path: | - target/${{ env.CARGO_BUILD_TARGET }}/release/rimage - target/${{ env.CARGO_BUILD_TARGET }}/release/rimage.exe - - msrv-check: - name: MSRV check - - runs-on: ubuntu-latest - timeout-minutes: 30 - - # Prevent tags and in-repo PRs from triggering this workflow more than once for a commit - if: github.ref_type != 'tag' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork) - - steps: - - name: Checkout source - uses: actions/checkout@v3 + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + + - name: Setup nasm ๐Ÿง‘โ€๐Ÿ’ป + uses: ilammy/setup-nasm@v1 + + - name: Setup rust toolchain ๐Ÿฆ€ + uses: actions-rs/toolchain@v1 with: - persist-credentials: false - - - name: Cache Cargo artifacts - uses: Swatinem/rust-cache@v2 + profile: minimal + toolchain: stable + components: rustfmt, clippy - - name: Install MSRV Rust toolchain - uses: dtolnay/rust-toolchain@1.65.0 - - - name: Install nextest - uses: taiki-e/install-action@nextest + - name: Formatting check ๐Ÿช„ + uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check - - name: Run tests - run: | - cargo nextest run --release --all-features - cargo test --doc --release --all-features + - name: Clippy check ๐Ÿ”Ž + uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all-features -- -D warnings