Repository: cargo-prebuilt/cargo-prebuilt (language: rust)

Issue:
Switch to ink cross images in CI



Discussion / hints:

Fix patch:
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 5835f06..6d930fb 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -3,7 +3,7 @@ updates:
   - package-ecosystem: github-actions
     directory: /
     schedule:
-      interval: daily
+      interval: weekly
     groups:
       ga:
         patterns:
@@ -12,7 +12,7 @@ updates:
   - package-ecosystem: cargo
     directory: /
     schedule:
-      interval: daily
+      interval: weekly
     groups:
       cargo:
         patterns:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 042860c..1f908c9 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -16,19 +16,66 @@ env:
   CARGO_TERM_COLOR: always
 
 jobs:
-  cross:
+  ink-cross:
     strategy:
       fail-fast: false
       matrix:
         include:
+          - target: aarch64-unknown-linux-gnu
+            can-test: false
+          - target: aarch64-unknown-linux-musl
+            can-test: false
+          - target: armv7-unknown-linux-gnueabihf
+            can-test: false
+          - target: armv7-unknown-linux-musleabihf
+            can-test: false
+          - target: powerpc64le-unknown-linux-gnu
+            can-test: false
+          - target: riscv64gc-unknown-linux-gnu
+            can-test: false
+          - target: s390x-unknown-linux-gnu
+            can-test: false
           - target: x86_64-unknown-linux-gnu
             can-test: true
           - target: x86_64-unknown-linux-musl
             can-test: true
-          - target: aarch64-unknown-linux-gnu
-            can-test: true
-          - target: aarch64-unknown-linux-musl
-            can-test: true
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - uses: Swatinem/rust-cache@v2
+      - name: Run tests
+        if: ${{ matrix.can-test }}
+        run: |
+          docker run --rm \
+          --userns host --user $(id -u):$(id -g) \
+          -v ./:/project \
+          ghcr.io/cargo-prebuilt/ink-cross:stable-${{ matrix.target }} \
+          test --verbose --workspace --locked --target ${{ matrix.target }} ${{ env.feature-set }}
+      - name: Build with ink cross
+        run: |
+          docker run --rm \
+          --userns host --user $(id -u):$(id -g) \
+          -v ./:/project \
+          ghcr.io/cargo-prebuilt/ink-cross:stable-${{ matrix.target }} \
+          build --verbose --workspace --locked --target ${{ matrix.target }} ${{ env.feature-set }}
+      - name: Run cargo-prebuilt
+        if: ${{ matrix.can-test }}
+        run: |
+          target/${{ matrix.target }}/debug/${{ env.bin-name }} just
+          just --version
+          target/${{ matrix.target }}/debug/${{ env.bin-name }} --color just
+      - name: Artifact
+        uses: actions/upload-artifact@v3
+        with:
+          name: target-${{ matrix.target }}
+          path: |
+            target/${{ matrix.target }}/debug/${{ env.bin-name }}
+
+  cross:
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
           - target: x86_64-unknown-freebsd
             can-test: false
           - target: x86_64-unknown-netbsd
@@ -37,18 +84,8 @@ jobs:
             can-test: false
           - target: x86_64-sun-solaris
             can-test: false
-          - target: riscv64gc-unknown-linux-gnu
-            can-test: true
           - target: powerpc64-unknown-linux-gnu
             can-test: true
-          - target: powerpc64le-unknown-linux-gnu
-            can-test: true
-          - target: s390x-unknown-linux-gnu
-            can-test: true
-          - target: armv7-unknown-linux-gnueabihf
-            can-test: true
-          - target: armv7-unknown-linux-musleabihf
-            can-test: true
           - target: x86_64-pc-windows-gnu
             can-test: true
             ending: .exe
@@ -69,12 +106,6 @@ jobs:
         run: cross test --verbose --workspace --locked --target ${{ matrix.target }} ${{ env.feature-set }}
       - name: Build
         run: cross build --verbose --workspace --locked --target ${{ matrix.target }} ${{ env.feature-set }}
-      - name: Run cargo-prebuilt
-        if: ${{ contains(matrix.target, 'x86_64-unknown-linux-') }}
-        run: |
-          target/${{ matrix.target }}/debug/${{ env.bin-name }} just
-          just --version
-          target/${{ matrix.target }}/debug/${{ env.bin-name }} --color just
       - name: Artifact
         uses: actions/upload-artifact@v3
         with:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 0ab76f5..18b28ba 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -30,8 +30,9 @@ jobs:
           regex: '^refs\/tags\/v\d+\.\d+\.\d+$'
 
   publish-crates-io:
+    if: ${{ ! contains(github.ref, '-dev') }}
     runs-on: ubuntu-latest
-    needs: [ release, check-fmt, clippy, cross, apple-darwin, pc-windows-msvc ]
+    needs: [ release, check-fmt, clippy, ink-cross, cross, apple-darwin, pc-windows-msvc ]
     steps:
       - uses: actions/checkout@v4
       - name: Update Rust
@@ -45,7 +46,7 @@ jobs:
 
   publish-github-releases:
     runs-on: ubuntu-latest
-    needs: [ release, check-fmt, clippy, cross, apple-darwin, pc-windows-msvc ]
+    needs: [ release, check-fmt, clippy, ink-cross, cross, apple-darwin, pc-windows-msvc ]
     steps:
       - uses: actions/checkout@v4
       - uses: actions/download-artifact@v3
@@ -287,19 +288,75 @@ jobs:
           cargo audit >> $GITHUB_STEP_SUMMARY || true
           echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
 
-  cross:
+  ink-cross:
     strategy:
       fail-fast: false
       matrix:
         include:
+          - target: aarch64-unknown-linux-gnu
+            can-test: false
+          - target: aarch64-unknown-linux-musl
+            can-test: false
+          - target: armv7-unknown-linux-gnueabihf
+            can-test: false
+          - target: armv7-unknown-linux-musleabihf
+            can-test: false
+          - target: powerpc64le-unknown-linux-gnu
+            can-test: false
+          - target: riscv64gc-unknown-linux-gnu
+            can-test: false
+          - target: s390x-unknown-linux-gnu
+            can-test: false
           - target: x86_64-unknown-linux-gnu
             can-test: true
           - target: x86_64-unknown-linux-musl
             can-test: true
-          - target: aarch64-unknown-linux-gnu
-            can-test: true
-          - target: aarch64-unknown-linux-musl
-            can-test: true
+    runs-on: ubuntu-latest
+    needs: [ check-fmt, clippy, cargo-hack, cargo-msrv ]
+    steps:
+      - uses: actions/checkout@v4
+      - uses: cargo-prebuilt/cargo-prebuilt-action@v3
+        with:
+          pkgs: coreutils
+      - uses: Swatinem/rust-cache@v2
+        if: ${{ env.cache == 'true' }}
+      - name: Run tests
+        if: ${{ matrix.can-test }}
+        run: |
+          docker run --rm \
+          --userns host --user $(id -u):$(id -g) \
+          -v ./:/project \
+          ghcr.io/cargo-prebuilt/ink-cross:stable-${{ matrix.target }} \
+          test --verbose --workspace --release --locked --target ${{ matrix.target }} ${{ env.feature-set }}
+      - name: Build
+        run: |
+          docker run --rm \
+          --userns host --user $(id -u):$(id -g) \
+          -v ./:/project \
+          ghcr.io/cargo-prebuilt/ink-cross:stable-${{ matrix.target }} \
+          build --verbose --workspace --release --locked --target ${{ matrix.target }} ${{ env.feature-set }}
+      - name: Run cargo-prebuilt
+        if: ${{ matrix.can-test }}
+        run: |
+          target/${{ matrix.target }}/release/${{ env.bin-name }} just
+          just --version
+      - name: Tar
+        run: tar czvf ${{ matrix.target }}.tar.gz -C ./target/${{ matrix.target }}/release ${{ env.bin-name }}
+      - name: Hash
+        run: echo "$(coreutils sha256sum ${{ matrix.target }}.tar.gz)" > ${{ matrix.target }}.sha256
+      - name: Artifact
+        uses: actions/upload-artifact@v3
+        with:
+          name: target-${{ matrix.target }}
+          path: |
+            ${{ matrix.target }}.tar.gz
+            ${{ matrix.target }}.sha256
+
+  cross:
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
           - target: x86_64-unknown-freebsd
             can-test: false
           - target: x86_64-unknown-netbsd
@@ -308,18 +365,8 @@ jobs:
             can-test: false
           - target: x86_64-sun-solaris
             can-test: false
-          - target: riscv64gc-unknown-linux-gnu
-            can-test: true
           - target: powerpc64-unknown-linux-gnu
             can-test: true
-          - target: powerpc64le-unknown-linux-gnu
-            can-test: true
-          - target: s390x-unknown-linux-gnu
-            can-test: true
-          - target: armv7-unknown-linux-gnueabihf
-            can-test: true
-          - target: armv7-unknown-linux-musleabihf
-            can-test: true
           - target: x86_64-pc-windows-gnu
             can-test: true
             ending: .exe
@@ -342,11 +389,6 @@ jobs:
         run: cross test --verbose --workspace --release --locked --target ${{ matrix.target }} ${{ env.feature-set }}
       - name: Build
         run: cross build --verbose --workspace --release --locked --target ${{ matrix.target }} ${{ env.feature-set }}
-      - name: Run cargo-prebuilt
-        if: ${{ contains(matrix.target, 'x86_64-unknown-linux-') }}
-        run: |
-          target/${{ matrix.target }}/release/${{ env.bin-name }} just
-          just --version
       - name: Tar
         run: tar czvf ${{ matrix.target }}.tar.gz -C ./target/${{ matrix.target }}/release ${{ env.bin-name }}${{ matrix.ending }}
       - name: Hash
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fdcca3e..7e1a5dd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
 ## Upcoming
 
 - Changed config file to include auth on a per repo basis.
+- Bump MSRV from Rust 1.66+ to Rust 1.67+.
 
 ## [0.6.2](https://github.com/cargo-prebuilt/cargo-prebuilt/releases/tag/v0.6.2)
 
diff --git a/Cargo.lock b/Cargo.lock
index 87b8b02..e79b37e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -687,18 +687,18 @@ dependencies = [
 
 [[package]]
 name = "serde"
-version = "1.0.189"
+version = "1.0.190"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537"
+checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.189"
+version = "1.0.190"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5"
+checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
 dependencies = [
  "proc-macro2",
  "quote",
diff --git a/Cargo.toml b/Cargo.toml
index 69104ad..ed886c6 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -9,7 +9,7 @@ license = "MIT"
 #homepage = ""
 repository = "https://github.com/cargo-prebuilt/cargo-prebuilt"
 keywords = ["cargo", "cargo-subcommand", "binary"]
-rust-version = "1.66"
+rust-version = "1.67"
 include = [
     "keys/",
     "src/",
@@ -31,7 +31,7 @@ mimalloc = { version = "0.1.39", optional = true }
 minisign-verify = { version = "0.2.1", optional = true }
 native-tls = { version = "0.2.11", optional = true }
 owo-colors = { version = "3.5.0", optional = true }
-serde = { version = "1.0.189", features = ["derive"] }
+serde = { version = "1.0.190", features = ["derive"] }
 serde_json = "1.0.107"
 sha2 = { version = "0.10.8", optional = true }
 sha3 = { version = "0.10.8", optional = true }
diff --git a/README.md b/README.md
index ec93374..7e1e139 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
 [![Rust Build and Test](https://github.com/cargo-prebuilt/cargo-prebuilt/actions/workflows/build.yml/badge.svg?event=push)](https://github.com/cargo-prebuilt/cargo-prebuilt/actions/workflows/build.yml)
 [![Rust Checks](https://github.com/cargo-prebuilt/cargo-prebuilt/actions/workflows/checks.yml/badge.svg?event=push)](https://github.com/cargo-prebuilt/cargo-prebuilt/actions/workflows/checks.yml)
 [![Crates.io](https://img.shields.io/crates/v/cargo-prebuilt)](https://crates.io/crates/cargo-prebuilt)
-[![rustc-msrv](https://img.shields.io/badge/rustc-1.66%2B-blue?logo=rust)](https://www.rust-lang.org/tools/install)
+[![rustc-msrv](https://img.shields.io/badge/rustc-1.67%2B-blue?logo=rust)](https://www.rust-lang.org/tools/install)
 
 Download prebuilt binaries of some crate.io crates.
 
diff --git a/justfile b/justfile
index e85aac7..4e26c61 100644
--- a/justfile
+++ b/justfile
@@ -55,3 +55,12 @@ msrv:
     -w /prebuilt \
     rust:latest \
     bash -c 'cargo install cargo-msrv --version 0.16.0-beta.14 --profile=dev && cargo msrv -- cargo check --verbose --locked'
+
+msrv-verify:
+    docker run -t --rm --pull=always \
+    -e CARGO_TARGET_DIR=/ptarget \
+    --mount type=bind,source={{pwd}},target=/prebuilt \
+    --mount type=bind,source=$HOME/.cargo/registry,target=/usr/local/cargo/registry \
+    -w /prebuilt \
+    rust:latest \
+    bash -c 'cargo install cargo-msrv --version 0.16.0-beta.14 --profile=dev && cargo msrv verify -- cargo check --verbose --release --locked'


Test patch: