Skip to content

Instantly share code, notes, and snippets.

View PurpleBooth's full-sized avatar

Billie Thompson PurpleBooth

View GitHub Profile
@PurpleBooth
PurpleBooth / copy-labels.sh
Created February 15, 2023 10:37
Copy labels between repos on github
View copy-labels.sh
#!/usr/bin/env bash
set -xeuo pipefail
# Set the source repository
SOURCE_REPO=org-name/source-repo
# Set the target repository
TARGET_REPO=org-name/dest-repo
@PurpleBooth
PurpleBooth / write-me-a-commit-message.py
Last active March 5, 2023 11:26
I cba with writing my own commit messages anymore
View write-me-a-commit-message.py
#!/usr/bin/env python
import json
import logging
import subprocess
import sys
import textwrap
from typing import Literal, Sequence, TypedDict, Union
from urllib.error import HTTPError
from urllib.request import Request, urlopen
View snippet.yaml
dependabot:
needs: [ validate ]
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' && ( github.head_ref || github.ref_name ) != 'main' }}
steps:
- name: Enable auto-merge for Dependabot PRs
run: gh pr merge --auto --merge "$PR_URL"
@PurpleBooth
PurpleBooth / README.md
Last active October 4, 2021 17:50
How to use docker in without docker-desktop on mac using lima
View README.md

First run ths install.sh script

Then add an environment variable so tools you use that use docker can find docker

## Add this to your bashrc if you want this to be permenant
export DOCKER_HOST=ssh://localhost:60006

This will need the lima vm for docker running, you can do that by running

@PurpleBooth
PurpleBooth / README.md
Last active September 17, 2021 15:07
Change your default branch on github without checkout anything out
View README.md

change-github-default-branch.sh

Usage

change-github-default-branch.sh "$GITHUB_TOKEN" PurpleBooth/homebrew-repo

Does not delete the old default branch, or change where pull requests are based from, incase something breaks.

@PurpleBooth
PurpleBooth / README.md
Last active September 8, 2023 20:52
A github workflow pipeline for rust that does test, build and deploy windows, linux and mac, creates releases, and does SemVer Versioning, and releases to a homebrew tap
View README.md

Features

  • Automatically bump SemVer
  • Update a personal homebrew tap
  • Keep that pesky version in the Cargo.toml up to date
  • (From dependabot) Get new versions out as soon as possible

Assumptions

  • You don't want a changelog
@PurpleBooth
PurpleBooth / demo.rs
Created April 19, 2020 20:25
Reading git config from global and the containing repo in rust
View demo.rs
#!/usr/bin/env run-cargo-script
//! This is a regular crate doc comment, but it also contains a partial
//! Cargo manifest. Note the use of a *fenced* code block, and the
//! `cargo` "language".
//!
//! ```cargo
//! [dependencies]
//! git2 = "0.13"
//! ```
View main.rs
use futures::future::join_all;
use futures::StreamExt;
use reqwest::Client;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug)]
struct ProjectsItem {
hash_id: String,
}
View main.rs
use std::collections::HashMap;
use futures::{stream, StreamExt};
use reqwest::Client;
use serde::{Deserialize, Serialize};
use std::error::Error;
#[derive(Serialize, Deserialize, Debug)]
struct ProjectsItem {
hash_id: String,
@PurpleBooth
PurpleBooth / 1password
Last active April 16, 2023 03:35
Use sops to cache the one password vault session token because op is horrible to use
View 1password
#!/usr/bin/env bash
set -euo pipefail
CACHE_DIR="${XDG_CACHE_HOME:-$HOME/Library/Caches}/wrapper-1password"
CACHE_FILE="$CACHE_DIR/session-token.yaml"
OP_LOCATION="$(command -v op)"
mkdir -p "$CACHE_DIR"