Update build to use zigbuild instead of cross
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
Signed-off-by: Jacob Kiers <code@kiers.eu>
This commit is contained in:
parent
054324cdd7
commit
7b2a57998c
|
@ -1,5 +1,5 @@
|
|||
local executableName = 'newsletter-to-web';
|
||||
local cross_image = 'img.kie.rs/jjkiers/rust-dind-cross:1.66-full';
|
||||
local build_image = 'rust:1.70';
|
||||
|
||||
local archs = [
|
||||
{ target: 'aarch64-unknown-linux-musl', short: 'arm64-musl' },
|
||||
|
@ -15,22 +15,15 @@ local targetExecutableName(arch) = executableName + '-' + arch.target + if std.l
|
|||
local add_build_steps() = [
|
||||
{
|
||||
name: getStepName(arch),
|
||||
image: cross_image,
|
||||
volumes: [
|
||||
{
|
||||
name: 'dockersock',
|
||||
path: '/var/run',
|
||||
},
|
||||
],
|
||||
image: build_image,
|
||||
commands: [
|
||||
'echo Hello World from Jsonnet on ' + arch.target + '!',
|
||||
'cross build --release --target ' + arch.target,
|
||||
'rustup target add ' + arch.target,
|
||||
'scripts/prepare-build.sh',
|
||||
'cargo zigbuild --release --target ' + arch.target,
|
||||
'cp target/' + arch.target + '/release/' + builtExecutableName(arch) + ' artifacts/' + targetExecutableName(arch),
|
||||
'rm -rf target/' + arch.target + '/release/*',
|
||||
],
|
||||
environment: {
|
||||
CROSS_REMOTE: true,
|
||||
},
|
||||
depends_on: ['Wait for Docker'],
|
||||
}
|
||||
for arch in archs
|
||||
|
@ -46,11 +39,12 @@ local add_build_steps() = [
|
|||
steps:
|
||||
[{
|
||||
name: 'Wait for Docker',
|
||||
image: cross_image,
|
||||
image: build_image,
|
||||
commands: [
|
||||
'mkdir artifacts',
|
||||
'echo Using image: ' + cross_image,
|
||||
'while ! docker image ls; do sleep 1; done',
|
||||
// 'apt-get install -y docker-io',
|
||||
'echo Using image: ' + build_image,
|
||||
// 'while ! docker image ls; do sleep 1; done',
|
||||
'cargo --version',
|
||||
'rustc --version',
|
||||
'docker info',
|
||||
|
@ -68,7 +62,7 @@ local add_build_steps() = [
|
|||
[
|
||||
{
|
||||
name: 'Show built artifacts',
|
||||
image: cross_image,
|
||||
image: build_image,
|
||||
commands: [
|
||||
'ls -lah artifacts',
|
||||
],
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/env bash
|
||||
set -x
|
||||
apt-get update && apt-get install -y jq curl
|
||||
|
||||
pushd $(mktemp -d)
|
||||
|
||||
# Install minisign
|
||||
wget -nv https://github.com/jedisct1/minisign/releases/download/0.11/minisign-0.11-linux.tar.gz -O - | tar --strip-components 2 -C /usr/local/bin/ -vxzf - minisign-linux/x86_64/minisign
|
||||
|
||||
# Installing zig, checking its validity
|
||||
mkdir -p /usr/local/bin
|
||||
wget -nv https://ziglang.org/download/index.json -O zig-versions.json
|
||||
|
||||
echo "$(jq -r '.master."x86_64-linux".shasum' zig-versions.json) zig.tar.xz" > zig.tar.xz.shasum
|
||||
wget -nv -c $(jq -r '.master."x86_64-linux".tarball' zig-versions.json) -O zig.tar.xz
|
||||
wget -nv -c "$(jq -r '.master."x86_64-linux".tarball' zig-versions.json).minisig" -O zig.tar.xz.minisig
|
||||
sha256sum -c zig.tar.xz.shasum
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error in SHA256 hash!"
|
||||
exit 1
|
||||
else
|
||||
echo "SHA256 hash OK"
|
||||
fi
|
||||
|
||||
minisign -P 'RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U' -Vm zig.tar.xz
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error in signature!"
|
||||
exit 1
|
||||
else
|
||||
echo "Signature OK"
|
||||
fi
|
||||
|
||||
tar -C /usr/local/bin --strip-components 1 -xf zig.tar.xz
|
||||
|
||||
rm -rf zig*
|
||||
|
||||
# Installing binstall and zigbuild
|
||||
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
|
||||
cargo binstall -y cargo-zigbuild
|
||||
|
||||
popd
|
Loading…
Reference in New Issue