Skip to content

Instantly share code, notes, and snippets.

View jonico's full-sized avatar
🪐
@ home

Johannes Nicolai jonico

🪐
@ home
View GitHub Profile
@jonico
jonico / docker-build-publish.yaml
Created August 19, 2019 07:22
Build docker image and push to GPR with GitHub Actions
name: Build and publish Jekyll Docker image for Octocat Generator
on: [push]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: clean up, docker login && docker build && docker push
@jonico
jonico / azure-pipelines.yml
Last active September 14, 2020 04:17
Build and push a docker image into GitHub Package registry and create a tag in GitHub using Azure Pipelines (AZP) yaml files (azure-pipelines.yaml)
resources:
- repo: self
trigger:
- master
steps:
- script: ./cleanup.sh
displayName: Clean Up
@jonico
jonico / query_github_audit_log.graphql
Created June 6, 2019 22:11
How to query GitHub's audit log with GraphQL
query {
organization(login: "se-saml") {
auditLog(first: 50) {
edges {
node {
... on RepositoryAuditEntryData {
repository {
name
}
}
@jonico
jonico / list-business-account-members-and-their-orgs.graphql
Last active March 14, 2019 17:31
GraphQL Examples with GitHub business account
query getOrgsInBusiness($slug: String!) {
business(slug: $slug) {
... on Business {
name
resourcePath
avatarUrl
members(first: 100) {
edges {
organizations(first: 100) {
@jonico
jonico / github-saml-with-auth0.md
Created February 21, 2019 18:06
How to setup GitHub SAML authentication with Auth0

When setting up Auth0 as a SAML IdP for GitHub, you most likely created an Application in Auth0 representing GitHub and enabled the SAML WebApp addon, as explained here. In order to ensure that the proper SAML response is sent to GitHub, make sure to configure the audience value in the JSON settings for the SAML Web App addon, replacing "acme" with your org name in GitHub:

image

@jonico
jonico / github_basic_auth_retrieve_emails.go
Created January 5, 2019 00:17
Example of a basic GitHub OAuth app tha retrieves all emails (including private) of a GitHub user in Go
// Simple OAuth server retrieving the email adresses of a GitHub user
package main
import (
"context"
"encoding/json"
"github.com/google/go-github/github"
"golang.org/x/oauth2"
"log"
"net/http"
@jonico
jonico / Jenkinsfile
Last active January 7, 2022 04:37
Jenkins in Kubernetes cluster
#!groovy
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
/*
Environment variables: These environment variables should be set in Jenkins in: `https://github-demo.ci.cloudbees.com/job/<org name>/configure`:
For deployment purposes:
- HEROKU_PREVIEW=<your heroku preview app>
- HEROKU_PREPRODUCTION=<your heroku pre-production app>
@jonico
jonico / diff-branches-client.sh
Last active September 4, 2018 08:03
Example how to compute diffs of more than 300 files between branches/commits/tags server side using a pre-receive hook in GitHub Enterprise
#!/usr/bin/env bash
# Client side script to trigger pre-receive hook and scan its output
# usage: diff-branches-client.sh <repo URL> <compare branch> [base branch] [magic trigger branch]
# Examples:
# diff-branches.client.sh https://jonico@octodemo.com/jonico/large-branch-diff-with-prereceive-hook.git compare-branch feature-branch # diffs compare-branch with feature branch
# diff-branches.client.sh https://jonico@octodemo.com/jonico/large-branch-diff-with-prereceive-hook.git compare-branch # diffs compare-branch with master
# diff-branches.client.sh https://jonico@octodemo.com/jonico/large-branch-diff-with-prereceive-hook.git f75b18abbb06 f75b18abbb06^1 # diffs commit f75b18abbb06 with its parent
# diff-branches.client.sh https://jonico@octodemo.com/jonico/large-branch-diff-with-prereceive-hook.git master master~2 # diffs latest commit on master with its grandparent
@jonico
jonico / Jenkinsfile.groovy
Created February 19, 2018 16:37
Abbreviated Jenkinsfile to build on multiple archs (from conan.io project)
for (x in slaves) {
def slave = x
for (y in pyvers) {
def pyver = y
builders["${slave} - ${pyver}"] = {
node(slave) {
stage("${slave} - ${pyver}"){
step ([$class: 'WsCleanup'])
checkout scm
def bn = env.BUILD_NUMBER
@jonico
jonico / ggg-ideas-for-constellation.md
Created August 28, 2017 12:14
GGG Ideas for constellations Munich
  • feedback geo-mirroring & hot patching
  • GGG requirements letter
  • conan.io