Skip to content
Snippets Groups Projects
Select Git revision
  • 80415d686b5e7c566c7d342baf47605a56b7f749
  • master default protected
  • 1.31
  • 4.28.0
  • 4.27.0
  • 4.26.0
  • 4.25.5
  • 4.25.4
  • 4.25.3
  • 4.25.2
  • 4.25.1
  • 4.25.0
  • 4.24.3
  • 4.24.2
  • 4.24.1
  • 4.24.0
  • 4.23.6
  • 4.23.5
  • 4.23.4
  • 4.23.3
  • 4.23.2
  • 4.23.1
  • 4.23.0
23 results

gitignore.mk

Blame
  • devenv.nix 3.61 KiB
    { pkgs, inputs, phps, lib, config, modulesPath,... }:
    
    {
    
      # https://devenv.sh/packages/
      packages = [
        inputs.version.defaultPackage."${builtins.currentSystem}"
        pkgs.git
        pkgs.gcc12
        pkgs.go-task
        pkgs.blackbox
        pkgs.blackbox-terminal
        pkgs.jq
        pkgs.delve
        pkgs.gdlv
        pkgs.wget
        pkgs.glab
        pkgs.unixtools.xxd
        pkgs.libffi
        pkgs.zlib
        pkgs.procps
        pkgs.php81Extensions.xdebug
        pkgs.ranger
        pkgs.meld
        pkgs.gnused
        pkgs.coreutils-full
        pkgs.gnugrep
        pkgs.gnumake
        pkgs.util-linux
        pkgs.httpie
        pkgs.netcat
        pkgs.memcached
        pkgs.fd    
      ];
    
    
      # https://devenv.sh/languages/
      # languages.nix.enable = true;
      languages = {
        go = { enable = true; };
      };
      
       difftastic.enable = true;
    
        
      # This script is executed when the app is built
      # You can use it to build the app  
      scripts.test-lib.exec =  ''
    #!${pkgs.bash}/bin/bash
    #set -euo pipefail
    set -x
    
    PATH="''${PATH}":${pkgs.coreutils}/bin
    PATH="''${PATH}":${pkgs.findutils}/bin
    PATH="''${PATH}":${pkgs.jq}/bin/
    PATH="''${PATH}":${pkgs.rsync}/bin/
    PATH="''${PATH}":${pkgs.bash}/bin/
    PATH="''${PATH}":${pkgs.curl}/bin/
    PATH="''${PATH}":${pkgs.moreutils}/bin/
    PATH="''${PATH}":${pkgs.gnutar}/bin
    PATH="''${PATH}":${pkgs.gzip}/bin/
    PATH="''${PATH}":${pkgs.procps}/bin/
    PATH="''${PATH}":${pkgs.exa}/bin/
    PATH="''${PATH}":${pkgs.git}/bin/
    PATH="''${PATH}":${pkgs.gnugrep}/bin/
    PATH="''${PATH}":${inputs.version.defaultPackage."${builtins.currentSystem}"}/bin/
    
    export -f PATH
    
    task test
    
    '';
    
      # This scritp is used to deploy the app to the gitlab registry
      # It is used by the gitlab-ci.yml file
      # The environment variables are set in the gitlab project settings
      scripts.deploy-lib.exec =  ''
    #!${pkgs.bash}/bin/bash
    
    PATH="''${PATH}":${pkgs.coreutils}/bin
    PATH="''${PATH}":${pkgs.jq}/bin/
    PATH="''${PATH}":${pkgs.curl}/bin/
    PATH="''${PATH}":${pkgs.moreutils}/bin/
    PATH="''${PATH}":${pkgs.gnutar}/bin
    PATH="''${PATH}":${pkgs.gzip}/bin/
    PATH="''${PATH}":${pkgs.exa}/bin/
    PATH="''${PATH}":${pkgs.git}/bin/
    PATH="''${PATH}":${inputs.version.defaultPackage."${builtins.currentSystem}"}/bin/
    
    export PATH
    
    if [[ -f .env-gitlab-ci ]]; then
        source .env-gitlab-ci
        rm .env-gitlab-ci
    fi
    
    set -x
    ## if $HOME not set, set it to current directory
    if [[ -z "''${HOME}" ]]; then
        HOME=$(pwd)
    fi
    
    export HOME
    
    git config user.email "''${GITLAB_USER_EMAIL}"
    git config user.name "''${GITLAB_USER_NAME:-"Gitlab CI"}"
    git config pull.rebase true
    git config http.sslVerify "false"
    git remote set-url origin https://pad:''${GITLAB_TOKEN}@''${CI_REPOSITORY_URL#*@}
    
    git fetch --all --tags --unshallow
    git reset --hard origin/master
    git checkout $CI_COMMIT_REF_NAME
    git pull origin $CI_COMMIT_REF_NAME
    
    if [ ! -z "''${CI_PROJECT_DIR}" ]; then
        echo "CI_PROJECT_DIR is set, using it as project root."
        project_root=$(realpath "''${CI_PROJECT_DIR}")/
    elif [ ! -z "''${DEVENV_ROOT}" ]; then
        echo "DEVENV_ROOT is set, using it as project root."
        project_root=$(realpath "''${DEVENV_ROOT}")/
    else
        echo "Error: DEVENV_ROOT or CI_PROJECT_DIR environment variables are not set."
        exit 1  
    fi
    
    if [ ! -d "''${project_root}" ]; then
        echo "Error: Project root directory does not seem to be valid."
        echo "Check the DEVENV_ROOT or CI_PROJECT_DIR environment variables."
        exit 1
    fi
    
    if [ -z "'CI_JOB_TOKEN" ]; then
        echo "Error: CI_JOB_TOKEN variable is not set."
        exit 1
    fi
    
    git --no-pager log --decorate=short --pretty=oneline
    gitVersion=v$(version predict)
    git tag -a $gitVersion -m"chore: bump version" 
    git --no-pager log --decorate=short --pretty=oneline
    git push -o ci.skip origin ''${CI_COMMIT_REF_NAME} --tags
    
    echo "done"
    
    '';
    
    
    }