CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
こんにちは!アルダグラムの開発ユニット長の田中です! 突然ですが、少しでもCIの実行時間を削減したいと思いませんか? 今回は、GitHub Actionsとget-diff-actionを活用してDockerビルド時間を削減する方法についてご紹介します。 TL;DR get-diff-actionを使用してライブラリの変更差分を検知します。 変更差分がない場合はライブラリインストール済みのDockerイメージを使用してBuild時間を短縮します。 サンプルコード 具体的な例として、Railsアプリケーションを使用します。 on: pull_request: types: [ closed ] branches: - 'develop' name: Deploy to Amazon ECS jobs: ecr-push: name: Deploy runs-on: ubuntu-latest
本稿は Next.js で今試せる React canary の機能「useFormState」に関する記事です。Server Action を使用すると、API Client を使用せずにブラウザから直接サーバーサイドの関数を実行できます。Server Action のメリットは以下のものが挙がります。 API Client が不要になる ハイドレーションを待たずに反応できる Progressive Enhancement を維持できる useFormState の話の前に、Server Action について少し触れていきます。 Server Action だけではない「Client Action」とは? 「Server Action」というワードを知っている方は多いと思いますが「Client Action」はまだ馴染みのないワードかもしれません。React、Next.js いずれも公
はじめに GitHub ActionsでGitHub Appsを使うときには登録時に入手できるApp IDとsecret keyから一時的に使用できるトークンを発行する必要があります。 このトークンはGitHubが用意しているRest APIやGraphQL APIに対してリクエストすることによって入手することができます*1が、いちいちAPIを叩く準備をするのは面倒なので個人が作成したActionであるtibdex/github-app-tokenやSentryが提供しているActionであるgetsentry/action-github-app-tokenを使うことによって楽をすることができました。 今まで非公式なActionに依存していたトークン生成ですが、GitHubが公式でAppsトークンを作成するActionであるactions/create-github-app-tokenを提
CommunityOpen SourceGitHub Action Hero: Shohei UedaWe spoke with our latest GitHub Action Hero, Shohei Ueda, about the story behind Hugo setup, mdbook Action, and a few other projects. With GitHub Actions, you’re able to automate more of your workflow by connecting the tools you know and love—giving you more freedom to spend time innovating. You can deploy to any cloud, build containers, automate
テンプレートリポジトリ 作成した Composite action のテンプレートです。 概要 GitHub Actions でアクションを自作する際に作成できるアクションには3種類あります。 JavaScript (TypeScript) Docker container Composite JavaScript, TypeScript, Docker container にはそれぞれ公式のテンプレートがあるのですが、なぜか Composite だけありません。 action.yml に直接コードを書くのでテストやビルド、デプロイ等の周辺コードが不要という判断なのかもしれませんが、さっと作るときに action.yml に何を書けばよかったっけ?と調べるところから始めるのは不便です。 そこでマーケットプレースに公開するのに必要な項目を網羅した action.yml と LICENSE や
The GitHub Blog の記事 Enabling branch deployments through IssueOps with GitHub Actions を読んで「branch deployments(ブランチデプロイ)」というデプロイ戦略を知った💡 プルリクエストを main ブランチにマージしてから本番環境にデプロイするのではなく,プルリクエストを直接本番環境にデプロイして,動作確認の結果問題なしと判断できてからプルリクエストを main ブランチにマージするという流れが特徴的❗️そして,デプロイに異常があってロールバックする場合は main ブランチをデプロイして復旧する💡 記事に載ってるブランチ画像(Merge Deploy Model と Branch Deploy Model)は非常にわかりやすく見てみてもらえればと〜 github.blog IssueOp
Goのパッケージごとのビルド時間を計測したいんだけど (どのパッケージのビルドに何秒かかってる、とか見たい) どうしたらいいのか、ちょっとググってみたけどランタイムにおけるパフォーマンス測定の話題ばっかり出てくる— うたがわきき (@utgwkk) February 26, 2024 前やったことあるがブログに書いてなかったのでメモしておく。 まずGoのビルド時間についてはAnalyzing Go Build Times | howardjohn's blogが非常に分かりやすく参考になる。この中でAction Graphというものに言及があり、これを使うことでパッケージごとのビルド時間を可視化できる。 例えば自分のgo_todo_appというものを使ってみる。 まずgo buildでactiongraph.jsonを吐き出し $ go build -debug-actiongraph=a
docker/build-push-actionのv3.3.0 で、 provenance というオプションが入り、デフォルトで有効化された。このオプションについては、 This may introduce issues with registry and runtime support (e.g. GCR and Lambda). という注意書きがされており、一部環境で問題が起きる可能性がある。GitHub Actionsでバージョンをマイナー、パッチバージョンまで指定せずに使っていた場合、自動的にこのバージョンが適用されるため、実際に問題になったという声もTwitterで散見され、自分も一部で引っかかった。 @GitHub Actions runner bumped @Docker buildx today, which has default provenance on. It's
GitHub の issue に「draw」とコメントするとランダムな遊戯王カードの画像を返してくれるボットを GitHub Action で作りました。 デモ用の issue を立てたので気になった方は試してみてください。 コメントしてから画像が表示されるまでにだいたい10秒くらいかかります。 遊戯王カードの画像は Yu-Gi-Oh! API by YGOPRODeck のランダムにカード情報を取得する API を使って取ってきています。 github-script を使おうと思ったのですが、fetch や XMLHttpRequest などのモジュールが入っていなかったため自前でアクションを作りました。 💡github-script: GitHub API と Context を使ったスクリプトをワークフローに簡単に作成できるアクション 初めての GitHub Action の作成と
Hideaki Anno on Ending ‘Evangelion,’ Using Live-Action Techniques, and Leaving Animation After 25 years, the story of Evangelion has finally come to an end. Evangelion: 3.0+1.0 Thrice Upon a Time premieres this week on Amazon Prime, with creator Hideaki Anno bringing to an end the Rebuild of Evangelion tetralogy, which remade the story of Neon Genesis Evangelion while slowly adding in new material
はじめに イメージ 実行 フローチャート しんどいポイント VS インタラクティブな操作 APIからstdoutが取れるが、途中で切れる sudoでコマンド叩こうとするとttyがなくてエラーになったが… 実装 Issueへのコメントを実行トリガーにする 実行トリガーのコメントにリアクションでいいねをつける Issue本文からコマンドと対象インスタンスを取得する サンプルIssue本文 コマンドの取得 インスタンスIDの取得 OIDCでAWSへの操作権限を安全に取得する 【参考】IAMロールの権限 OIDCで権限の取得 コマンドの実行 実行結果の取得 実行結果をissueにコメントで貼り付ける debugに役にたつ結果をissueにコメントで貼り付ける 作ってみて はじめに インフラGの鈴木です。先日高知競馬で負けた後、朝5時に起き、エクストリーム出勤してこの記事を書いています。 ところで、
ホーム 最新記事一覧 CEO CTO アメリカ (前編)日本でソフトウェア開発をするアメリカのテクノロジー・カンパニー。異色なオフショア開発を通して感じる海外から見た日本とは【Launchable, Inc 川口 耕介 氏】 CEOCTOアメリカ (前編)日本でソフトウェア開発をするアメリカのテクノロジー・カンパニー。異色なオフショア開発を通して感じる海外から見た日本とは【Launchable, Inc 川口 耕介 氏】 170万ユーザー以上の導入実績があり、CIツール市場で世界で最も普及したソフトウェア、Jenkins。皆さんはご利用になっていますか? 今回はなんとそのJenkinsを開発された川口耕介さんにインタビューさせていただきました! 出典:Official Jenkins Jenkinsとは: Jenkinsはソフトウェア開発における一連の作業を自動化できるオープンソースのCI
タイトルが何を言っているのかよくわからないと思いますので順を追って紹介したいと思います。 tblsをセットアップするGitHub Actionとしてsetup-tbls を作った setup-tblsはtblsをインストールしてくれるGitHub Actionです。 github.com 各所で「ないの?」とは言われており(最近Issueもたった)、いつか作らないとなと思っていたのですが、いろいろ重なって作りました。 github.com 私はGoで作ったツールのActionはDocker container actionを使うのですが、tblsでそうするとDockerコンテナ上で動くtblsからデータベースサーバの名前解決ができなかったりして、それも手を鈍らせている原因でした。 今回作成した setup-tbls はComposite actionで作っているので上記のような心配もありま
August 25, 2021 Previously, actions written in YAML could only use scripts. Now, they can also reference other actions. This makes it easy to reduce duplication in your workflows. For example, the following action uses 3 actions to setup buildx, log in to Docker, and publish an image. By combining these into a single action it provides a larger unit of reuse that you can put into the job of any wo
AWS CodeBuild now supports managed GitHub Action self-hosted runners. Customers can configure their CodeBuild projects to receive GitHub Actions workflow job events and run them on CodeBuild ephemeral hosts. AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces software packages ready for deployment. This feature allows GitHub Actions t
無料VRゲーム開発キット「VR Action Game Kit」発表 アクションゲームの基礎を提供 VRゲーム開発未経験者向けの無料VRゲーム開発キット「VR Action Game Kit」が発表されました。 「VR Action Game Kit」は、VRでアクションゲームを作る際に必要な近接武器やダメージのシステムを備えたゲーム開発キットです。サンプルゲームを実行することで、どのような機能を備えているかをプレイしながら把握できます。 オープンソースで提供され、商用利用を含めて自由に活用が可能。さらに、開発環境の準備が難しい開発未経験者でも体験出来るよう、今後Steamにてサンプルゲームが販売予定です。 本ツールは、再配布が許可されたUnity社の3Dゲーム用の公式アセットがVRで利用可能なようにカスタマイズされており、基本的な近接武器や敵、エフェクトやステージ・ギミックなどを備えてい
リポジトリを管理していると、何かの拍子にリポジトリのコードベースの変遷を可視化したくなる場合があります。 例えば、以下の場面です。 ある時からのリポジトリの成長 実装言語を置き換える際のコードベースの遷移 iOSだと、Objective-CからSwiftへの移行 Androidだと、JavaからKotlinへの移行 etc. やり方はいろいろありますが、今回は GitHub Actions と GitHub API v3 、そして Mackerel API を使って、Mackerelのサービスメトリックに記録してみます。 実行サンプル Posting language lists to Mackerel with GitHub Ac… ※GitHub APIの仕様上、特定ファイルの除外ができないことは、ここでは考慮していません。 JavaScriptは得意じゃないので、37行目からのscr
Watch the behind the scenes video here: https://youtu.be/j6lDqHbYmq8 Watch the original Neon Genesis Evangelion in 5 Minutes video here: https://youtu.be/-H48GPv4BZI The most world-ending anime film of all time, THE END OF EVANGELION is remade in mindblowing live action for the first time ever. Homemade (sweded) for Maximum Third Impact Efficiency. Having just killed the Final Angel, his only frie
インフラエンジニアの thaim です。 スペースリーではインフラの構築にTerraformを、Terraformのコードに対する静的解析にtflintを利用しています。 このtflintを上手く活用するために取り組んだこと、OSSコントリビュートに取り組んだことについて紹介します。 スペースリーにおけるインフラ開発の背景 始めにスペースリーのインフラ開発におけるtflintの活用状況について紹介します。 tflintを実行する Terraformのコードの静的解析ツールはいろいろと存在しますが、lintツールとしてtflintがあります。tflintはTerraformコードのコード規約を設定したり、terraform applyコマンドを実行できない不正な設定を検出したりできます。 スペースリーではTerraformコードの静的解析ツールとして terraform fmt (インデント
SecurityAction needed for GitHub Desktop and Atom usersUpdate to the latest version of Desktop and previous version of Atom before February 2. February 2, 2023 update: We have revoked all three certificates: two Digicert code signing certificates used for Windows and one Apple Developer ID certificate. If needed, you can download the latest version of GitHub Desktop from desktop.github.com and the
先日, papix/action-cache-s3という, GitHub Actionsのactionを作ったというエントリを書きました. papix.hatenablog.com このエントリでは, このactionを作るにあたって得た知見について, 雑に記しておきます. actionの雛形 折角なので, TypeScriptでactionを書いてみようと思った訳ですが, 何と公式からTypeScript用の雛形が提供されています. 余程の理由がなければこれを使うと良いでしょう. github.com ...今回, これを使うにあたって初めて知ったのですが, 「Use this template」なるボタン(機能)が存在していて, これをクリックするとそのリポジトリを雛形にして新しいリポジトリをシュッと作ることができるのですね. というわけで, ボタンを押すと... こういう感じでリポジ
この記事はフラーAdvent Calendar 2019の5日目の記事です。 4日目はふるふる先生の「GoでJSONを良い感じに使おうと思ってハマった話」でした。 さて、首を長くして待っていた GitHub Actions がついにGAになりましたね。 (日本語版ヘルプだとまだbetaになってますが) さっそくActionを自作してちょっと前に公開してたんですが、この機会に紹介しようと思います。 actions-goveralls - Actions GitHub Marketplace shogo82148/actions-goveralls 使い方 coveralls.io はコードカバレッジの可視化サービスです。 実は公式でGitHub Actionsを提供しており、Coveralls GitHub Action を使うと 「JavaScriptのプロジェクトであれば」簡単にカバレッ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く