mirror of
https://gitlab.com/TECHNOFAB/nix-gitlab-ci.git
synced 2025-12-12 10:10:06 +01:00
Compare commits
3 commits
fa33f6e0b7
...
524bdf9cdc
| Author | SHA1 | Date | |
|---|---|---|---|
| 524bdf9cdc | |||
| f5181b7b61 | |||
| afe1e02310 |
3 changed files with 15 additions and 13 deletions
|
|
@ -1 +1 @@
|
|||
3.0.0
|
||||
3.0.1
|
||||
|
|
|
|||
|
|
@ -637,12 +637,12 @@ in rec {
|
|||
// gitlabOptions;
|
||||
config = let
|
||||
attrsToKeep = builtins.attrNames gitlabOptions;
|
||||
job = filterUnset (filterAttrs (n: _v: builtins.elem n attrsToKeep) config);
|
||||
in {
|
||||
finalConfig = cilib.mkJobPatched {
|
||||
key = name;
|
||||
job = filterUnset (filterAttrs (n: _v: builtins.elem n attrsToKeep) config);
|
||||
nixConfig = config.nix;
|
||||
inherit pipelineName;
|
||||
inherit job pipelineName;
|
||||
};
|
||||
depsDrv = cilib.mkJobDeps {
|
||||
key = name;
|
||||
|
|
@ -651,8 +651,8 @@ in rec {
|
|||
};
|
||||
runnerDrv = cilib.mkJobRun {
|
||||
key = name;
|
||||
job = config.finalConfig;
|
||||
jobDeps = config.depsDrv;
|
||||
inherit job;
|
||||
};
|
||||
packages = {
|
||||
"gitlab-ci:pipeline:${pipelineName}:job-deps:${name}" = config.depsDrv;
|
||||
|
|
|
|||
|
|
@ -28,18 +28,19 @@ while [[ $# -gt 0 ]]; do
|
|||
;;
|
||||
*)
|
||||
echo "Unknown option: $1" >&2
|
||||
echo "use --include-dirty, --no-sandbox, --keep-tmp and --keep-env <ENV>" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "$NO_SANDBOX" = false ]; then
|
||||
if [ $NO_SANDBOX = false ]; then
|
||||
echo "Running with simple sandboxing"
|
||||
TMPDIR=$(mktemp -dt "nix-gitlab-ci.XXX")
|
||||
if [ "$KEEP_TMP" = false ]; then
|
||||
trap "rm -rf '$TMPDIR'" EXIT
|
||||
NGCI_TMPDIR=$(mktemp -dt "nix-gitlab-ci.XXX")
|
||||
if [ $KEEP_TMP = false ]; then
|
||||
trap "rm -rf '$NGCI_TMPDIR'" EXIT
|
||||
else
|
||||
echo "Temp dir will be preserved at: $TMPDIR"
|
||||
echo "Temp dir will be preserved at: $NGCI_TMPDIR"
|
||||
fi
|
||||
|
||||
# check if dirty
|
||||
|
|
@ -50,14 +51,15 @@ if [ "$NO_SANDBOX" = false ]; then
|
|||
git diff --staged > "$DIRTY_PATCH"
|
||||
trap "rm -f '$DIRTY_PATCH'" EXIT
|
||||
fi
|
||||
git clone . $TMPDIR
|
||||
pushd $TMPDIR >/dev/null
|
||||
if [[ ! -z "$DIRTY_PATCH" && "$INCLUDE_DIRTY" = true ]]; then
|
||||
git clone . $NGCI_TMPDIR
|
||||
pushd $NGCI_TMPDIR >/dev/null
|
||||
if [[ ! -z "$DIRTY_PATCH" && $INCLUDE_DIRTY = true ]]; then
|
||||
echo "Copying dirty changes..."
|
||||
git apply "$DIRTY_PATCH" 2>/dev/null || echo "Failed to copy dirty changes"
|
||||
git add . # required so the files are staged again
|
||||
fi
|
||||
|
||||
echo "Running job in $TMPDIR"
|
||||
echo "Running job in $NGCI_TMPDIR"
|
||||
env -i $(
|
||||
if [[ -n "$KEEP_ENV" ]]; then
|
||||
IFS=',' read -ra VARS <<< "$KEEP_ENV"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue