Abstract: By attending this workshop, you will learn how you can become a contributor to Apache Airflow project. You will learn how to setup development environment, how to pick your first issue, how to communicate effectively within the community and how to make your first PR - experienced committers of Apache Airflow project will give you step-by-step instructions and will guide you in the process. When you finish the workshop you will be equipped with everything that is needed to make further contributions to the Apache Airflow project.
Lesson 1: Development environment
Learn how to setup and configure Apache Airflow development environment in less than 10 minutes. You will learn how modern tooling is used to provide consistent, reproducible environment for making contributions for distributed contributors of Apache Airflow. You will learn how to run tests and debug the code, and make sure that the tests are passing in the Continuous Integration environment as well as locally.
Lesson 2: Connect with the community
Learn how to communicate with other members of the community. Learn about the etiquette, rules, tools, and the expectations of the community with regards to communicating your ideas, changes, proposals and discussing any changes in Apache Airflow. You will learn about the importance of the Devlist, when to use Slack, where to look for issues, how to ask for help and much more. Communication is often overlooked but super important aspect of working in Open Source community - here you will learn some basic rules around that.
Lesson 3: Making Pull Request and code review process
Learn why quality of the code is super important for big, popular open-source projects such as Apache Airflow. Learn about the automated tools we developed in order to have better controlled, better quality software, that allows us to scale and accept more contributions. Learn about the review process and why sometimes it takes weeks or months for pull requests to get accepted and why reviewers in Apache Airflow have high requirements and ask you to write tests, describe changes and make sure you always work with the latest sources. You will also learn how to respond and embrace the review and move your changes to merge as swiftly as possible.
Lesson 4. Contribute
You will have a chance to pick a simple issue and get it through the whole process - starting from implementation, testing, going through review process and hopefully merging the changes. We will pick some simple changes for you so that you have a chance to implement it during the workshops.
● Own laptops of the attendees;
The workshop is for those who want to familiarize themselves with using the super-productive 'Breeze' development environment to contribute to Airflow. It's a great, stress-free opportunity to dive into the world of open source development and contribution.
The session is geared towards Mac and Linux users, but Windows users are more than welcome to join. You need to have Python experience. In preparation for the class, please make sure you have set up the following prerequisites:
Bring Your Own Laptop
make a fork of the https://github.com/apache/airflow
clone the forked repository locally
follow the Breeze prerequisites: https://github.com/apache/airflow/blob/master/BREEZE.rst#prerequisites
run `./breeze --python 3.6`
create a virtualenv as described in https://github.com/apache/airflow/blob/master/LOCAL_VIRTUALENV.rst
part of preparing the virtualenv is initializing it with `./breeze initialize-local-virtualenv`
Bio: As the CTO Jared built software house 10-fold: from 6 to 60 people. After a few years of being the CTO, he decided to go back to a full-time engineering role and he works as a Principal Software Engineer in his company (and is super happy about it). Jarek has been working as an engineer in many industries - Telecoms, Mobile app development, Google, Robotics and Artificial Intelligence, Cloud and Open Source data processing. Jarek is currently PMC in the Apache Airflow project.
Principal Software Engineer & Apache Airflow PMC Member | Polidea & Apache Software Foundation