SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Polidea
How to
contribute
Polidea
How to contribute
1
Fork airflow/master
Make your own fork of Apache
Airflow main repo
Configure environment
Create virtualenv
Initialize Breeze
Install pre-commit
Setup your own Travis CI
2
Connect with people
Join devlist
Setup slack account
3
Prepare PR
PR from your fork
Follow PR guidelines in
CONTRIBUTING.rst
4
PR review
Ping @ #development slack
Comment @people
Be annoying
Be considerate
5
Polidea
Fork apache/airflow
● Apache Airflow repository
○ https://github.com/apache/airflow
● How to fork
○ https://help.github.com/en/github/getting-started-with-github/fork-a-repo
Polidea
Comparison of the dev environments
Polidea
Configure environment
● Dev environments:
○ https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#development-environments
● Local virtualenv:
○ https://github.com/apache/airflow/blob/master/LOCAL_VIRTUALENV.rst
● Breeze
○ https://github.com/apache/airflow/blob/master/BREEZE.rst
● Travis CI
○ https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#travis-ci-testing-framework
● Pre-commit hooks
○ https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#pre-commit-hooks
Polidea
Connect with people
● Slack: ad-hoc discussions/ask questions/is anyone working on it?
● DevList: important topics
● https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#resources-links
● Mailing lists:
○ Developer’s mailing list mailto:dev-subscribe@airflow.apache.org
○ All commits mailing list: mailto:commits-subscribe@airflow.apache.org
○ Airflow users mailing list: mailto:users-subscribe@airflow.apache.org
● Issues on Apache’s Jira
● Slack (chat)
● More resources and links to Airflow related content on the Wiki
Polidea
Prepare PR
● Pull Request Guidelines
○ https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#id11
● Rebase your fork, squash commits, and resolve all conflicts.
● Preface your commit's subject & PR title with [AIRFLOW-YYYY]
COMMIT_MSG where YYYY is the JIRA number.
Polidea
Check for PR
reviews and
comments
Apply fixes
and extend
tests
Submit
fixup
commit
Ping on
#developme
nt
PR Review
● Be empathic
● Be annoying
● Be cooperative
● Be persistent
● Rebase often to master
● Rinse & repeat
Polidea
First issues
● Move code to new import paths
○ https://issues.apache.org/jira/browse/AIRFLOW-5735
○ https://issues.apache.org/jira/browse/AIRFLOW-5736
○ https://issues.apache.org/jira/browse/AIRFLOW-5737
○ https://issues.apache.org/jira/browse/AIRFLOW-5738
○ https://issues.apache.org/jira/browse/AIRFLOW-5743
○ https://issues.apache.org/jira/browse/AIRFLOW-5742
○ https://issues.apache.org/jira/browse/AIRFLOW-5741
○ https://issues.apache.org/jira/browse/AIRFLOW-5739
● Simple fixes:
○ https://issues.apache.org/jira/browse/AIRFLOW-5690
Polidea
Thanks!
hello@polidea.com

Weitere ähnliche Inhalte

Was ist angesagt?

Adding Source Control to Your Life
Adding Source Control to Your LifeAdding Source Control to Your Life
Adding Source Control to Your Life
Mark Kelnar
 
Gopenflow demo v1 (english)
Gopenflow demo v1 (english)Gopenflow demo v1 (english)
Gopenflow demo v1 (english)
Hiroaki Kawai
 

Was ist angesagt? (20)

用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務
 
Let the contribution begin (EST futures)
Let the contribution begin  (EST futures)Let the contribution begin  (EST futures)
Let the contribution begin (EST futures)
 
Gorush: A push notification server written in Go
Gorush: A push notification server written in GoGorush: A push notification server written in Go
Gorush: A push notification server written in Go
 
drone continuous Integration
drone continuous Integrationdrone continuous Integration
drone continuous Integration
 
Creating mobile apps the web developer way
Creating mobile apps the web developer wayCreating mobile apps the web developer way
Creating mobile apps the web developer way
 
Front Page of Hacker News with GitLab Pages
Front Page of Hacker News with GitLab PagesFront Page of Hacker News with GitLab Pages
Front Page of Hacker News with GitLab Pages
 
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coreTYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
 
Go at Openprovider
Go at OpenproviderGo at Openprovider
Go at Openprovider
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Adding Source Control to Your Life
Adding Source Control to Your LifeAdding Source Control to Your Life
Adding Source Control to Your Life
 
Let the contribution begin
Let the contribution beginLet the contribution begin
Let the contribution begin
 
Gopenflow demo v1 (english)
Gopenflow demo v1 (english)Gopenflow demo v1 (english)
Gopenflow demo v1 (english)
 
Drupal + composer = new love !?
Drupal + composer = new love !?Drupal + composer = new love !?
Drupal + composer = new love !?
 
Understanding Pseudo-Versions Moving to Go 1.13 What is in Go 1.14+ for Modules
Understanding Pseudo-Versions Moving to Go 1.13 What is in Go 1.14+ for ModulesUnderstanding Pseudo-Versions Moving to Go 1.13 What is in Go 1.14+ for Modules
Understanding Pseudo-Versions Moving to Go 1.13 What is in Go 1.14+ for Modules
 
10 less-known Laravel Packages: May 2016
10 less-known Laravel Packages: May 201610 less-known Laravel Packages: May 2016
10 less-known Laravel Packages: May 2016
 
TYPO3 CMS deployment with Jenkins CI
TYPO3 CMS deployment with Jenkins CITYPO3 CMS deployment with Jenkins CI
TYPO3 CMS deployment with Jenkins CI
 
Steps to contribute to firefox os (gaia)
Steps to contribute to firefox os (gaia)Steps to contribute to firefox os (gaia)
Steps to contribute to firefox os (gaia)
 
Git in Continuous Deployment
Git in Continuous DeploymentGit in Continuous Deployment
Git in Continuous Deployment
 
10 Fresh laravel packages - October 2016
10 Fresh laravel packages - October 201610 Fresh laravel packages - October 2016
10 Fresh laravel packages - October 2016
 

Ähnlich wie Berlin Apache Con EU Airflow Workshops

Docker 101 - From production to development
Docker 101 - From production to developmentDocker 101 - From production to development
Docker 101 - From production to development
Raül Pérez
 
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneySetting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Weaveworks
 

Ähnlich wie Berlin Apache Con EU Airflow Workshops (20)

ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScriptENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScript
 
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScript
 
Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...
Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...
Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...
 
Plugin Development for Beginners v.2019
Plugin Development for Beginners v.2019Plugin Development for Beginners v.2019
Plugin Development for Beginners v.2019
 
Plugin Development for Beginners
Plugin Development for BeginnersPlugin Development for Beginners
Plugin Development for Beginners
 
Composer - The missing package manager for PHP
Composer - The missing package manager for PHPComposer - The missing package manager for PHP
Composer - The missing package manager for PHP
 
Docker 101 - From production to development
Docker 101 - From production to developmentDocker 101 - From production to development
Docker 101 - From production to development
 
Python/Flask Presentation
Python/Flask PresentationPython/Flask Presentation
Python/Flask Presentation
 
Contributing to Core Python
Contributing to Core PythonContributing to Core Python
Contributing to Core Python
 
It's a Breeze to develop Apache Airflow (London Apache Airflow meetup)
It's a Breeze to develop Apache Airflow (London Apache Airflow meetup)It's a Breeze to develop Apache Airflow (London Apache Airflow meetup)
It's a Breeze to develop Apache Airflow (London Apache Airflow meetup)
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
 
Getting involved with Open Source at the ASF
Getting involved with Open Source at the ASFGetting involved with Open Source at the ASF
Getting involved with Open Source at the ASF
 
Local Apache NiFi Processor Debug
Local Apache NiFi Processor DebugLocal Apache NiFi Processor Debug
Local Apache NiFi Processor Debug
 
Using PHP with IBM Bluemix
Using PHP with IBM BluemixUsing PHP with IBM Bluemix
Using PHP with IBM Bluemix
 
Making Magic with WP-CLI
Making Magic with WP-CLIMaking Magic with WP-CLI
Making Magic with WP-CLI
 
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneySetting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
 
Vagrant up-and-running
Vagrant up-and-runningVagrant up-and-running
Vagrant up-and-running
 
It's a Breeze to develop Airflow (Cloud Native Warsaw)
It's a Breeze to develop Airflow (Cloud Native Warsaw)It's a Breeze to develop Airflow (Cloud Native Warsaw)
It's a Breeze to develop Airflow (Cloud Native Warsaw)
 
Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024
 
Terminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interfaceTerminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interface
 

Mehr von Jarek Potiuk

Manageable Data Pipelines With Airflow (and kubernetes) - GDG DevFest
Manageable Data Pipelines With Airflow (and kubernetes) - GDG DevFestManageable Data Pipelines With Airflow (and kubernetes) - GDG DevFest
Manageable Data Pipelines With Airflow (and kubernetes) - GDG DevFest
Jarek Potiuk
 
Manageable data pipelines with airflow (and kubernetes) november 27, 11 45 ...
Manageable data pipelines with airflow (and kubernetes)   november 27, 11 45 ...Manageable data pipelines with airflow (and kubernetes)   november 27, 11 45 ...
Manageable data pipelines with airflow (and kubernetes) november 27, 11 45 ...
Jarek Potiuk
 

Mehr von Jarek Potiuk (9)

What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019
What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019
What's Coming in Apache Airflow 2.0 - PyDataWarsaw 2019
 
Subtle Differences between Python versions
Subtle Differences between Python versionsSubtle Differences between Python versions
Subtle Differences between Python versions
 
Caching in Docker - the hardest thing in computer science
Caching in Docker - the hardest thing in computer scienceCaching in Docker - the hardest thing in computer science
Caching in Docker - the hardest thing in computer science
 
Manageable Data Pipelines With Airflow (and kubernetes) - GDG DevFest
Manageable Data Pipelines With Airflow (and kubernetes) - GDG DevFestManageable Data Pipelines With Airflow (and kubernetes) - GDG DevFest
Manageable Data Pipelines With Airflow (and kubernetes) - GDG DevFest
 
Off time - how to use social media to be more out of social media
Off time - how to use social media to be more out of social mediaOff time - how to use social media to be more out of social media
Off time - how to use social media to be more out of social media
 
Manageable data pipelines with airflow (and kubernetes) november 27, 11 45 ...
Manageable data pipelines with airflow (and kubernetes)   november 27, 11 45 ...Manageable data pipelines with airflow (and kubernetes)   november 27, 11 45 ...
Manageable data pipelines with airflow (and kubernetes) november 27, 11 45 ...
 
Ci for android OS
Ci for android OSCi for android OS
Ci for android OS
 
It's a Breeze to develop Apache Airflow (Apache Con Berlin)
It's a Breeze to develop Apache Airflow (Apache Con Berlin)It's a Breeze to develop Apache Airflow (Apache Con Berlin)
It's a Breeze to develop Apache Airflow (Apache Con Berlin)
 
React native introduction (Mobile Warsaw)
React native introduction (Mobile Warsaw)React native introduction (Mobile Warsaw)
React native introduction (Mobile Warsaw)
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Berlin Apache Con EU Airflow Workshops

  • 1.
  • 3. Polidea How to contribute 1 Fork airflow/master Make your own fork of Apache Airflow main repo Configure environment Create virtualenv Initialize Breeze Install pre-commit Setup your own Travis CI 2 Connect with people Join devlist Setup slack account 3 Prepare PR PR from your fork Follow PR guidelines in CONTRIBUTING.rst 4 PR review Ping @ #development slack Comment @people Be annoying Be considerate 5
  • 4. Polidea Fork apache/airflow ● Apache Airflow repository ○ https://github.com/apache/airflow ● How to fork ○ https://help.github.com/en/github/getting-started-with-github/fork-a-repo
  • 5. Polidea Comparison of the dev environments
  • 6. Polidea Configure environment ● Dev environments: ○ https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#development-environments ● Local virtualenv: ○ https://github.com/apache/airflow/blob/master/LOCAL_VIRTUALENV.rst ● Breeze ○ https://github.com/apache/airflow/blob/master/BREEZE.rst ● Travis CI ○ https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#travis-ci-testing-framework ● Pre-commit hooks ○ https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#pre-commit-hooks
  • 7. Polidea Connect with people ● Slack: ad-hoc discussions/ask questions/is anyone working on it? ● DevList: important topics ● https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#resources-links ● Mailing lists: ○ Developer’s mailing list mailto:dev-subscribe@airflow.apache.org ○ All commits mailing list: mailto:commits-subscribe@airflow.apache.org ○ Airflow users mailing list: mailto:users-subscribe@airflow.apache.org ● Issues on Apache’s Jira ● Slack (chat) ● More resources and links to Airflow related content on the Wiki
  • 8. Polidea Prepare PR ● Pull Request Guidelines ○ https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#id11 ● Rebase your fork, squash commits, and resolve all conflicts. ● Preface your commit's subject & PR title with [AIRFLOW-YYYY] COMMIT_MSG where YYYY is the JIRA number.
  • 9. Polidea Check for PR reviews and comments Apply fixes and extend tests Submit fixup commit Ping on #developme nt PR Review ● Be empathic ● Be annoying ● Be cooperative ● Be persistent ● Rebase often to master ● Rinse & repeat
  • 10. Polidea First issues ● Move code to new import paths ○ https://issues.apache.org/jira/browse/AIRFLOW-5735 ○ https://issues.apache.org/jira/browse/AIRFLOW-5736 ○ https://issues.apache.org/jira/browse/AIRFLOW-5737 ○ https://issues.apache.org/jira/browse/AIRFLOW-5738 ○ https://issues.apache.org/jira/browse/AIRFLOW-5743 ○ https://issues.apache.org/jira/browse/AIRFLOW-5742 ○ https://issues.apache.org/jira/browse/AIRFLOW-5741 ○ https://issues.apache.org/jira/browse/AIRFLOW-5739 ● Simple fixes: ○ https://issues.apache.org/jira/browse/AIRFLOW-5690