Skip to content
Snippets Groups Projects
devenv-profile-722f25393f8e218fc5cf98d5b0468ada972afd9e.rc 7.11 KiB
unset shellHook
PATH=${PATH:-}
nix_saved_PATH="$PATH"
XDG_DATA_DIRS=${XDG_DATA_DIRS:-}
nix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS"
BASH='/noshell'
HOSTTYPE='x86_64'
IFS=' 	
'
IN_NIX_SHELL='impure'
export IN_NIX_SHELL
LINENO='76'
MACHTYPE='x86_64-pc-linux-gnu'
NIX_BUILD_CORES='0'
export NIX_BUILD_CORES
NIX_STORE='/nix/store'
export NIX_STORE
OLDPWD=''
export OLDPWD
OPTERR='1'
OSTYPE='linux-gnu'
PATH='/path-not-set'
export PATH
PS4='+ '
builder='/nix/store/kxkdrxvc3da2dpsgikn8s2ml97h88m46-bash-interactive-5.2-p15/bin/bash'
export builder
dontAddDisableDepTrack='1'
export dontAddDisableDepTrack
name='devenv-shell'
export name
out='/home/vs/workspaces/oss/go-libs/xflags/outputs/out'
export out
outputs='out'
shellHook='
# Remove all the unnecessary noise that is set by the build env
unset NIX_BUILD_TOP NIX_BUILD_CORES NIX_STORE
unset TEMP TEMPDIR TMP TMPDIR
# $name variable is preserved to keep it compatible with pure shell https://github.com/sindresorhus/pure/blob/47c0c881f0e7cfdb5eaccd335f52ad17b897c060/pure.zsh#L235
unset builder out shellHook stdenv system
# Flakes stuff
unset dontAddDisableDepTrack outputs

# For `nix develop`. We get /noshell on Linux and /sbin/nologin on macOS.
if [[ "$SHELL" == "/noshell" || "$SHELL" == "/sbin/nologin" ]]; then
  export SHELL=/nix/store/kxkdrxvc3da2dpsgikn8s2ml97h88m46-bash-interactive-5.2-p15/bin/bash
fi

# https://github.com/numtide/devshell/issues/158
PATH=${PATH#/path-not-set:}

export DEVENV_PROFILE=/nix/store/ishxkjwm6m1nq2dzailw41xw5rczf6hi-devenv-profile

# add installed packages to PATH
export PATH="$DEVENV_PROFILE/bin:$PATH"

# prepend common compilation lookup paths
export PKG_CONFIG_PATH="$DEVENV_PROFILE/lib/pkgconfig:${PKG_CONFIG_PATH-}"
export LD_LIBRARY_PATH="$DEVENV_PROFILE/lib:${LD_LIBRARY_PATH-}"
export LIBRARY_PATH="$DEVENV_PROFILE/lib:${LIBRARY_PATH-}"
export C_INCLUDE_PATH="$DEVENV_PROFILE/include:${C_INCLUDE_PATH-}"

# these provide shell completions / default config options
export XDG_DATA_DIRS="$DEVENV_PROFILE/share:${XDG_DATA_DIRS-}"
export XDG_CONFIG_DIRS="$DEVENV_PROFILE/etc/xdg:${XDG_CONFIG_DIRS-}"

export DEVENV_DOTFILE='\''/home/vs/workspaces/oss/go-libs/xflags/.devenv'\''
export DEVENV_PROFILE='\''/nix/store/ishxkjwm6m1nq2dzailw41xw5rczf6hi-devenv-profile'\''
export DEVENV_ROOT='\''/home/vs/workspaces/oss/go-libs/xflags'\''
export DEVENV_STATE='\''/home/vs/workspaces/oss/go-libs/xflags/.devenv/state'\''
export GIT_EXTERNAL_DIFF='\''difft'\''
export GOPATH='\''/home/vs/workspaces/oss/go-libs/xflags/.devenv/state/go'\''
export GOROOT='\''/nix/store/m3mi5km1zdmaqdb33byirlixigzh3f4l-go-1.20.7/share/go/'\''


export PATH=$GOPATH/bin:$PATH


    
cat <<'\''EOF'\'' > Taskfile.yml

# THIS FILE IS AUTOGENERATED BY THE DEVENVSHELL
# DO NOT EDIT THIS FILE MANUALLY
# INSTEAD EDIT THE DEVENVSHELL CONFIGURATION FILE devenv.nix 
# AND OPEN A SHELL WITH THE COMMAND devenv shell
#
# Information about the task runner can be found here:
# https://taskfile.dev

version: '\''3'\''

tasks:
  default:
    cmds:
      - task --list
    silent: true
    
  test:
    desc: Execute unit tests in Go.
    cmds:
      - echo "Execute unit tests in Go."
      - go test -cover -v ./...
      - go test -bench .
      - go test -race .

  test-fuzz:
    desc: Conduct fuzzing tests.#
    cmds:  
      - echo "Conduct fuzzing tests."
      - go test -v -fuzztime=30s -fuzz=Fuzz ./...

  add-licenses:
    desc: Attach license headers to Go files.
    cmds:
      - echo "Attach license headers to Go files."
      - go install github.com/google/addlicense@latest
      - addlicense -c "schukai GmbH" -s -l "AGPL-3.0" ./*.go
    silent: true
    
  check-licenses:
    desc: Check license headers of Go files.
    silent: true
    cmds:
      - go-licenses save "$(get-go-default-packages)"  --ignore "gitlab.schukai.com"  --force --save_path ${DEVENV_ROOT}/licenses/

  check:
    desc: Confirm repository status.
    cmds:
      - git diff-index --quiet HEAD || (echo "There are uncommitted changes after running make. Please commit or stash them before running make."; exit 1)
    silent: true

  commit:
    desc: Commit changes to the repository.
    aliases:
      - c
      - ci
      - git-commit
    cmds:
      - do-git-commit
EOF
cat <<'\''EOF'\'' > .gitlab-ci.yml

# THIS FILE IS AUTOGENERATED BY THE DEVENVSHELL
# DO NOT EDIT THIS FILE MANUALLY
# INSTEAD EDIT THE DEVENVSHELL CONFIGURATION FILE devenv.nix
# AND OPEN A SHELL WITH THE COMMAND devenv shell
#

image: docker-registry.schukai.com:443/nixos-ci-devenv:latest

services:
  - docker:dind

variables:
  # The repo name as used in
  # https://github.com/nix-community/NUR/blob/master/repos.json
  NIXOS_VERSION: "23.05"
  NIXPKGS_ALLOW_UNFREE: "1"
  NIXPKGS_ALLOW_INSECURE: "1"
  DOCKER_DRIVER: overlay2
  GIT_DEPTH: 10

stages:
  - test
  - deploy 

before_script:
  - nix shell nixpkgs#coreutils-full -c mkdir -p /certs/client/
  - nix shell nixpkgs#coreutils-full -c ln -fs /etc/ssl/certs/ca-bundle.crt /certs/client/ca.pem
  - echo > .env-gitlab-ci
  - variables=("HOME=$HOME" "CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME" "CI_REPOSITORY_URL=$CI_REPOSITORY_URL" "GITLAB_TOKEN=$GITLAB_TOKEN" "CI_JOB_TOKEN=$CI_JOB_TOKEN" "GITLAB_USER_EMAIL=$GITLAB_USER_EMAIL" "GITLAB_USER_NAME=\"$GITLAB_USER_NAME\"" "CI_REGISTRY_USER=$CI_REGISTRY_USER" "CI_PROJECT_ID=$CI_PROJECT_ID" "CI_PROJECT_DIR=$CI_PROJECT_DIR" "CI_API_V4_URL=$CI_API_V4_URL" "CI_PROJECT_NAME=$CI_PROJECT_NAME" "CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA"); for var in "${variables[@]}"; do echo "$var" >> .env-gitlab-ci; done
  - cat .env-gitlab-ci

after_script:
  - if [ -f .env-gitlab-ci ]; then rm .env-gitlab-ci; fi

test:
  stage: test
  tags:
    - nixos
  script:
    - devenv shell test-lib

  cache:
    - key: nixos
      paths:
        - /nix/store
  
  artifacts:
    paths:
      - dist

deploy:
  stage: deploy
  tags:
    - nixos
  script:
    - devenv shell -c deploy-lib

  when: on_success

  cache:
    - key: nixos
      paths:
        - /nix/store


  artifacts:
    paths:
      - dist   
EOF

   
    

export PS1="\[\e[0;34m\](devenv)\[\e[0m\] ${PS1-}"

# set path to locales on non-NixOS Linux hosts
if [ -z "${LOCALE_ARCHIVE-}" ]; then
  export LOCALE_ARCHIVE=/nix/store/mrbcpynv50xm2ad1gm2r15jvlg22nxnm-glibc-locales-2.37-8/lib/locale/locale-archive
fi


# note what environments are active, but make sure we don'\''t repeat them
if [[ ! "${DIRENV_ACTIVE-}" =~ (^|:)"$PWD"(:|$) ]]; then
  export DIRENV_ACTIVE="$PWD:${DIRENV_ACTIVE-}"
fi

# devenv helper
if [ ! type -p direnv &>/dev/null && -f .envrc ]; then
  echo "You have .envrc but direnv command is not installed."
  echo "Please install direnv: https://direnv.net/docs/installation.html"
fi

mkdir -p .devenv
rm -f .devenv/profile
ln -s /nix/store/ishxkjwm6m1nq2dzailw41xw5rczf6hi-devenv-profile .devenv/profile

'
export shellHook
stdenv='/nix/store/psfv6k7b2qa49zzdgr221qbi4nq8i3km-naked-stdenv'
export stdenv
system='x86_64-linux'
export system
runHook ()
{
 
    eval "$shellHook";
    unset runHook
}
PATH="$PATH:$nix_saved_PATH"
XDG_DATA_DIRS="$XDG_DATA_DIRS:$nix_saved_XDG_DATA_DIRS"
export NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)"
export TMP="$NIX_BUILD_TOP"
export TMPDIR="$NIX_BUILD_TOP"
export TEMP="$NIX_BUILD_TOP"
export TEMPDIR="$NIX_BUILD_TOP"
eval "$shellHook"