Some checks failed
Lint / Check that code is lint clean using precious (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:false can-execute:true cross-version:19be834 expect-cross:--expect-cross expect-cross-version:19be834 expect-file-re:aarch64 expect-stripped: name:Linux-aarch64 with cross 19be834 (no cache) runs-on:ubuntu-24.04 targ… (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:false can-execute:true cross-version:v0.2.3 expect-cross:--expect-cross expect-cross-version:0.2.3 expect-file-re:aarch64 expect-stripped: name:Linux-aarch64 with cross v0.2.3 (no cache) runs-on:ubuntu-24.04 target:a… (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:false can-execute:true expect-cross:--expect-cross expect-file-re:aarch64 expect-stripped: name:Linux-aarch64 (no cache) runs-on:ubuntu-24.04 target:aarch64-unknown-linux-gnu]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:false expect-cross:--expect-cross expect-file-re:x86-64.+FreeBSD expect-stripped: name:FreeBSD-x86_64 runs-on:ubuntu-24.04 target:x86_64-unknown-freebsd]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:false expect-cross:--expect-cross expect-file-re:x86-64.+NetBSD expect-stripped: name:NetBSD-x86_64 runs-on:ubuntu-24.04 target:x86_64-unknown-netbsd]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true cross-version:19be834 expect-cross:--expect-cross expect-cross-version:19be834 expect-file-re:aarch64 expect-stripped: name:Linux-aarch64 with cross 19be834 runs-on:ubuntu-24.04 target:aarch64-u… (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true cross-version:v0.2.3 expect-cross:--expect-cross expect-cross-version:0.2.3 expect-file-re:aarch64 expect-stripped: name:Linux-aarch64 with cross v0.2.3 runs-on:ubuntu-24.04 target:aarch64-unkno… (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross: expect-file-re:ELF.+x86-64 expect-stripped:--expect-stripped name:Linux-x86_64 (beta) runs-on:ubuntu-24.04 target:x86_64-unknown-linux-musl toolchain:beta]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross: expect-file-re:ELF.+x86-64 expect-stripped:--expect-stripped name:Linux-x86_64 (nightly) runs-on:ubuntu-24.04 target:x86_64-unknown-linux-musl toolchain:nightly]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross: expect-file-re:ELF.+x86-64 expect-stripped:--expect-stripped name:Linux-x86_64 (stable 8 months ago) runs-on:ubuntu-24.04 target:x86_64-unknown-linux-gnu toolchain:stable 8 months … (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross: expect-file-re:ELF.+x86-64 expect-stripped:--expect-stripped name:Linux-x86_64 runs-on:ubuntu-24.04 target:x86_64-unknown-linux-musl]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross:--expect-cross expect-file-re:32.+ARM expect-stripped: name:Linux-arm runs-on:ubuntu-24.04 target:arm-unknown-linux-gnueabi]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross:--expect-cross expect-file-re:32.+PowerPC expect-stripped: name:Linux-powerpc runs-on:ubuntu-24.04 target:powerpc-unknown-linux-gnu]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross:--expect-cross expect-file-re:64.+PowerPC expect-stripped: name:Linux-powerpc64 runs-on:ubuntu-24.04 target:powerpc64-unknown-linux-gnu]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross:--expect-cross expect-file-re:64.+PowerPC expect-stripped: name:Linux-powerpc64le runs-on:ubuntu-24.04 target:powerpc64le-unknown-linux-gnu]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross:--expect-cross expect-file-re:64.+RISC-V expect-stripped: name:Linux-riscv64 runs-on:ubuntu-24.04 target:riscv64gc-unknown-linux-gnu]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross:--expect-cross expect-file-re:64.+S/390 expect-stripped: name:Linux-s390x runs-on:ubuntu-24.04 target:s390x-unknown-linux-gnu]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross:--expect-cross expect-file-re:ELF.+80386 expect-stripped: name:Linux-i586 runs-on:ubuntu-24.04 target:i586-unknown-linux-gnu]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross:--expect-cross expect-file-re:ELF.+80386 expect-stripped: name:Linux-i686 runs-on:ubuntu-24.04 target:i686-unknown-linux-gnu]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross:--expect-cross expect-file-re:ELF.+x86-64 expect-stripped: force-use-cross:true name:Linux-x86_64 (force cross) runs-on:ubuntu-24.04 target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross:--expect-cross expect-file-re:aarch64 expect-stripped: name:Linux-aarch64 runs-on:ubuntu-24.04 target:aarch64-unknown-linux-musl]) (push) Failing after 0s
Self-test / Test validate-inputs (push) Failing after 0s
Self-test / Test a "cargo foo" command (push) Failing after 0s
Self-test / Test action (map[cache-cross-binary:true can-execute:false expect-cross: expect-file-re:Mach-O.+arm64 expect-stripped:--expect-stripped name:macOS-aarch64 runs-on:macOS-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Self-test / Test action (map[cache-cross-binary:true can-execute:false expect-cross: expect-file-re:Windows.+ARM64 expect-stripped: name:Windows-aarch64 runs-on:windows-latest target:aarch64-pc-windows-msvc]) (push) Has been cancelled
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross: expect-file-re:Mach-O.+x86_64 expect-stripped:--expect-stripped name:macOS-x86_64 runs-on:macOS-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross: expect-file-re:Windows.+Intel i386 expect-stripped:--expect-stripped name:Windows-i686 runs-on:windows-latest target:i686-pc-windows-msvc]) (push) Has been cancelled
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-cross: expect-file-re:aarch64 expect-stripped:--expect-stripped name:Linux-aarch64 with arm64 host runs-on:ubuntu-24.04-arm target:aarch64-unknown-linux-gnu]) (push) Has been cancelled
Self-test / Test action (map[cache-cross-binary:true can-execute:true expect-file-re:Windows.+x86-64 expect-stripped:--expect-stripped name:Windows-x86_64 runs-on:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
This fixes a bug where setting anything in `rust-cache-parameters` caused the input to the `rust-cache` to be broken.
7.0 KiB
7.0 KiB
1.0.5 - 2025-07-20
- Fixed a bug in the handling of the
rust-cache-parametersinput. If anything was specified for this, it would end up providing a broken config to theSwatinem/rust-cacheaction. Reported by @SinTan1729 (Sayantan Santra). GH #46.
1.0.4 - 2025-04-12
- Removed validation for the
toolchaininput. The dtolnay/rust-toolchain accepts a lot of different options that this action wasn't allowing. It's simpler and more flexible to just let that action handle validation. Requested by @axos88 (Akos Vandra-Meyer). GH #42. - Removed validation for the
commandinput. This allows you to use this action with anycargoextension command, likecargo-deb. Settingcommandtobothis still supported and will run thebuildandtestcommands. Requested by @bvaisvil (Benjamin Vaisvil). GH #43.
1.0.3 - 2025-02-17
- Fixed a bug when running with a Linux ARM host where the action would use a cached
crossdownload for x86-64 Linux (or vice versa). Now the cache key for thecrossbinary includes both the runner's architecture in addition to its OS. - This release partially support running on Linxu ARM, but see the
README.mdfile for details on this.
1.0.2 - 2025-02-16
- Added a new
force-use-crossinput, which does what it says. It will force the use ofcrosseven when it is not required for given platform/target combination. Note that this only works on Linux hosts.
1.0.1 - 2025-01-20
- Fixed a bug where this action would attempt to use
crosswhen compiling for an ARM Linux target on an ARM Linux host.
1.0.0 - 2025-01-11
The addition of caching is a significant behavior change for this action, so the version has been bumped to v1.0.0 because of this change.
- This action will now configure and use
Swatinem/rust-cacheby default for you. It will include thetargetparameter as part of the cache key automatically, as well as the OS version when usingcargoon Linux. Suggested by @jennydaman (Jennings Zhang). GH #23. - This action now validates its input and will exit early if they are not valid. GH #35.
- When compiling for
musltargets, this action will not try to reinstall themusl-toolspackage if it's already installed.
The following changes were made since the 1.0.0-beta1 release:
- The cache key includes information that causes the cache to not be re-used when the system running
cargoorcrosschanges. When usingcargoon Linux, this is the OS version, like "Ubuntu 22.04". When usingcross, this is the hash of thecrossbinary itself. This is needed because the Docker images thatcrossuses can change when the binary is updated. This can include changing the underlying Docker image base OS, in which case it's quite likely the old cache contents would be incompatible with the the new image.
1.0.0-beta1 - 2024-12-21
The addition of caching is a significant behavior change for this action, so the version has been bumped to v1.0.0 because of this change.
- This action will now configure and use
Swatinem/rust-cacheby default for you. It will include thetargetparameter as part of the cache key automatically. Suggested by @jennydaman (Jennings Zhang). GH #23. - This action now validates its inputs and will exit early if they are not valid. GH #35.
0.0.17 - 2024-11-23
- Added support for running
cargo benchorcross bench. Implemented by @RaulTrombin (Raul Victor Trombin). GH #32.
0.0.16 - 2024-11-17
- Arguments passed in the
argsparameter are now always last when executingcargo. This lets you pass arguments to test binaries like-- --something. First reported by @mateocabanal (Mateo Cabanal) as GH #12 and fully fixed by @donatello (Aditya Manthramurthy) in GH #30.
0.0.15 - 2024-09-21
- The
muslpackages are only installed when not cross-compiling.
0.0.14 - 2024-08-25
- When the given
targetincludes the stringmusl, this action will install themusl-toolspackage. This allows crates with C or C++ code to compile properly. Fixes #20. Reported by Matteo Pietro Dazzi (@ilteoood).
0.0.13 - 2024-05-18
- It's now possible to set
cross-versionto a git ref like a commit hash orHEAD. This will installcrossfrom its git repo.
0.0.12 - 2024-02-25
- Bumped the version of
actions/cacheused in this action to v4. The v3 version uses Node 16, which causes warnings when run. Implemented by @hms5232. GH #13.
0.0.11 - 2023-12-17
- Use
crosswhen compiling for 32-bit Linux targets. While in theory this should work withoutcross, compilingopensslwith thevendoredfeature fails when we runcargo build --target i686-unknown-linux-musl.
0.0.10 - 2023-12-10
- Fixed handling of crates with multiple binaries. Attempting to strip binaries for such a crate caused the build to fail. Reported by Tomaž Hribernik. GH #8
- Added a new
cross-versionparameter. This can be specified to make this action use a specific version ofcross. If this is not specified, the latest version will be used.
0.0.9 - 2023-09-10
- Added a
working-directoryparameter. By default this is the current directory (.) but you can set it to something else to compile a single crate or workspace in a subdirectory of the repo. This allows you to use this action with monorepos with multiple crates. Based on GH #7 by @aaronvg.
0.0.8 - 2023-07-22
- For builds that need the
crossbinary, this binary is now cached. A cache hit saves about 20 seconds in my tests. Suggested by @timon-schelling. GH #4.
0.0.7 - 2023-04-21
- The toolchain argument was (probably) not being respected with cross builds, though it's hard to
be sure since none of the output from past CI runs I've looked at it includes the toolchain
version in the output. But now the toolchain version is explicitly passed to all
cargoandcrosscommands.
0.0.6 - 2023-04-21
- When the
stripparameter was true, stripping binaries could fail if there were bothtarget/*/debugandtarget/*/releasedirectories present and thedebugdirectory didn't have a binary. Now it will strip all binaries it finds undertarget.
0.0.5 - 2023-03-19
- Fix use of
dtolnay/rust-toolchainaction to allow passing atoolchaininput.
0.0.4 - 2023-03-19
- Added a new
toolchainparameter to allow selecting a Rust toolchain other than stable. This supports picking on of "stable", "beta", or "nightly". - Fixed binary stripping to work in more situations. Previously it depended on a very specific setup plus expected to be run in the context of the matrix I use for my own projects.
- Fixed a reference to a matrix variable that should have referenced an input variable.
0.0.3 - 2023-03-17
- This action now supports running the
buildandtestcommands, or both, with a new input parameter,command. The default isbuild.
0.0.2 - 2023-03-05
- Fixed some typos in the
README.mddocumentation.
0.0.1 - 2023-03-05
- First release upon an unsuspecting world.