GitHub Actions のワークフローを静的にチェックする actionlint というコマンドラインツールを最近つくっていて,概ね欲しい機能が揃って実装も安定してきたので紹介します. github.com なぜワークフローファイルの lint をすべきなのか GitHub Actions が正式リリースされてからだいぶ経ち,GitHub 上での CI は GitHub Actions が第一候補となってきているように感じます.僕も新規にリポジトリを作成して CI をセットアップする場合はほぼ GitHub Actions を使っています. ですが,GitHub Actions には下記のような問題があり,actionlint でそれらを解決・緩和したいというのが理由です. ワークフローを実装する時は,GitHub に push して CI が実行されるのを待って結果を確認するという
Dependabotの作ったPRがSecretsにアクセスできないためにことごとく失敗していたのを修正しました。 github.com SecretsにアクセスできないのはKeeping your GitHub Actions and workflows secure: Preventing pwn requestsで説明されているようにセキュリティ向上のためです。workflow_run イベントでCheckを回すとワークフロー定義は常にデフォルトブランチのものが使われるため、PRでワークフローファイルが悪意を持って変更されてもマージしなければ悪影響を受けません。ので今後、基本的にはSecretsを必要とするワークフローはworkflow_runイベントで回すことになります。 上記securitylab.github.comの記事で色々説明されていますが、わりと限定的なユースケースについ
CTO室SREの @sinsoku です。 社内のGitHub ActionsのYAMLが複雑になってきたので、私が参考にしてる情報や注意点、イディオムなどをまとめておきます。 頻繁に参照するページ 新しい機能の説明が日本語ページに反映されていないため、基本的に英語ページを読むことを推奨。 ワークフロー構文 YAMLの基本構文の確認 コンテキストおよび式の構文 github オブジェクトの情報、関数の確認 ワークフローをトリガーするイベント 各イベントの GITHUB_SHA と GITHUB_REF が記載されている About GitHub-hosted runners インストールされているSoftwareのバージョンなどが記載されている GitHub REST API APIを使うときに参照する よく使うaction actions/checkout イベントによってはデフォルトブ
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
概要 GitHub Actions で GitHub ホストランナーを使用する場合、パブリックポジトリは無料ですがプライベートリポジトリは従量課金(無料枠あり)です。 ワークフローを編集する際にデバッグしていると結構な時間を消費してしまいます。 そこでデバッグ時は GitHub ホストランナーを使わずに無料で実行する方法を 3 種類紹介します。 nektos/act 言わずと知れたローカル実行ツールです。 すべてを再現することはできませんがコミットを増やさずにデバッグができます。 注意点 ubuntu-* のみサポート ソフトウェアは指定する Docker イメージ依存、デフォルトのイメージだと色々足りないので -P で指定 secrets.GITHUB_TOKEN が未定義なので Personal Access Token を発行し設定が必要 サービスコンテナ services が使えな
GitHubは、これまでベータ版として機能提供してきた動画のアップロード機能を、正式な機能として利用可能にしたことを発表しました。 You can now upload video for easier GitHub collaboration! Reproducing a bug? Sharing a demo? Drop a comment below to let us know how you're using it.https://t.co/hASRXOHvvc pic.twitter.com/tG5BYlVHR1 — GitHub (@github) May 13, 2021 上記のTwitter内の動画にあるように、GitHubに動画をドラッグ&ドロップすると動画のアップロードと同時にMarkdown形式で書き込まれ、その場所に埋め込まれます。 対応する動画はmp4とmov形
ghコマンドにより、開発者はPull Request、Issue、Gistなどを管理するために、コマンドラインでGitHubが使えるようになりました。1.9.0では、GitHubのさらに多くの機能をターミナルで利用できます。それが、GitHub Actionsです。 Mislav氏が最近のブログで紹介したとおり、GitHub Actions内でghを使うことは既にできるようにになっています。さらに、今回新たに追加された2つのトップレベルのコマンド、gh runとgh workflowにより、ローカルターミナルからワークフローの実行やファイルに関する情報を簡単に取得できるようになりました。 ワークフローの実行状況を把握する 正しいコードを書こうと努めても、ビルドがエラーになることはあります。オープンなPull Requestに対するエラーを把握するにはgh pr checksが有効ですが、リ
インターネットの皆さんこんにちは。 漫画でウェブ技術を楽しく学べる #わかばちゃんと学ぶ シリーズ作者の 湊川あい(みなとがわ・あい)@llminatoll です。 本日5月7日、GitHubが新機能を追加しました。それがこちら。 これは神! GitHubが、クリックするだけで親リポジトリと同期できるようになったらしい! 今までは自分の手元のPCで ①upstream から pull ②originリポジトリにpush って2段階の操作が必要だったところが、クリック1つで🆗に🥰#わかばちゃんと学ぶ https://t.co/unO2WbdEqL — 湊川あい📚IT漫画家『わかばちゃんと学ぶ』シリーズ発売中 (@llminatoll) May 7, 2021 「これって、具体的には何がどう便利になったの?」「ボタンが2つあるけど、Compare と Fetch and merge、初心
こんにちは。SRE の @int128 です。 Quipper では GitHub Actions Self-hosted Runner を一部のジョブで導入しています。本稿ではその目的と具体例を紹介します。 背景と解決したい課題 Quipper では以下の CI サービスを用途に合わせて利用しています。 CircleCI(テストやデプロイなど) GitHub Actions(テストやデプロイなど) AWS CodeBuild(主に Terraform など AWS リソースにアクセスする場合) Google Cloud Build(主に Google Cloud のリソースにアクセスする場合) Jenkins(定期実行や手動実行に特化したジョブ) このうち GitHub Actions は以下の点が優れていると感じています。 monorepo 構成の場合にマイクロサービスごとに独立して
先日、SlackのGitHub Appがアップグレードされました。 github.com しかし、アップグレードすると /github deploy コマンドとデプロイ通知が 壊れる ため、業務で使っている場合はもう少し様子を見てからアップグレードした方が良さそうです。 READMEの記述 以下はREADMEの引用ですが、意図的に機能を消しているので復活しない可能性もある。 Removed deploy command and notification support: Today, the functionality provided by deploy command is very limited and doesn't address all the scenarios. We are removing deploy command and notifications suppor
GitHub、コード中に書いてはいけないアクセストークンを発見、通知してくれる「Secret scanning」機能、プライベートリポジトリで正式対応 GitHubは、本来ソースコード中に書くべきではないアクセストークンなどを、コードやアーカイブから発見し通知してくれるSecret scanning機能がプライベートリポジトリでも正式な機能として利用可能になったことを明らかにしました。 Check out two new ways to ship secure applications with GitHub Advanced Security! Secret scanning for private repos is now generally available, and we've released the beta of our new security overview for
普段使うサービスで、会社用のアカウントとプライベートのアカウントを分けると便利でセキュアですよね?うっかり間違って仕事のデータを大公開してしまうリスクも小さくなります ただ、日本国内では、アカウント分離はNGで、個人ごとに1つのアカウントに集約しないと規約違反であるという言説が広まっているようです。 認識共有用に頑張って書いた図。指摘歓迎ですそこでGitHub Supportに事実を確認したところ(英語)、規約違反ということはないという話でした。会社側で有償のオーガニゼーションを契約し、仕事用アカウントを所属させていれば、各自のプライベートアカウントは無料でOKです。 ロジックとしては、オーガニゼーションに所属させているアカウントは有償コーポレートアカウント(名称仮)なので、個人アカウントに対する無料アカウントの複数所持禁止条項は無関係となります。 該当条項 One person or l
GitHub Actionsでrubyを使うにはどうすればいいかということでハマった経緯から、以前いくつか記事を書きました。 mstshiwasaki.hatenablog.com mstshiwasaki.hatenablog.com この話は ruby/setup-ruby が登場した段階で実質的に完了したと捉えていて、後はいつ actions/setup-ruby が deprecated になるのかのかとしばらくwatchしていたものの、相変わらずGitHub側のactionが遅かったので途中からwatchを外してました。 そんな中、先週ruby-jpのSlackを除いたらCIチャンネルで actions/setup-ruby がarchivedになったことを知りました。 github.com ということで、しばらくwatchしてなかったのでその間の動きをざっとチェックしてみました
GitHub Actions の ubuntu-latest が ubuntu-18.04 から ubuntu-20.04 に変わっても影響ないだろうと思っていたところが影響を受けていたので、その対応をした話です。 Gemfile (Gemfile.lock) で指定されているバージョン問題 bundle install が以下のメッセージで失敗していたので、 Gemfile と Gemfile.lock を更新しました。 /usr/lib/ruby/2.7.0/rubygems.rb:275:in `find_spec_for_exe': Could not find 'bundler' (1.17.3) required by your /home/runner/work/actions/actions/tool/snapshot/Gemfile.lock. (Gem::GemNotF
機能 現時点ではissue関連の機能が実装されています。未実装の機能はこちらを参照ください。 Issue list create close open open browser preview edit Issue comment list preview delete 基本的な使い方 リポジトリを指定して起動するか、指定しない場合はカレントディレクトリのリポジトリが自動で指定されます。 起動後にissueの検索が行われ、一覧が表示されます。パネルを移動するにはCtrl-N/Ctrl-Pを使います。 検索 github-tuiではsearchのクエリを使ってissueを検索できます。現時点ではissueのみ検索可能ですが、将来的にはPRなども検索できるようにする予定です。 どんなクエリが使えるかは、searchのドキュメントを参照していただければと思います。 たとえばissueのタイトルと
事例集です。 きのう、GitHubの通知を見たら、個人のリポジトリに My First PR というタイトルのPRが来ているのに気づいた。PR出すところを間違えたのかな、と思って見てみたがどうも様子がおかしい。 prog という名前のバイナリファイルを置いている .github/workflows/ci.yml*1の中身をガッと書き換えている on: [pull_request] でworkflowを起動している 20並列でjobが走るようにmatrixを設定している fail-fast: false なので、どれか1つのmatrixが失敗しても他のジョブは続行される base64 encodeした文字列をdecodeしてevalしている ドメインの名前解決を行ったあと ./prog を実行するコマンドにdecodeされた PRをめちゃくちゃな回数closeしてreopenしている PRを
はじめにMicrosoftは脆弱性の診断行為をセーフハーバーにより許可しています。 本記事は、そのセーフハーバーを遵守した上で発見/報告した脆弱性を解説したものであり、無許可の脆弱性診断行為を推奨する事を意図したものではありません。 Microsoftが運営/提供するサービスに脆弱性を発見した場合は、Microsoft Bug Bounty Programへ報告してください。 要約VSCodeのIssue管理機能に脆弱性が存在し、不適切な正規表現、認証の欠如、コマンドインジェクションを組み合わせることによりVSCodeのGitHubリポジトリに対する不正な書き込みが可能だった。 発見のきっかけ電車に乗っている際にふと思い立ってmicrosoft/vscodeを眺めていた所、CI用のスクリプトが別のリポジトリ(microsoft/vscode-github-triage-actions)にま
個人的なタスク管理ツールとしてGitHub Issueを使うようにしてその仕組みを色々と作っているので、そのアーキテクチャについてのメモ書きです。 後述しますが、GitHubをベースとすることでプログラムでの拡張性が高いというのが特徴です。 セットアップが色々と必要になるためぱっと再現しやすい感じではなかったり一部未公開になってます。 需要があったらオープンソースとして公開できるように整えます。 GitHub Issuesとタスク管理ツールでの課題 自分の中で、タスク管理ツールとGitHub Issuesを両方使う場合に次の課題がありました。 自分のタスクの半分以上はGitHubに何かしら紐づく情報(オープンソース、ブログ、仕事)であったため、GitHub Issueとの二重管理感がある GitHub上で複数のリポジトリのタスクを管理するのが難しい 1つ目は、タスク管理ツールを使っても結局
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く