notebook

都内でWEB系エンジニアやってます。

git

Ansibleのgitモジュールでcloneしたリポジトリの変更を残したままにする

あまりないケースかとは思うけど、自分には必要だった 自分はdotfilesの管理をAnsibleで行っていて、dotfilesのリポジトリの中にansibleディレクトリがありそれを実行するようにしている 基本ローカルで実行することを想定してたのでAnsibleのgitモジュール…

Cloudflare Pagesのデプロイ時に前回デプロイから特定のディレクトリに差分があったか確認し処理を分ける

本記事はCloudflareのカレンダー 16日目の記事です Gatsby製のブログをNetlifyからCloudflarePagesに移行したが考慮不足でしばらく気付かず問題があったのでメモ 直前のデプロイ時から、特定ディレクトリ以下に差分があるかチェックし、処理を分ける 前提 Ga…

Git logでPRに貼り付ける用のワンライナー

コミット粒度に気を付けてコメントもしっかり書いておくと、PR作成してどんなことやったかを示す場合にコミットハッシュとコメントのリストを貼り付けることがある 以前コード結構書いていたときは手動でやっていた 最近やろうと思ったら意外と作業がだるか…

GitHub Actionsでtty環境を再現し画面サイズも設定する

GitHub CLIの拡張機能のCI整備をしようとしたらさくっとは進められなかったので備忘録 gh issue listなどのようなリスト系のコマンドでttyの画面サイズによって表示内容を変えているようなパターンの場合 画面幅の変化による省略などの表示の確認ではなく、…

reviewdogでpre-commitフックをより快適にする

lint-staged + huskyでプロジェクトのpre-commitフックにリンターを設定して…コミット前に指摘を潰しましょうというのはよくあるやり方である lint-stagedでは差分に対してのみ各種リンターのチェックができる認識でいたが差分があるファイル単位までフィル…

GitHubActionsでBigQueryへクエリしたテーブル表示の結果をそのままSlackに流す

プライベートでTogglのデータやブログのデータなどさまざまなデータを収集してBigQueryに入れている LookerStudioを使って可視化して定期的に見に行くというのも悪くはないが 毎日特定の数値だけ進捗を確認、把握したい場合だと自分はSlackに通知してそれを…

GitHub Actionsで条件によってステップ中のコマンドオプションを切り替える

三項演算子のように特定の条件の場合は特定のオプションを付ける、それ以外の場合はつけないといった分岐をちょっとだけ入れたいみたいなケースがあった そのときのメモ 実例 ブログへの記事投稿用のCLIツールをActions経由で使いたい (記事内ではわかりや…

GitHub ActionsのAnnotationリストを取得するCLI拡張を作った

背景、目的 少し前の話になるが、GitHub ActionsでNodeのバージョン12を使っているActionがあるとDeprecatedになるよというWarningがAnnotationへ出るようになった しっかりメンテナンスしているリポジトリだったら気付いて対応って感じでよいが漏れているも…

GitHub CLIで自身のリポジトリのPullRequest一覧を取得する

プライベートなリポジトリも含め自身が管理しているリポジトリにおいて、RenovateやDependabotなどを用いて自動的にPullRequestを出してもらうリポジトリが増えてきた 今までだと定期的にリポジトリのページに行って確認してたりしていたが、リポジトリの量…

GitHub Actionsのruby/setup-rubyで.ruby-versionのバージョンを指定する

下記の記事を読んで GitHub Actions の setup-go や setup-node で指定されるバージョンを go.mod や .node-version から取ってくる - stefafafan の fa は3つです blog.stenyan.jp これは便利だ!と手元のsetup-xxxを上記記事での指定方法にしようとしたらRu…

既存のPullRequestやIssueをGitHub Projects Beta(ProjectV2)にひもづける

自分はGitHubのProjects(Beta)を個人のタスク管理に使っている それまではZenHubを使っていたがProjects(beta)に移行した 移行の際、せっかくならそれまで対応してきたIssueやPullRequestなどをProjcets(beta)にひもづけた状態で使い始めたい 各リポジトリの…

GitHubのProject(beta)のデータ(ProjectV2)をGraphQLで取得する

先日Project(beta)でGraphQLのAPIに更新があった The new GitHub Issues - June 23rd update | GitHub Changelog 以前はProjectNextという名前でデータを取得できていた すでにProjectNextでデータを取っていたが新たにできたProjectV2という型で取得するよ…

GitLabのGraphQL APIにzxを使ってクエリを投げてみる

ドキュメント読めば一通りわかるが一応やったこととか残しておく 今回はGitLabのMergeRequestの情報をAPIで取得する 一定期間内で、特定のリポジトリのMergeRequestの内容で、MergeRequestにひもづくコミットのshaと日時も欲しかったのでREST APIではなくGra…

GitHub Actionsでactions/scriptを用いてイベントの種類によってmatrixの値を変える

以前matrixを動的に設定する記事(GitHubActionsでmatrixの値を動的に扱う - notebook)を書いたがそのときは固定値だったので、今回はイベント内容によってセットするmatrixを変えてみる actions/scriptを使うとJavaScriptを書けるのでShellScriptやActionsの…

GitHub Actionsで使用するRubyやNodeのバージョンをRenovateで更新可能にする

GitHub Actionsのruby/setup-rubyやactions/setup-nodeなどで使う言語のバージョン指定をRenovateで随時更新できるようにする 自分はRuby, Nodeを使うことが多いので掲題の2つしか試していないが他の言語の~~envでもRenovateが対応していれば流用可能 node-v…

GitHub Actionsのworkflow_runトリガーで、直前に実行されたワークフローの情報を取得する

GitHub Actionsで自作アクションや他のアクションでコードを書く場合(TypeScript) @actions/githubのcontextに色々入っているのでそれを、参照して色々行うことが多いかと思う 単純にyamlファイルで定義する場合はイベントの情報は${{ github.event }}で参照…

GitHubActionsでmatrixの値を動的に扱う

実際使うかと言うとどうなんだろうという気もするが、できるの知らなかったので残しておく いきなりサンプルコードだがこれだけで理解はできると思う .github/workflows/dynamic-matrix.yml name: dynamic matrix on: [push] jobs: set-matrix: runs-on: ubu…

GitHub Actionsでworkflow全体の結果をSlackに通知する

GitHub ActionsでSlackに通知を送るならSlack Workflow Notificationsが良さそうですよという話 経緯はだらだら書いてしまったので忙しい方は試してみるから読んでいただければと思います 経緯 Actionsを使って色々やっているworkflowが増えてきたのでそろそ…

GitHub Actionsの手動実行 workflow_dispatchを試す

先日GitHub Actionsで特定のworkflowの手動実行ができるようになりました GitHub Actions: Manual triggers with workflow_dispatch The GitHub Blog github.blog もう見たまんまでスクショも貼る必要なさそうな気がしますが、触ってみないと何とも言えない…

commit --fixupでコミットログをきれいにする

小ネタ git commit --fixupとgit rebase -i --autosquashを組み合わせることで簡単にコミットを混ぜられる --fixup git commit --fixup ${HASH} とすることで対象のコミットハッシュと同様のコメントの前にfixup!というコメントが付く rebase -i --autosquas…

GitHub ActionsでJobのOutputの値を後続Jobで参照する

今までJob内限定でStep間でのoutputの参照はできたがJobをまたぐと参照する方法がなかった なので細かくJobを作って後続Jobで参照したいといったパターンに対応できず1つのJobにまとめてしまうくらいしか対応できなかった それが、先日のリリースで行えるよ…

GitHub Actionsで定期的にmilestoneを作成する

個人的にタスクの管理をGitHubのIssueで管理していて、週や月ごとにマイルストーンを作って管理しています スクラムイベントみたいなことまでは行っていませんがおおよそどのくらい時間を掛けたかといった意味でポイントをつけています ZenHubと組み合わせる…

GitHubActionsのrepository_dispatchを使い特定ブランチでWorkflowを実行する

背景 任意のタイミング、ブランチでworkflowを実行したい push時にも同じworkflowを実行したい repository_dispatch GitHubActionsを使って任意のタイミングでworkflowを実行するためにはrepository_dispatcheventを指定すればよい Events that trigger work…

GitLab-CIで複数のJobを異なるスケジュールで実行したい

GitLab-CIで複数のJobをスケジューリングして実行したい場合のメモ 単純にスケジュールで実行させるには次のような設定になる .gitlab-ci.yml job1: stage: test script: echo 'hello! job1' only: - schedules job2: stage: test script: echo 'hello! job2…

GitHubActionsでdotfilesのAnsibleが実行できるかチェックする

この記事は GitHub Actions Advent Calendar 2019 の17日目の記事です dotfilesのAnsibleスクリプトの実行をGitHubActionsでチェックできるようにした話です 経緯 前提 開発はWin機でCentOSのVMを立ち上げている Ubuntu(WSL)でも開発する(予定) プライベート…

新しくなったGitHubActionsを試す

yamlの記述になってから試してみたかったものの題材がなかったのと割と忙しくて試せていなかったためいまさらながら試してみた、記事的には目新しいことはなさそうなので完全なチラシの裏 とりあえず下記のリポジトリでいくつか実践してみた swfz/ngx-librar…

git hook を使って静的サイトを自動でデプロイする

git

git hookを使って更新ファイルの内容次第でpush前にテストやデプロイを行うようにします middlemanで作成したプロジェクトで、静的サイト用のファイルがpushされようとしているときにhookを使ってデプロイ作業も行ってしまおうというものです 実際に行うプロ…

proxy環境でgitを使う

git

社内などのproxy環境でgitを使う 会社でproxyを使って社外にアクセスする場合、gitでアクセスしようとしてもはじかれる事があるかと思います。 いろいろ調べると出てきますがなにやらcorkscrewを使うといいらしい。。。 いろいろ断片的だったので実際に試し…