Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Get started with OSS contributions
Search
Takumi Shotoku
May 25, 2023
Technology
2
1k
Get started with OSS contributions
OSSへのコントリビュート - Techmee vol.7
https://timeedev.connpass.com/event/279568/
Takumi Shotoku
May 25, 2023
Tweet
Share
More Decks by Takumi Shotoku
See All by Takumi Shotoku
LTの敷居を下げる / Lower the threshold for LT
sinsoku
1
240
CircleCIの高速化🚀 / CircleCI faster
sinsoku
3
950
Railsアプリと型検査 / Rails app and type checking
sinsoku
5
1k
💎のつくりかた 2023 / How to make gems 2023
sinsoku
2
260
Make tests run faster
sinsoku
2
530
YARD with RBS Syntax
sinsoku
1
310
Advice for Ruby beginners
sinsoku
2
410
Railsエンジニア向けDocker入門 / Docker description for Rails engineers
sinsoku
0
610
継続的Railsアップグレード / Continuous Rails Upgrade
sinsoku
8
6.7k
Other Decks in Technology
See All in Technology
滑空スポーツ講習会2023 航空安全講習会 第4回 日常整備に役立ちそうな雑情報 / JSA Safety Seminar 2023 glider maintenance
jsaseminar
0
110
JaSST_Tokyo経験発表_20240313.pdf
ktanizaki
0
190
理想の組織も自分たちで作ろう! ―LayerXの「全員採用」を支える文化 / How to create our own ideal team
ar_tama
6
2.2k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
0
1.1k
Webエンジニアのためのデータエンジニアリング概説
mtoriyama000
5
400
OCI Data Science Service 製品概要
oracle4engineer
PRO
0
110
スクラムマスター不在でスクラムをやるのは(とても辛いので)やめておけ! #scrumfukuoka
nulabinc
PRO
4
900
The Twelve-Factor App とクラウドアプリケーションのコスト
ny7760
3
260
テストだけで品質は上がらない?! エセ自己組織化した品質組織からの脱却 / JaSST'24 Tokyo
visional_engineering_and_design
9
3k
自己完結な開発者組織を支える プラットフォーム作り
recruitengineers
PRO
2
230
実録_マルチテナント環境でのGmailガイドライン対応
ryuichi1208
7
1.5k
Node-AI のリッチな WEB フロントエンドを支える技術
nenonaninu
2
970
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
288
19k
Writing Fast Ruby
sferik
619
59k
4 Signs Your Business is Dying
shpigford
174
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
355
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
111
35k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
11
1.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
Build your cross-platform service in a week with App Engine
jlugia
223
17k
How to name files
jennybc
62
91k
What’s in a name? Adding method to the madness
productmarketing
PRO
14
2.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
35
2.4k
Embracing the Ebb and Flow
colly
78
4.1k
Transcript
Get started with OSS contributions Techmee vol.7 2023/05/25 1
ࣗݾհ • ໊લ: ਖ਼ಙ (aka: ਆ) • ձࣾ: גࣜձࣾλΠϛʔ •
GitHub: @sinsoku (ը૾ӈ্) • Twitter: @sinsoku_listy (ը૾ӈԼ) • ͖ͳݴޠ: Rust ͪΖΜRubyʂ ! • ࣄ: YAMLͱHCLʢTerraformʣ৬ਓ 2
RubyKaigi 2023 5/11-13 3
দຊ 4
ͦɺদຊϒϧϫϦʔ 5
#kaigieffect 6
! ʮOSSͷߩݙͦ͠͏ʯ ! ʮOSS͘͠φΠϤʯ 7
ΞδΣϯμ 1. OSSʹߩݙ͢Δಈػ 2. OSSʹߩݙ͢Δํ๏ͱࣄྫհ 3. RailsͰૂ͍ͷߩݙϙΠϯτ 8
1. OSSʹߩݙ͢Δಈػ 9
ۀͰOSSͷΛݟ͚ͭΔ • ! ػೳෆ: ͋ͱগ͠ػೳ͕Γͳ͍ • " όά: υΩϡϝϯτͱڍಈ͕͍͋ͬͯͳ͍ •
# આ໌ෆ: ॲཧͷڍಈ͕͔ΓͮΒ͍1 1 υΩϡϝϯτΤϥʔจݴΛͤΔՄೳੑ 10
! खݩͰ͢͜ͱͰ͖Δ 11
! ϞϯΩʔύον2 # config/application.rb require 'webpacker/version' raise 'Consider removing this
patch' unless Webpacker::VERSION == '5.4.4' module WebpackerPatch module FasterCompilation # https://github.com/rails/webpacker/pull/2855 def fresh? last_compilation_digest&.== watched_files_digest end end Webpacker::Compiler.prepend(FasterCompilation) end 2 https://docs.ruby-lang.org/ja/latest/method/Module/i/prepend.html 12
! GitHubͰϑΥʔΫ gemΛϑΥʔΫ͠ɺίʔυΛͨ͠gemΛGemfileͰࢀর͢Δɻ # Gemfile source 'https://rubygems.org' git_source(:github) { |repo|
"https://github.com/#{repo}.git" } gem "foo", github: "sinsoku/foo" 13
OSSʹύονΛૹΔཧ༝ • ! ύονΛϝϯς͠ͳͯ͘ࡁΉ • " ίϛολͷϨϏϡʔΛड͚ΒΕΔ • ♻ OSSͷԸฦ͠
! OSSʹײँͯ͠ΔͷͰɺͰ͖ΔൣғͰڠྗ͍ͨ͠ 14
ͦͷଞͷϝϦοτ • ! ٕज़ྗͷ্ • " ӳޠྗͷ্ • # ΧδϡΞϧ໘ஊͷձωλ
• $ ษڧձͷొஃґཔʹܨ͕Δʢnowʣ 15
2. OSSʹߩݙ͢Δํ๏ͱࣄྫհ 16
! OSSʹߩݙ͢Δ४උ ߩݙ͢Δਓ͚ͷυΩϡϝϯτΛಡΈ·͠ΐ͏ɻ • rails/rails: Contributing to Ruby on Rails3
• rubocop/rubocop: CONTRIBUTING.md4 • fluent/fluent-bit: CONTRIBUTING.md5 5 https://github.com/fluent/fluent-bit/blob/v2.1.3/CONTRIBUTING.md 4 https://github.com/rubocop/rubocop/blob/v1.51.0/CONTRIBUTING.md 3 https://guides.rubyonrails.org/contributingtorubyonrails.html 17
rails/rails IssueͰػೳཁΛग़͞ͳ͍ɻ 1.4 What about Feature Requests? Please don't put
"feature request" items into GitHub Issues. cosmetic changesͷϓϧϦΫΛग़͞ͳ͍ɻ Changes that are cosmetic and do not add anything substantial to the stability, functionality, or testability of Rails will generally not be accepted 18
19
rubocop/rubocop 20
fluent/fluent-bit 21
! OSSʹؔΘͬͯΈΔ 22
! ؆୯ͳߩݙ • TwitterϒϩάΛॻ͘ • GitHubͰϦΞΫγϣϯ͢Δ • ΦϑϥΠϯͰ࡞ऀʹײँΛ͑Δ • !
࠙ձͰձͷ͖͔͚ͬʹྑ͍ 23
24
~/.config/rails/railsrc ʹରԠ͢ΔϓϧϦΫɻ 25
! OSSͷ։ൃʹؔΘͬͯΈΔ 26
! গ͍͠͠ߩݙ • IssueͷτϦΞʔδʹڠྗ͢Δ • ϓϧϦΫͷϨϏϡʔʹࢀՃ͢Δ • υΩϡϝϯτΛ͢ 27
28
29
https://github.com/rails/rails/issues/37446 30
https://sinsoku.hatenablog.com/entry/2019/08/08/020954 31
https://github.com/rails/rails/pull/39411#discussion_r432927246 32
https://github.com/rails/rails/pull/37054 33
34
rurema - ! Ͱ࢝Ί͍͔͢ 35
! ͞ΒʹOSSͷ։ൃʹؔΘͬͯΈΔ 36
! ͍͠ߩݙ • IssueΛใࠂ͢Δ • όάΛमਖ਼͢Δ • ৽ػೳΛՃ͢Δ 37
ؾΛ͚ͭͯΔ͜ͱ • Issueʹ࠷খͷ࠶ݱखॱΛॻ͘ • աڈͷIssueͱϓϧϦΫΛࢀߟʹ͢Δ • ίϛοτϝοηʔδΛஸೡʹॻ͘6 6 Railsͩͱgit log
--author=kamipo --no-merges Λࢀߟʹ͍ͯ͠Δ 38
https://github.com/rails/rails/issues/39205 39
https://github.com/github/branch-deploy/pull/103 40
3. RailsͰૂ͍ͷߩݙϙΠϯτ 41
RailsͰૂ͍ͷߩݙϙΠϯτ 1. IssueͱϓϧϦΫͷτϦΞʔδ 2. Rails v7.1.0.rc1 ͷಈ࡞ใࠂ 3. Docker, mrsked/mrsk
42
IssueͱϓϧϦΫͷτϦΞʔδ • ίʔυͷมߋΑΓෑډ͕͍ • Railsίϛολͷख͕Γͯͳ͍ • Issues 385 / Pull
requests 4557 • ࣗͷษڧʹͳΔ • େࣄͳͷӳޠྗͱؾ߹͍ 7 2023-05-24ݱࡏ 43
Rails v7.1.0.rc1 ͷಈ࡞ใࠂ • ۀͷCIͰ2όʔδϣϯΛಈ͔ͯ͠ΈΔ • σάϨ͕͋ΕɺRailsʹIssueͰใࠂ͢Δ • gem͕ະରԠͳΒɺv7.1ʹରԠ͢ΔϓϧϦΫΛૹΔ •
v7.1ͷϦϦʔεલͳΒRailsίϛολͷॿྗΛظͰ͖Δ • ϦϦʔεޙ͍͠... 44
https://github.com/rails/rails/issues/361038 8 kamipo͞Μ͕1Ͱमਖ਼͍ͯ͠Δ ! 45
Docker, mrsked/mrsk • Dockerfile • v7.1ͰDockerfile͕ੜ͞ΕΔ • https://github.com/rails/rails/pull/46762 • mrsked/mrsk
• DHHͷσϓϩΠπʔϧ • https://github.com/rails/rails/pull/47926 46
ͥͻOSSʹߩݙͯ͠Έ·͠ΐ͏ 47