From 8b70eba79e3dd950c1f7d90cd791baffcf4266d2 Mon Sep 17 00:00:00 2001 From: Lucas Schwiderski Date: Thu, 23 Mar 2023 18:01:31 +0100 Subject: [PATCH] feat(ci): Add tasks to build in CI --- .ci/tasks/build.sh | 32 ++++++++++++++++++++++++++++++++ .ci/tasks/build.yml | 24 ++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100755 .ci/tasks/build.sh create mode 100644 .ci/tasks/build.yml diff --git a/.ci/tasks/build.sh b/.ci/tasks/build.sh new file mode 100755 index 0000000..384c0a8 --- /dev/null +++ b/.ci/tasks/build.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +set -eux + +OUTPUT="$1" + +case "$TARGET" in + msvc) + cp /src/*.lib ./lib/oodle/ + cargo build --color always --locked --release --target x86_64-pc-windows-msvc -Zbuild-std + + if [ -d "$OUTPUT" ]; then + install -t "$OUTPUT/" target/x86_64-pc-windows-msvc/release/dtmt.exe + install -t "$OUTPUT/" target/x86_64-pc-windows-msvc/release/dtmm.exe + fi + + ;; + linux) + cp /src/*.so ./lib/oodle/ + cargo build --color always --locked --profile release-lto + + if [ -d "$OUTPUT" ]; then + install -t "$OUTPUT/" target/release/dtmt + install -t "$OUTPUT/" target/release/dtmm + fi + + ;; + *) + set +x + echo "Env var 'TARGET' must either be 'msvc' or 'linux'. Got '$TARGET'." >&2 + exit 1 +esac diff --git a/.ci/tasks/build.yml b/.ci/tasks/build.yml new file mode 100644 index 0000000..935f81b --- /dev/null +++ b/.ci/tasks/build.yml @@ -0,0 +1,24 @@ +--- +platform: linux + +image_resource: + type: registry-image + source: + repository: registry.local:5000/dtmt-ci-base-((target)) + tag: latest + +inputs: +- name: repo + +outputs: +- name: artifact + +params: + CI: true + TARGET: ((target)) + +run: + path: .ci/tasks/build.sh + dir: repo + args: + - /artifact