Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d788e00f15 | ||
|
|
356ca41f7d |
14
Changes.md
14
Changes.md
@@ -1,3 +1,17 @@
|
|||||||
|
## 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
|
## 0.0.5 - 2023-03-19
|
||||||
|
|
||||||
- Fix use of `dtolnay/rust-toolchain` action to allow passing a `toolchain`
|
- Fix use of `dtolnay/rust-toolchain` action to allow passing a `toolchain`
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ runs:
|
|||||||
with:
|
with:
|
||||||
targets: ${{ inputs.target }}
|
targets: ${{ inputs.target }}
|
||||||
toolchain: ${{ inputs.toolchain }}
|
toolchain: ${{ inputs.toolchain }}
|
||||||
if: ${{ steps.determine-cross-compile.outputs.needs-cross == 'false' }}
|
|
||||||
- name: Install cross if cross-compiling (*nix)
|
- name: Install cross if cross-compiling (*nix)
|
||||||
shell: bash
|
shell: bash
|
||||||
run: install-cross-nix.sh
|
run: install-cross-nix.sh
|
||||||
@@ -64,7 +63,7 @@ runs:
|
|||||||
- name: Run tests (*nix)
|
- name: Run tests (*nix)
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
${{ steps.set-build-command.outputs.build-command }} test ${{ inputs.args }} --target ${{ inputs.target }}
|
${{ steps.set-build-command.outputs.build-command }} +${{inputs.toolchain}} test ${{ inputs.args }} --target ${{ inputs.target }}
|
||||||
if: ${{ inputs.command != 'build' && runner.os != 'Windows' }}
|
if: ${{ inputs.command != 'build' && runner.os != 'Windows' }}
|
||||||
# We want to run in Powershell on Windows to make sure we compile in a
|
# We want to run in Powershell on Windows to make sure we compile in a
|
||||||
# native Windows environment. Some things won't compile properly under
|
# native Windows environment. Some things won't compile properly under
|
||||||
@@ -73,17 +72,17 @@ runs:
|
|||||||
- name: Run tests (Windows)
|
- name: Run tests (Windows)
|
||||||
shell: powershell
|
shell: powershell
|
||||||
run: |
|
run: |
|
||||||
& ${{ steps.set-build-command.outputs.build-command }} test ${{ inputs.args }} --target ${{ inputs.target }}
|
& ${{ steps.set-build-command.outputs.build-command }} +${{inputs.toolchain}} test ${{ inputs.args }} --target ${{ inputs.target }}
|
||||||
if: ${{ inputs.command != 'build' && runner.os == 'Windows' }}
|
if: ${{ inputs.command != 'build' && runner.os == 'Windows' }}
|
||||||
- name: Build binary (*nix)
|
- name: Build binary (*nix)
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
${{ steps.set-build-command.outputs.build-command }} build ${{ inputs.args }} --target ${{ inputs.target }}
|
${{ steps.set-build-command.outputs.build-command }} +${{inputs.toolchain}} build ${{ inputs.args }} --target ${{ inputs.target }}
|
||||||
if: ${{ inputs.command != 'test' && runner.os != 'Windows' }}
|
if: ${{ inputs.command != 'test' && runner.os != 'Windows' }}
|
||||||
- name: Build binary (Windows)
|
- name: Build binary (Windows)
|
||||||
shell: powershell
|
shell: powershell
|
||||||
run: |
|
run: |
|
||||||
& ${{ steps.set-build-command.outputs.build-command }} build ${{ inputs.args }} --target ${{ inputs.target }}
|
& ${{ steps.set-build-command.outputs.build-command }} +${{inputs.toolchain}} build ${{ inputs.args }} --target ${{ inputs.target }}
|
||||||
if: ${{ inputs.command != 'test' && runner.os == 'Windows' }}
|
if: ${{ inputs.command != 'test' && runner.os == 'Windows' }}
|
||||||
- name: Strip binary
|
- name: Strip binary
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
@@ -2,32 +2,32 @@ set -e
|
|||||||
set -x
|
set -x
|
||||||
|
|
||||||
TARGET=$1
|
TARGET=$1
|
||||||
|
stripped=""
|
||||||
|
|
||||||
|
strip_binary () {
|
||||||
|
if [[ $( uname -s ) =~ "Darwin" ]]; then
|
||||||
|
EXE=$( find "$1" -maxdepth 1 -type f -perm +111 )
|
||||||
|
else
|
||||||
|
EXE=$( find "$1" -maxdepth 1 -type f -executable )
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$EXE" ]; then
|
||||||
|
echo "Could not find a binary to strip in $1"
|
||||||
|
else
|
||||||
|
strip "$EXE"
|
||||||
|
stripped="$EXE"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
DIR=""
|
|
||||||
for type in debug release; do
|
for type in debug release; do
|
||||||
if [ -d "target/$TARGET/$type" ]; then
|
if [ -d "target/$TARGET/$type" ]; then
|
||||||
DIR="target/$TARGET/$type"
|
strip_binary "target/$TARGET/$type"
|
||||||
break
|
|
||||||
elif [ -d "target/$type" ]; then
|
elif [ -d "target/$type" ]; then
|
||||||
DIR="target/$type"
|
strip_binary "target/$type"
|
||||||
break
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ -z "$DIR" ]; then
|
if [ -z "$stripped" ]; then
|
||||||
echo "Could not find directory with binary in it under target/"
|
echo "No binaries were stripped"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $( uname -s ) =~ "Darwin" ]]; then
|
|
||||||
EXE=$( find "$DIR" -maxdepth 1 -type f -perm +111 )
|
|
||||||
else
|
|
||||||
EXE=$( find "$DIR" -maxdepth 1 -type f -executable )
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$EXE" ]; then
|
|
||||||
echo "Could not find a binary to strip in $DIR"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
strip "$EXE"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user