自分が書いたテストで自分の誕生日にCIのテストが一斉に落ちた話
タイトルの通り、自分が書いたテストで自分の誕生日にCIが一斉に落ちた話
〜遡ること2019年くらいの話〜
ワシ「よっしゃ、20歳以上か確認するメソッド追加したしテスト書くぞ〜」
discribe '#adult?' do subject { user.adult? } let(:user) { create(:user, birthday: birthday) } context 'when adult' do let(:birthday) { DateTime.new(1994, 11, 11) } it { is_expected.to be true } end context 'when not adult' do let(:birthday) { DateTime.new(2000, 11, 11) } it { is_expected.to be false } end end
みなさんなら2020年11月11日に何が起きたかおわかりでしょう。
めでたいめでたい自分の誕生日に
CIのテストが全員通らなくなりました。
恥ずかしかった〜〜〜〜。
皆さんはtravel_toなどを使ってザ・ワールドしましょう😇
discribe '#adult?' do subject { user.adult? } let(:user) { create(:user, birthday: birthday) } travel_to(Time.current.prev_month) context 'when adult' do let(:birthday) { DateTime.new(1994, 11, 11) } it { is_expected.to be true } end context 'when not adult' do let(:birthday) { DateTime.new(2000, 11, 11) } it do travel_to DateTime.new(2019, 11, 11) is_expected.to be false end end end
日付がSafariでのみ「Invalid Date」と表示される
ある日こんな感じのResponseを作っており、
class Pikachu Controller def show @pikachu = Pikachu.find(params[:id]) render json: { name: @pikachu.name, created_at: @pikachu.created_at } end end上記の結果を画面で確認したのですがSafariでのみ「Invalid Date」と表示されました😱 原因はDateTimeのフォーマットがおかしかったのですが、なんとDateTimeには国際規格があるようで、、
ISO 8601は、日付と時刻の表記に関するISOの国際規格である。
知らなかった。。。
Rubyにも専用メソッドがあるのでそれを使うとよさそう。
class Pikachu Controller def show @pikachu = Pikachu.find(params[:id]) render json: { name: @pikachu.name, created_at: @pikachu.created_at.iso8601 } end end
カエルのペペオマージュ
インターネットでよくみるなんともいえないカエル(でもかわいいよね)、名前がペペっていうらしい。
なんとなく私の使っているどこかしらで拾ったペンギンアイコンでオマージュしました。せっかくなので記録に残しとく!
「ずっとやりたかったことを、やりなさい。」3週目
前回
チェックイン
ということで記事にはチェックインの内容を残していこうと思う。
①モーニングページ
- 7日中7日できた。
- 3周目となるとまんねりしてきた😐
- 最初の頃よりか各ペースは早くなっている気がする
- ぼーっと何も考えてないように見えて実は色々思い浮かんでたりすることに自分自身でも気が付かなかったりするが、それを気づかせる感じマインドフルネスに似てる気がする
②アーティストデート
-
- キックボクシング体験
- 初心者コースが初心者じゃなかった
- テニスよりコミュニケーションの機会あった
- キックボクシングも憧れがある、物理的に強くなれるのかっこよい
③その他創造性を回復するために行ったことで重要だったこと
- 散歩でもしようかしら
「ずっとやりたかったことを、やりなさい。」2週目
こちらの2周目!
チェックイン
ということで記事にはチェックインの内容を残していこうと思う。
①モーニングページ
- 7日中7日できた。
- テンプレートというか、決まった質問とかあると書くことないときに埋めやすい
- 今日の調子は?
- やりたいこと/いきたいとこは?
②アーティストデート
- テニススクールの体験
- テニスうまくなることに憧れて行った
- コーチやっぱうめぇ〜、ずば抜けて打ちやすかった
- 初級コースなのに初級じゃなかった(みんなうまい
- コミュニケーション期待したけどあんまり話さなかった
- この場合サークルのほうが適してるのかな?
③その他創造性を回復するために行ったことで重要だったこと
- 記事書くのすごい後になってしまって、、、忘れた
GithubのissueをNotionにコピーするGithub actions作った
なぜ必要?
現在のお仕事で開発者のタスク管理はGithub issues、スプリントでやったタスクの報告はNotionと、同じタスクでも別々のPlatformでチケットが必要なため。
Notionには以下のような連携機能がデフォルトであるが、これは全てのissueを引っ張ってくるため大量のissueがあるリポジトリでは重くなる。(あと定期的に同期してそう)
今回は特定のissueのみコピーできれば良い。
作ったもの
準備
上記PRの内容を使いたいリポジトリへ移動させ、以下を設定すれば動くはず
- NOTION_TOKEN
- NOTION_DATABASE_ID
- GITHUB_REPOSITORY_URL: g2n/index.js at main · sloppybook/g2n · GitHub
NOTION_TOKENとNOTION_DATABASE_IDは以下を参照
仕様
移動させたいissueのラベルに「Notion」を設定すればコピーされる。
(※現在はタイトルだけコピーしている、もし実運用されたら色々機能付け足す)
トリガーはラベルにしているが、以下を参考に色々アレンジできる
https://docs.github.com/ja/actions/using-workflows/events-that-trigger-workflows
その他
ブログ書いているときにこんなのを見つけた👀
関係あるかわからんが後で見てみよ
「ずっとやりたかったことを、やりなさい。」一週目
岡田 斗司夫さんがYoutubeで紹介していたのを見ました。
思い返せば20代序盤は画期に満ちていて、やりたいことを色々やっていたのに25を超えたあたりから今の処遇に甘んじてグータラ三昧していて、なんとなくよくないなーと思いつつ何もできていませんでした。
本カリキュラムは12週にわたって実施し、創造性の回復を図るようです。
ゆる〜く生活習慣を改善していきたいと思います。
本はこちら↓kindleはなかった...
やること
具体的にやることとしては
1. モーニングページ
朝起きて3ページのノートにひたすら書く。内容はなんでもよい。
2. アーティストデート
一週間に一度やりたかったことをやる。なんでもよい。
3. 1週ごとにテーマがあるのでそれをやる
今週のテーマは「安心感を取り戻す」で、否定的な言葉を書き出し、それを肯定的な言葉にかえる、など
4. 一週間の終わりにチェックインという振り返りを書く
チェックイン
ということで記事にはチェックインの内容を残していこうと思う。
①モーニングページ
- 7日中7日できた。
- ページを埋めるのに時間がかかり、割と億劫だった
- 否定的な言葉も創造性を阻むものとしてアウトプットして良いらしい
- ページを埋めて何かに取り組むと頭がすっきりした状態で物事に臨めた気がする
②アーティストデート
- 彼女のピアノの発表会
- 私はあまり習い事が続かなかったタイプで彼女は今はもう習ってはないけど20年くらいピアノを続けているし発表会にもでていた、顔見知りもたくさんいたようだしそういうコミュニティが羨ましく思った
- 所属しているコミュニティを3つ以上にしたい、そして作りたい
③その他創造性を回復するために行ったことで重要だったこと
- 散歩
- モーニングページ並みに頭がすっきりした
その他感想
ノートに書くことは0秒思考でも反応しない練習でもさまざまなところで紹介されていてやっぱりよいんだな〜と思った。