tech.guitarrapc.cóm

Technical updates

GitHubActions

GitHub Actionsで他のワークフローやリポジトリのアーティファクトをダウンロードする

GitHub Actionsでアーティファクトのアップロードはactions/upload-artifact、ダウンロードはactions/download-artifactで行います。普段は同一ワークフローのジョブ間でアーティファクトを受け渡すのに使っていますが、他のワークフローやリポジトリのアー…

cronスケジュール設定をLLMで効率化しよう

ふと周りの人と話していて、はじめてLLMを触るときにいいものが思いつかないという話がありました。 そこで、cronスケジュールはLLMを試しやすく検証しやすいのでオススメなのでは、ということでメモです。 cron形式は難しい GitHub Actionsのcronスケジュー…

GitHub Actionsのhosted runnerサイズを使い分ける

本日(2026年1月2日)から、Hosted Runnerの値下げが有効になりました。 いい機会なので、GitHub Actionsのhosted runner(Ubuntuランナー)における、ubuntu-24.04とubuntu-slimの使い分けについて振り返っておきましょう。 対象 ubuntu-slimの概要 ubuntu-slim…

ドキュメント翻訳をCopilotエージェントに補助させる

GitHubで管理しているドキュメントは多言語対応しても維持管理が大変です。 今回は、ドキュメントの翻訳・維持をCopilotエージェントに補助させる方法についてです。 3行まとめ 多言語翻訳は維持が難しい LLMの翻訳補助 GitHub Copilotを用いたドキュメント…

GitHub Appのインストールアクセストークンを使ってPATを排除する

GitHub ActionsでPATを絶対使いたくないマンです。GitHub Appのインストールアクセストークンも使いたくなかったのですが、PATより100倍マシなので最近はこれを使うようにしています。 今回は、GitHub Actionsにおけるアクセストークンを整理し、GitHub App…

Trusted Publishingでcrates.ioパッケージ公開をトークンレスにする

crates.io Trusted Publishingが2025年7月11日にアナウンスされ、OpenID Connect (OIDC)を使ってトークンレスでCIからRustパッケージを公開できるようになりました。 今回は、crates.io Trusted Publishingを使ってGitHub ActionsからトークンレスでRustパッ…

GitHub Actionsからgit pushをするパターン

GitHub Actionsからgit pushを実行する機会は少なくありません。例えば自動フォーマッタやドキュメント生成、特定ファイルの中身を更新などをした人は多いんじゃないでしょうか。 今回は、GitHub Actionsでgit pushをするときに私がやっている方法の備忘録で…

.NET 10のファイルベースプログラムをパイプ入力やGitHub Actionsで使う

以前にも軽く紹介する記事を書いているのですが、.NET 10から、C#のファイルベースプログラム実行機能が追加されました。C#にファイルベースプログラムが来ても.csファイルを用意して実行することを考えがちでしたが、そういえばパイプ入力でコードを渡して…

GitHubのCODEOWNERでレビュアー指定を自動化する

GitHubでPRを作ったときにレビュアーを指定するのが面倒だったので、CODEOWNERでさくっと自動化しましょう。 CODEOWNERとは CODEOWNERの設定 Rulesetsでレビュアー必須と組み合わせる CODEOWNERには通知が来る チームをアサインすると全員に通知が来る Copil…

1PasswordのシークレットをGitHub Actionsで利用する

GitHub Actionsで1Passwordのシークレットを利用するのがとても便利なので、その方法を紹介します。 GitHub Actionsのシークレット管理の難しさ 1PasswordのシークレットをGitHub Actionsで利用する 1password/load-secrets-actionを使えるようにする 1passw…

GitHub Actionsで利用するリモートアクションやワークフローのファイルを触る

GitHub Actionsの良いところといえば、GitHub Actions Marketplaceにあるアクションを利用できることです。また、ワークフローもGitHubを参照して再利用できます。 では、YAMLで定義したリモートアクションやワークフローはいつ、どこにダウンロードされてい…

GitHub ActionsでダウンロードしたActionsのパス

GitHub Actionsが他CIと決定的に違うポイントの1つがカスタムアクションです。他のCIサービスにも類するものはありますが、圧倒的なボリュームと参照しやすさ、作りやすさが他のCIサービスと一線を画しています。1 今回はそんなカスタムアクションの豆知識で…

GitHub Actionsのinputsを環境変数で取れるときと取れないとき

GitHub Actionsには、ワークフローの実行時に渡すパラメータを定義するinputsがあります。このinputsを使うことで外部から変数を受け取ることができます。 今回はinputsで渡した変数を環境変数として受け取れる時と受け取れない時の違いについてです。 input…

GitHub Actionsでスパースチェックアウトを使ってモノレポの一部だけをチェックアウトする

モノレポをCIでビルドするにあたり、最初にして最大の課題がチェックアウトです。先日GitHub Actionsのactions/checkoutでスパースチェックアウトできるようになったので、これを使ってモノレポのチェックアウトを高速化しました。 今後のモノレポチェックア…

GitHub Actionsでモノレポ上の特定パスをチェックアウトスキップしたい

モノレポでリポジトリサイズが大きくチェックアウトに時間がかかって困ることがあります。 今回はこういったときにどうできるのかを考えてみましょう。 概要 GitHub Actions でスパースチェックアウトをする CI におけるチェックアウトの基本 git cloneを高…

GitHub ActionsでREADMEにリポジトリのコードを埋め込みたい

READMEに、リポジトリにおいているコードを埋め込みたい時があります。 そんな時に便利なのが、embedmeです。 https://github.com/zakhenry/embedme 今回は、GitHub Actionsを使ってREADMEにリポジトリのコードを埋め込むことをしたので紹介します。 概要 em…

GitHub Actionsでconfigure-aws-credentialsを使ったOIDCではまったこと

GitHub ActionsのOpenID ConnectorとAWSのOIDC Providerを使うことで、IAM RoleをAssumeできるというのは前回書きました。 https://tech.guitarrapc.com/entry/2021/11/05/025150 構築中によく出るエラーに関しても書いたのですが、いざ実際に使おうとしたら…

GitHub ActionsがOpenId Connectに対応したのでAWS OIDC Providerと連携する

GitHub ActionsでOpenID Connectを経由して各種Cloud Providerの認証を得る機能のがGAしました。 めでたい。 https://github.blog/changelog/2021-10-27-GitHub-actions-secure-cloud-deployments-with-openid-connect/ これにより、aws-actions/configure-a…

GitHub ActionsのローカルComposite Actionで歯がゆいこと

GitHub ActionsのComposite Action (複合ステップアクション) は便利なのですが、制約や歯がゆいことが多く悩ましいです。 では何が難しいと感じているのか、その対処をどうしているのかメモしておきます。 概要 Composite Actions とは Composite Actions …

GitHub Actionsのsetup-dotnetとホストランナーの.NET SDK

GitHub Actionsで .NET Coreビルドを行いたいときに利用するものといえば、setup-dotnetがあります。 https://github.com/actions/setup-dotnet 今回はUbuntu-latestな環境でsetup-dotnetがいる場合と、そうでない場合について考えてみます。 概要 GitHub Ac…

GitHub Actionsで.NET Frameworkプロジェクトをビルドする

Visual Studio拡張のプロジェクトは、今でも .NET Frameworkです。 .NET Frameworkということは、基本的にWindowsでのビルドになります。 今回、AppVeyorでやっていたビルドをGitHub Actionsに移行したのでメモ。 最終的に、次のように .NET Frameworkのビル…

GitHub Actionsことはじめ

GitHub Actions以前調べたのですが、いろいろあって個人プロジェクトでサクッとビルドするのみに使っていました。 今回改めて調べを進めたのでメモ。 幾つかのリポジトリをGitHub Actionsに移行したけど、記事にしようとまとめていたらやった内容以上に調べ…