Plan 9とGo言語のブログ

主にPlan 9やGo言語の日々気づいたことを書きます。

GitHub

GitHub ActionsでC言語のコードをクロスコンパイルする

GitHub ActionsではARM64ランナーも公開されつつありますが、ここでは gcc を使ったクロスコンパイルを説明します。この記事ではホスト*1のアーキテクチャを x86_64、ターゲット*2のアーキテクチャを arm64 としていますが、他のターゲットでも同様の手順と…

Go製バイナリを配布するためのGitHubワークフロー

前置き 以前、BuildInfoからバージョンを取得する方法を紹介しました。 blog.lufia.org go installで正規の公開されたバージョンをインストールした場合は、以下の出力においてmodの行が示すように、sum.golang.orgでチェックサム等が検証されてバイナリのメ…

GitHub ProjectsのTracksとTracked byを設定する

GitHub ProjectsにはTracksフィールドとTracked byフィールドがあります。 フィールド選択のところで確認できます これらのフィールドは、新しいタスクリストでissueやプルリクエストを追加すると追跡の対象となります。 ```[tasklist] ## Tasks - [ ] #1234…

GitHubの複数リポジトリで共通したワークフローを(ある程度)まとめて管理する

TL;DR Reusable workflowにタグを付けて、参照する側のリポジトリはDependabotなどで更新するといいと思う リポジトリごとにDependabotのプルリクエストをマージする手間は必要になる GitHub Actionsのscheduleトリガーでcron式を書けるが、60日以上更新がな…