Files
actions-rust-cross/Changes.md
Dave Rolsky 07f5468cc3
Some checks failed
Lint / Check that code is lint clean using precious (push) Failing after 1m57s
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: platform_name:Linux-aarch64 with cross 19be834 runs-on:ubuntu-22.04 target… (push) Failing after 1m13s
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: platform_name:Linux-aarch64 with cross v0.2.3 (no cache) runs-on:ubuntu-22.04… (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: platform_name:Linux-aarch64 (no cache) runs-on:ubuntu-22.04 target:aarch64-unknown-linux-musl]) (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: platform_name:FreeBSD-x86_64 runs-on:ubuntu-22.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: platform_name:NetBSD-x86_64 runs-on:ubuntu-22.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: platform_name:Linux-aarch64 with cross 19be834 runs-on:ubuntu-22.04 target:… (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: platform_name:Linux-aarch64 with cross v0.2.3 runs-on:ubuntu-22.04 target:aarc… (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 platform_name:Linux-x86_64 runs-on:ubuntu-22.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: platform_name:Linux-arm runs-on:ubuntu-22.04 target:arm-unknown-linux-musleabi]) (push) Failing after 5s
Self-test / Test action (map[cache-cross-binary:true can_execute:true expect_cross:--expect-cross expect_file_re:32.+PowerPC expect_stripped: platform_name:Linux-powerpc runs-on:ubuntu-22.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: platform_name:Linux-powerpc64 runs-on:ubuntu-22.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: platform_name:Linux-powerpc64le runs-on:ubuntu-22.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: platform_name:Linux-riscv64 runs-on:ubuntu-22.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: platform_name:Linux-s390x runs-on:ubuntu-22.04 target:s390x-unknown-linux-gnu]) (push) Failing after 4s
Self-test / Test action (map[cache-cross-binary:true can_execute:true expect_cross:--expect-cross expect_file_re:ELF.+80386 expect_stripped: platform_name:Linux-i586 runs-on:ubuntu-22.04 target:i586-unknown-linux-musl]) (push) Failing after 4s
Self-test / Test action (map[cache-cross-binary:true can_execute:true expect_cross:--expect-cross expect_file_re:ELF.+80386 expect_stripped: platform_name:Linux-i686 runs-on:ubuntu-22.04 target:i686-unknown-linux-musl]) (push) Failing after 5s
Self-test / Test action (map[cache-cross-binary:true can_execute:true expect_cross:--expect-cross expect_file_re:aarch64 expect_stripped: platform_name:Linux-aarch64 runs-on:ubuntu-22.04 target:aarch64-unknown-linux-musl]) (push) Failing after 4s
Self-test / Test validate-inputs (push) Successful in 4s
Self-test / Test action (map[cache-cross-binary:true can_execute:false expect_cross: expect_file_re:Aarch64.+Windows expect_stripped: platform_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:false expect_cross: expect_file_re:Mach-O.+arm64 expect_stripped:--expect-stripped platform_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:true expect_cross: expect_file_re:80386.+Windows expect_stripped:--expect-stripped platform_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:Mach-O.+x86_64 expect_stripped:--expect-stripped platform_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_file_re:x86-64.+Windows expect_stripped:--expect-stripped platform_name:Windows-x86_64 runs-on:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Add release date for v1.0.0
2025-01-11 11:57:27 -06:00

5.3 KiB

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-cache by default for you. It will include the target parameter as part of the cache key automatically, as well as the OS version when using cargo on 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 musl targets, this action will not try to reinstall the musl-tools package 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 cargo or cross changes. When using cargo on Linux, this is the OS version, like "Ubuntu 22.04". When using cross, this is the hash of the cross binary itself. This is needed because the Docker images that cross uses 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-cache by default for you. It will include the target parameter as part of the cache key automatically. Suggested by @jennydaman (Jennings Zhang). GH #23.
  • This action now validates its input and will exit early if they are not valid. GH #35.

0.0.17 - 2024-11-23

  • Added support for running cargo bench or cross bench. Implemented by @RaulTrombin (Raul Victor Trombin). GH #32.

0.0.16 - 2024-11-17

  • Arguments passed in the args parameter are now always last when executing cargo. 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 musl packages are only installed when not cross-compiling.

0.0.14 - 2024-08-25

  • When the given target includes the string musl, this action will install the musl-tools package. 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-version to a git ref like a commit hash or HEAD. This will install cross from its git repo.

0.0.12 - 2024-02-25

  • Bumped the version of actions/cache used 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 cross when compiling for 32-bit Linux targets. While in theory this should work without cross, compiling openssl with the vendored feature fails when we run cargo 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-version parameter. This can be specified to make this action use a specific version of cross. If this is not specified, the latest version will be used.

0.0.9 - 2023-09-10

  • Added a working-directory parameter. 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 cross binary, 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 cargo and cross commands.

0.0.6 - 2023-04-21

  • When the strip parameter was true, stripping binaries could fail if there were both target/*/debug and target/*/release directories present and the debug directory didn't have a binary. Now it will strip all binaries it finds under target.

0.0.5 - 2023-03-19

  • Fix use of dtolnay/rust-toolchain action to allow passing a toolchain input.

0.0.4 - 2023-03-19

  • Added a new toolchain parameter 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 build and test commands, or both, with a new input parameter, command. The default is build.

0.0.2 - 2023-03-05

  • Fixed some typos in the README.md documentation.

0.0.1 - 2023-03-05

  • First release upon an unsuspecting world.