「pre-commit-config.yaml」をリポジトリ毎に書かなくてもpre-commitを有効にする方法の検討

pre-commitでGitのhookを管理しておくと、 commit時にいろいろなチェックを行ってくれるので、 チェック漏れを事前に防げ便利なのですが、 プロジェクト毎に「.pre-commit-config.yaml」を用意するのも面倒なので、 設定ファイルを書かなくても、有効にできないかを検討してみました。 pre-commit https://pre-commit.com/ 実現方法の概要 「.pre-commit-config.yaml」 …

dbtのリポジトリに、コードスタイル用のpre-commitを設定する

次のページに、dbt BestPracticeとしてコードスタイルの記載があり、 pre-commit hooksで自動化しようとかも書かれているのですが、 設定例が見当たらなかったので書いてみました。 How we style our dbt projects | dbt https://docs.getdbt.com/best-practices/how-we-style/0-how-we-style-our-dbt-projects BestPracticeのコードスタイルでは、以下のようにツールへの …

pre-commitでdbt-coreのyamlファイルのスキーマをチェックする

dbt-coreを使って開発をしているといろいろとyamlファイルを作ることになるので、 これらのスキーマ検証を自動的に行えると便利です。 dbt-core | GitHub https://github.com/dbt-labs/dbt-core 次のリポジトリで、dbtのjsonschemaが公開されているので、 このエントリでは、 pre-commitのcheck-jsonschemaフックで検証する手順を記載したいと思います。 dbt-jsonschema | GitHub …

GitのcommitコメントをConventional Commitsに従わせるGitHubActionsとpre-commitの設定

Git等のコミットメッセージの書き方のルールに、 「Conventional Commits」という仕様があります。 Conventional Commits https://www.conventionalcommits.org/ja/v1.0.0/ 本エントリでは、 このルールに従っているかをチェックする仕組みを、 GitHubActionsとpre-commitで設定する手順を示します。 GitHubActionsでの設定 次のActionを使うと、 GitHubActions …

pre-commitをGitHub Actionsで動かす時に、差分のみに適用する

以下のActionを使って、GitHubActionsでpre-commitを動かす場合、 既定では全ファイルに対して適用されます。 pre-commit/action | GitHub https://github.com/pre-commit/action このエントリでは、 該当のPullRequestで変更したファイルのみに適用したい場合の設定方法を示します。 # ユースケースとしては、 # リンター類を導入して無かったリポジトリに対して、 # 新規・変更部分から段階的に適用していきたい場合など。 …

AllureのレポートをMarkdownに変換し、GitHubActionsのJobSummariesで閲覧する

CucumberやBehave等のテスト結果はAllureを使うと、 エビデンスの保存もでき、レポートも綺麗に確認ができます。 ただHTML形式のレポートではHostingする環境が必要が必要になります。 GitHubを使っている場合、Markdown形式であれば、 PullRequestのコメント・ActionsのJob Summaries等でお手軽に表示できるので、 このエントリでは、Markdown形式に変換する事を考えてみます。 結論からになりますが、 次に示すファイル構成でリポジトリを作っ …

BehaveからSeleniumWebDriverを使ってスクリーンショットを撮り、Allureのレポートに添付する流れ

このエントリでは、 BehaveからSeleniumWebDriverを使って、 ブラウザのスクリーンショットを撮り、Allureのレポートに添付する流れを記載します。 BehaveからSeleniumWebDriverを使うならbehave-webdriverと言うライブラリがありますが、 対応しているSeleniumがやや古いのと、日本語でシナリオ書けないので、 このエントリでは、ライブラリを使用せずに対応することにします。 behave-webdriver …

Behaveでの非同期処理のやり方

このエントリでは、Behaveの非同期処理を試したメモを残します。 Behaveの非同期処理については、以下で紹介されています。 Testing asyncio Frameworks | Noteworthy in Version 1.2.6 | behave https://behave.readthedocs.io/en/stable/new_and_noteworthy_v1.2.6.html#testing-asyncio-frameworks 非同期処理には、以下の2種類があります。 …

Behaveでテスト中のステップを把握する

このエントリでは、 Behaveで、現在テスト中のステップを把握する方法を記載します。 シナリオ下のステップ一覧表示 シナリオ下のステップは、次のようなコードで一覧表示することができます。 # -- FILE: sample.feature Feature: sample feature Scenario: sample scenario Given sample step When sample step Then sample step # -- FILE: steps/sample.py from …

Allure Behaveで検査結果にMarkdown文書を添付する

このエントリでは、 Allure Behaveで検査結果にMarkdown文書を添付する方法を記載します。 Allureのレポートには、次のページで示されているように、 Screenshots, Videos, Text(html/plain), Tables, URI lists, Documents(xml/json/yaml) などの形式のデータを添付できます。 Attachments | Allure Report https://allurereport.org/docs/attachments/ …

Behaveで(allure-resultの結果を見て)未実施・失敗したシナリオのみを実行する

Behaveでテストを繰り返し実施していると、 失敗したシナリオだけを再実行したい時があります。 そのような場合、 次のリンク先にあるように、テスト結果のフォーマットを「rerun」にすると、 失敗したシナリオのみ再実行することができます。 features/formatter.rerun.feature | behave/behave | GitHub https://github.com/behave/behave/blob/main/features/formatter.rerun.feature こ …

Allure Behaveでログ出力を検査結果に添付する

Allure Behaveでテストをする際に、 標準出力・標準エラー出力を検査結果に添付する方法は、 次のエントリでまとめました。 Allure Behaveで標準出力・標準エラー出力を検査結果に添付する https://takemikami.com/2024/0605-allure-behave-stdout.html このエントリでは、同様にしてログも添付できると便利だと思うので、 その手順をまとめておきます。 テストコードの作成 以下のように、ログを出力するテストコードを用意します。 …

MLflowをnginxのreverse-proxyからforwardして動かす時にsubpathを用いる設定手順

このエントリでは、 nginxのreverse-proxyの後ろで、MLflowを動かすときの設定メモを残しておきます。 MLflowのセットアップは、以下の手順で行った想定で記載します。 UbuntuLinuxにMLflowをセットアップする手順 https://takemikami.com/2024/0319-ubuntulinuxmlflow.html 試した環境: Ubuntu Linux 22.04.3 nginx 1.18.0 MLflow 2.11.1 MLflowでsubpath …

Forgejoをnginxのreverse-proxyからforwardして動かす時にsubpathを用いる設定手順

このエントリでは、 nginxのreverse-proxyの後ろで、Forgejoを動かすときの設定メモを残しておきます。 Forgejoのセットアップは、以下の手順で行った想定で記載します。 UbuntuLinuxにForgejoをセットアップする手順 https://takemikami.com/2024/0318-ubuntulinuxforgejo.html 試した環境: Ubuntu Linux 22.04.3 nginx 1.18.0 Forgejo 1.21.7 基本的には、以下の公式の説明通 …

Allure Behaveで標準出力・標準エラー出力を検査結果に添付する

Allure Behaveを使うと、検査結果レポートを見やすく表示できます。 Allure Behave | Allure Report https://allurereport.org/docs/behave/ また、検査結果にテキスト・画像などの情報を添付して、 付加情報やエビデンスとして活用することもできます。 Attach screenshots and other files | Allure Behave | Allure Report …

Author
takemikami
データエンジニア
・データ分析基盤の開発運用
・マーケティングデータ分析
研究履歴 / 執筆履歴 / プロダクト
facebook
X(twitter)
BlueSky
LinkedIn
YouTube
GitHub
SpeakerDeck
slideshare
Books
takemikami's shop
Recent Posts
    [PR]
    PlayStation
    Steam
    About