What are you doing? What's going wrong? Why do you need help? Keep this short and simple.
If you haven't already, take a moment to think about this. Do you have any ideas?
# We're using: | |
# Repository local hooks: https://pre-commit.com/#repository-local-hooks | |
# Plus vendored https://github.com/pre-commit/pre-commit-hooks | |
repos: | |
- repo: local | |
hooks: | |
- id: custom-pre-commit | |
name: custom-pre-commit | |
entry: run_python.sh gitstuff/hooks/pre_commit.py | |
language: system |
import groovy.transform.Field | |
// we want this to be global so that we can consistently | |
// sync the same changelist over the course of our pipeline | |
@Field currentChangelist = '' | |
def riotP4Sync(Map config = [:]) { | |
def humanReadableName = safePath("${JOB_NAME}-${STAGE_NAME}") | |
def jenkinsWorkspaceName = safePath("${JOB_NAME}-") + workspaceShortname(env.STAGE_NAME) |
Jenkins Best Practices | |
https://en.wikipedia.org/wiki/Continuous_integration<- Read this! | |
https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Best+Practices | |
http://www.slideshare.net/andrewbayer/7-habits-of-highly-effective-jenkins-users | |
Set up version control of job configurations | |
Keep jobs simple! Don't put a ton of bash in each job. If a job needs to do something complex, put it in a script in GitHub and check it out as needed. | |
Use templated builders to simplify common tasks | |
Keep all scripts in version control - avoid running scripts that live on the Jenkins server filesystem | |
Don't install unnecessary plugins - plugins are often written by third parties and can interact with each other in strange ways | |
Use LDAP authentication if possible for traceability - avoid anonymous access |
What are you doing? What's going wrong? Why do you need help? Keep this short and simple.
If you haven't already, take a moment to think about this. Do you have any ideas?
# No autocast: | |
# https://github.com/guykisel/robotframework-faker/issues/3 | |
# Does not work: ${WordsList} = Words nb=10 | |
# Works: ${WordsList} = Words nb=${10} | |
# Libdoc introspects accurate args/kwargs | |
def __getattr__(self, name): | |
func = None | |
if name in self._fake.__dict__.keys(): | |
return self._fake.__dict__[name].im_func) |
export PATH=~/bin:/usr/local/bin:/usr/local/mysql/bin:/usr/local/sbin:$PATH | |
# virtualenv config | |
export WORKON_HOME=~/.virtualenvs | |
source /usr/local/bin/virtualenvwrapper.sh | |
GIT_PS1_SHOWDIRTYSTATE=true | |
export PS1='[\u@mbp \w$(__git_ps1)]\$ ' |
*** Settings *** | |
Resource resources/recommendation_resource_1.robot | |
Resource resources/recommendation_resource_2.robot | |
Library resources/RecLibrary1.py | |
Library resources/RecLibrary2.py WITH NAME Rec Library 2 With Custom Name | |
*** Test Cases *** | |
Keyword From Library Not Imported | |
[Documentation] FAIL | |
RecLibrary3.Keyword Only In Library 3 |