2020年8月12日水曜日

[iutest] ドキュメントの置き場を GitHub Pages に集約した

issue いただきまして iutest のドキュメントの構成を変更しました。
(issue ありがとうございますmm)

これが、

こうなりました。

ドキュメントを GitHub Pages へ
まず OSDN においていた最新バージョンのドキュメントを GitHub Pages に引っ越ししました。
こちらのドキュメントは実は2年くらい更新をし忘れていました。。。
そこでドキュメントの更新は GitHub Actions でタグが作られたら自動で更新されるようにしました。

次にもともと GitHub Pages においていた master ブランチ HEAD バージョンのドキュメントですが、こちらはトップディレクトリから master ディレクトリに移動しました。ディレクトリ構成は以下のとおりです。

最新バージョンのドキュメントは latest ディレクトリに push されます。
OSDN からリダイレクト
続いてもともと OSDN にアップロードしていたドキュメントページにアクセスしたら、GitHub Pages にリダイレクトするように設定します。

まずはサーバーへのアクセスをします。(これまでもやってるはずですが、いつも忘れてしまうのでメモ)
OSDN のドキュメントはシェルサーバーの「/home/groups/<プロジェクトUNIX名の1文字目>/<プロジェクトUNIX名の1、2文字目>/<プロジェクトUNIX名>/」にあります。iutest の場合は「/home/groups/i/iu/iutest」です。サーバーには鍵を登録してアクセスします。

OSDN では .htaccess でリダイレクトの設定ができるので、OSDN ドキュメントのサンプルを参考に設定しました。
RewriteEngine on
RewriteBase /doc
RewriteRule ^(.*) https://srz-zumix.github.io/iutest/latest/$1 [R=301,L]

最後に
手動更新は早急にやめたほうがいいですね。
では。





2020年8月3日月曜日

[GitHub Actions] Actions の PR 時に自分自身をアクションとして実行する

GitHub Actions を使う側(ユーザー側)は通常 @v1 や @master などリリースタグ(またはブランチ)を指定して使いますが、GitHub Actions を作っている側(開発側)としては PR ブランチ側の変更で Action を実行してほしくなります。
もちろん、PR ブランチの名前を @ で指定すればそのブランチで Action が実行されますが、それではそのままマージできませんし、PR のたびに名前を変えるのも手間です。
以下は「ブログズミ: [技術書] 画像のフォーマットチェックを GitHub Actions でしてみた」で紹介した画像ファイルチェック Action を例にしています。

name: GitHub Actions
on:
  pull_request:

jobs:
  all-ok:
    runs-on: ubuntu-latest
    steps:
    - name: clone
      uses: actions/checkout@master
    - uses: srz-zumix/actions-book-image-check@master
      with:
        path: ./test/format
        formats: "JPEG, PNG"

上記は普通に使用する場合の例になります。
では本題である PR 自身のアクションを実行する方法ですが、
GitHub Actions はリポジトリ内のパス指定でも実行可能なので、「./」を指定すれば OK です。
PR で実行されるワークフローを用意して「./」で Action 実行しておくと良いと思います。

name: GitHub Actions
on:
  pull_request:

jobs:
  all-ok:
    runs-on: ubuntu-latest
    steps:
    - name: clone
      uses: actions/checkout@master
    - uses: ./
      with:
        path: ./test/format
        formats: "JPEG, PNG"
今回は以上です。
では。

2020年7月28日火曜日

iutest v1.17.1 をリリースしました

C++ テスティングフレームワーク iutest v1.17.1 をリリースしました。
Github: https://github.com/srz-zumix/iutest/releases
OSDN: https://osdn.net/projects/iutest/releases/p12829

変更点は以下の通りです。

* New
* GTEST_SKIP 対応
* IUTEST_*_NE_RANGE アサーションを追加
* IUTEST_*_NE_COLLECTIONS アサーションを追加

* Improved
* ::std::wstring_view / ::std::u16string_view / ::std::u32string_view 対応
* Variadic Templates 非対応コンパイラーでの型パラメータの型表示を改善

* Changes
* アサーションに operator << したときの出力を PrintToString したものと同じになるように変更
* iuwandbox: Wandbox 向けにサイズ圧縮したヘッダーをデフォルトで使用するように変更
* iuwandbox: 上記に伴いフルバージョンのヘッダーを使うオプション(--no-iutest-use-wandbox-min)を追加
* deprecated: iuwandbox: --iutest-use-wandbox-min
* Python2 のサポート終了

* Bug fixes
* C++20 で削除された basic_ostream::operator << に対応
* IUTEST_AP が同じ名前空間に複数定義できない問題を修正
* Google Test 旧バージョンとの互換性を修正
* その他いくつかの不具合を修正



では。