Skip to content

Instantly share code, notes, and snippets.

View bitwiseman's full-sized avatar
🆗
Thinking about open source software

Liam Newman bitwiseman

🆗
Thinking about open source software
View GitHub Profile
#!/bin/bash
set -e
if [ $# -eq 0 ]; then
echo "USAGE: $0 plugin1 plugin2 ..."
exit 1
fi
plugin_dir=/var/lib/jenkins/plugins
import groovy.json.JsonOutput
/** Tox environment */
def config = 'e2e-tests/tox.ini'
def environment = 'tests'
/** Map of desired capabilities */
def capabilities = [
browserName: 'Firefox',
version: '47.0',
@bitwiseman
bitwiseman / comment_less.adoc
Last active September 14, 2018 20:55
Better code reviews and PRs: Commenting less, doing more and better

(Note taker arrived late)

Frustrations/Issues:

  1. Commenting when making edits would be more effective - "Be the change you want to see in the code"

  2. Over-broad notification - Stash adds you to everything you ever touched for notifications

  3. Typo and formatting nitpicks - "This whitespace is off."

  4. Non-functional comments - personal or other poorly defined stylistic preferences/suggestion

  5. Friction during code review process

  6. Siloing - reviewers not being familiar with other areas or being unfriendly from reviews outside their prefered colaborators

@bitwiseman
bitwiseman / Podcasts.adoc
Last active September 13, 2018 22:00
Podcasts from DevOpsDays PDX
  • Welcome to Night Vale - Community Radio Station from the Town in the Twilight Zone

  • Reply All - Technical answers

  • Hardcore History - In-depth History

  • How Did this Get Made? - Bad Movies

  • Stuff You Should Know - One topic, drill in

    • Stuff to Blow Your Mind

  • Tech Village - DevOps HugOps

  • PodCtl - K8S (and CloudCast)

    • Commandline Heros

pipeline {
agent none
stages {
stage("BuildAndTest") {
matrix {
agent {
label "${os}"
}
when {
and {
24.800 [test0 #1] org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject getProperty java.lang.String (__DeclarativePipelineRuntime_Root_2__.env)
24.800 [test0 #1] at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectMethod(StaticWhitelist.java:267)
24.800 [test0 #1] at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor$11.reject(SandboxInterceptor.java:358)
24.801 [test0 #1] at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:409)
24.801 [test0 #1] at org.kohsuke.groovy.sandbox.impl.Checker$6.call(Checker.java:289)
24.801 [test0 #1] at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:293)
24.801 [test0 #1] at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29)
24.801 [test0 #1] at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccess
pipeline {
agent none
stages {
stage("foo") {
matrix {
axes {
axis {
name 'OS_VALUE'
values "linux", "windows", "mac"
}
@bitwiseman
bitwiseman / backport.sh
Created February 1, 2021 15:10 — forked from jglick/backport.sh
Example of setting up a Jenkins plugin backport branch
export BASE=1.19 # or whatever; last release compatible with targeted core or other deps
export BASETAG=mystuff-${BASE} # or as per http://maven.apache.org/maven-release/maven-release-plugin/prepare-mojo.html#tagNameFormat
export FIX=abcd1234 # whatever the backportable fix was, in master or somewhere newer than $BASE
git checkout -b ${BASE}.x $(git log --reverse --ancestry-path --pretty=%H ${BASETAG}..master | head -1)
# or for JEP-305 use: mvn versions:set-property -Dproperty=revision -DnewVersion=${BASE}.1
mvn versions:set -DnewVersion=${BASE}.1-SNAPSHOT
git commit -a -m "Prepare for ${BASE}.1"
git push -u origin ${BASE}.x
git cherry-pick -x -m1 $FIX
mvn -B release:{prepare,perform}