github

A collection of 12 posts
Build and release keymap on GitHub Actions
iris

Build and release keymap on GitHub Actions

最近 Iris という自作キーボードを組み立てて使い始めました。 * Iris キーボードを組み立てた! 自作キーボードの利点の一つとしてキーマップを自由に変更可能という点があります。キーマップの変更はファームウェアを書き換えることで行います。ファームウェアは現在恐らく自作キーボード界のデファクトスタンダードである qmk_firmware を使うことが多いと思われ、Iris も qmk_firmware に対応しているものの一つです。 * QMK Firmware qmk_firmware は有志の手によって GUI ツールが用意されておりますが私は現在 GitHub 上でコードベースで管理しております。理由としては変更の履歴を残しておきたいからです。他にもありますが要するに GitHub だと管理が楽! Iris を組む前は元々 Planck という自作キーボードを使っておりそちらも GitHub 上でファームウェアを管理していました。また、CircleCI と連携させてタグをつけてプッシュした場合にビルドとリリースを自動で行うようにしていました。 これ
4 min read
Build and release keymap on CircleCI
circleci

Build and release keymap on CircleCI

ここ数日、組み立てた Planck キーボードのキーマップをあれこれいじっています。 * planck - ゆるふわキャンパー キーマップはファームウェアの一部として C 言語で書かれているのでコンパイルする必要があります。 私はファームウェアのリポジトリを自分用にクローンして、そのリポジトリに対して PR を出して変更を加え、コンパイル・適用する運用をしています。 * 俺のキーマップ by lorentzca · Pull Request #1 · lorentzca/qmk_firmware · GitHub あれこれ試しながら楽しく作業しているので、一連の作業を手動で行うことは今のところさほど苦痛では無いのですが、私は PCB のリビジョンが違う2台の Planck (家用、職場用)を使っているし、気に入ったキーマップにはバージョンをつけてちゃんと管理したいです。あとリリースページからコンパイル済みのファイルをダウンロードできたら色々便利そう。 そこで、 CircleCI と連携させて自動的にビルド・リリースすることを思いついたのでやってみました。
2 min read
Automatically build Docker images
docker

Automatically build Docker images

Docker Hubには自動ビルド機能があって、GitHubに対して行われたアクション(ブランチの作成、マスターへのマージ)を契機にDocker Hub側でイメージの自動ビルドを走らせることが出来ます。 以下のようなメリットがあります。 * Docker HubにDockerfileを設置することができる * GitHubリポジトリのdescriptionやREADMEを読み込んで自動的にShort DescriptionとFull Descriptionを埋めてくれる * イメージに対し自動でタグ付けしてくれる * 手元でビルドを実行しpushする手間が省ける Dockerfileはこんな感じで表示されます。 今回は以下のような前提のもと、設定を行いました。 * 既にGitHubリポジトリが存在している 大まかな流れは以下です。 * GitHubとDocker Hubを接続する * Automated Buildの設定をする * 1回目のビルドを手動で行う 自動ビルド設定の手順 GitHubとDocker Hub
3 min read
Conflict gpg-agent
gpg

Conflict gpg-agent

GitHubにGPG認証を利用しています。 * Export GPG Key さっきbrew upgradeをしていて、たぶんgpg関連のアップデートがあって恐らくそれがきっかけと思うんですが、git commitができなくなりました。 調査のためgpgコマンドをいじっていたら以下のエラーが出ました。 gpg: starting migration from earlier GnuPG versions gpg: *警告*: サーバ'gpg-agent'はこちらより古いです(2.0.30 < 2.1.20) gpg: error: GnuPG agent version "2.0.30" is too old. gpg: Please make sure that a recent gpg-agent is running. gpg: (restarting the
1 min read
Transfer blog Domain Name
blog

Transfer blog Domain Name

私がはじめて取得したドメイン。それはponpokopon.dyndns.orgで私は大学生でした(DynDNSは当時無料だった)。 その後ブログをAWSで運用する際にponpokopon.meを買って使ってきました。 ponpokoponは気に入っていたのですが、気分でlorentzca.meを購入したのでブログのドメイン名も変えてみました。 その際やはりというか、色々やることがあったので何をどのようにやってきたかざっくり記録しておきます。 移行の流れ 主に以下のような流れで行いました。 * ドメインの取得 * DNSレコードの設定 * mailgunの設定 * 証明書の取得(letsencrypt) * リダイレクトの設定 * ghostの設定ファイルの修正 * mackerelなど監視系の切り替え これを主軸にポロポロ細かい作業がある感じ。 GitHub Projectsを利用する 洗い出してはみたものの一気にやるのは無理そうだったので、1ヶ月くらい前から気が向いたときにちまちま進めていました。その際GitHubのProject
1 min read
Rewrite check_mailgun.sh to golang
mackerel

Rewrite check_mailgun.sh to golang

以前mailgunのステータスをmackerelで監視するシェルスクリプトを書きました。 * Check maingun status on mackerel これをようやくGoで書き直して、一応使える状態にはなったのでうp。 * GitHub - Lorentzca/check-mailgun: WIP デモ。 $ ./build/darwin_amd64_check-mailgun -p key-xxxx -d ghost.ponpokopon.me State OK: ghost.ponpokopon.me is active あんまりよくわかってないまま書いたので後で復習が必要。特に以下。 * http.Client{}をなぜポインタのアドレスで指定しているのか * 型周り * httpパッケージで戻り値が(resp *Response)になってて*Responseってどういう型なのかわからんみたいな * Goプログラミング言語仕様 - golang.jp * jsonパッケージが何やってるのかよくわからん
1 min read
Check my favorite OSS with Jasper
github

Check my favorite OSS with Jasper

ちょっと前にJasperというGitHub Issue Readerを購入しました。 * JasperというGitHub Issue Readerを作りました - maru source 私は何故かブラウザの通知を活用しない傾向にあり、GitHubの通知も放置気味(仕事のissue以外では)だったのでなんかいい方法ないかなと思い購入してみました。 読み込みの時間がちょっとあるのが難点ですが、結構快適です。メールクライアントアプリっぽくissueを確認できます。また、authorやorganizationなどで好きにフィルタリングしたストリームを作ることが出来るので、自分が好きなOSSを集めたストリームを作ってみました。 * Jasper/Stream これで気になるOSSの最新情報が以前より追いやすくなっていい感じです。
1 min read
Export GPG Key
github

Export GPG Key

もう4ヶ月位前の話ですがgithubでgpg認証対応しましたね。 GPG signature verification · GitHub 設定したマシンと別のマシンでcommitしようとしても当然鍵がないので失敗しますね(同じgitのアカウントを使っていた場合)。そんな時の対応方法がメモに埋もれてたので晒す。一応gpg周辺ツールのインストール、鍵生成の所から書く。 gpg周辺ツールのインストール・鍵生成 インストール brew install gpg2 gpg-agent pinentry-mac 鍵生成 gpg --gen-key gitに設定 git config --global user.signingkey 取得した鍵名(pub) git config --global commit.gpgsign true git config --global gpg.program gpg2 ほかのマシンで使う場合 設定済みのマシンで鍵をエクスポート gpg -o sec.key --export-secret-key 設定したメー
1 min read
github

You may be getting rate limited by Github

docker-machinアップグレードしようとしたらこんなエラーが $ docker-machine upgrade dev Detecting the provisioner... Downloading latest boot2docker iso... Error demarshaling the Github API response: json: cannot unmarshal object into Go value of type []struct { TagName string "json:\"tag_name\"" } You may be getting rate limited by Github. どうやら制限がかかったらしい GitHubのトークンを指定してあげればOK $ docker-machine --github-api-token=<トークン> upgrade dev Detecting the provisioner.
1 min read