You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[ ] My PR addresses the following [Airflow JIRA](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
- In case you are fixing a typo in the documentation you can prepend your commit with \[AIRFLOW-XXX\], code changes always need a JIRA issue.
3
+
### Jira
7
4
5
+
-[ ] My PR addresses the following [Airflow Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references them in the PR title. For example, "\[AIRFLOW-XXX\] My Airflow PR"
- In case you are fixing a typo in the documentation you can prepend your commit with \[AIRFLOW-XXX\], code changes always need a Jira issue.
8
8
9
9
### Description
10
-
-[ ] Here are some details about my PR, including screenshots of any UI changes:
11
10
11
+
-[ ] Here are some details about my PR, including screenshots of any UI changes:
12
12
13
13
### Tests
14
-
-[ ] My PR adds the following unit tests __OR__ does not need testing for this extremely good reason:
15
14
15
+
-[ ] My PR adds the following unit tests __OR__ does not need testing for this extremely good reason:
16
16
17
17
### Commits
18
-
-[ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "[How to write a good git commit message](http://chris.beams.io/posts/git-commit/)":
19
-
1. Subject is separated from body by a blank line
20
-
2. Subject is limited to 50 characters
21
-
3. Subject does not end with a period
22
-
4. Subject uses the imperative mood ("add", not "adding")
23
-
5. Body wraps at 72 characters
24
-
6. Body explains "what" and "why", not "how"
25
18
19
+
-[ ] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "[How to write a good git commit message](http://chris.beams.io/posts/git-commit/)":
20
+
1. Subject is separated from body by a blank line
21
+
1. Subject is limited to 50 characters (not including Jira issue reference)
22
+
1. Subject does not end with a period
23
+
1. Subject uses the imperative mood ("add", not "adding")
24
+
1. Body wraps at 72 characters
25
+
1. Body explains "what" and "why", not "how"
26
26
27
27
### Documentation
28
-
-[ ] In case of new functionality, my PR adds documentation that describes how to use it.
29
-
- When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.
30
28
29
+
-[ ] In case of new functionality, my PR adds documentation that describes how to use it.
30
+
- When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.
The JIRA link should also be contained in the PR description.
149
-
4. Preface your commit's subject & PR's title with **[AIRFLOW-XXX]**
150
-
where *XXX* is the JIRA number. We compose release notes (i.e. for Airflow releases) from all commit titles in a release.
151
-
By placing the JIRA number in the commit title and hence in the release notes,
152
-
Airflow users can look into JIRA and Github PRs for more details about a particular change.
153
-
5. Add an [Apache License](http://www.apache.org/legal/src-headers.html)
154
-
header to all new files
155
-
6. If the pull request adds functionality, the docs should be updated as part
156
-
of the same PR. Doc string are often sufficient. Make sure to follow the
157
-
Sphinx compatible standards.
158
-
7. The pull request should work for Python 2.7 and 3.4. If you need help
159
-
writing code that works in both Python 2 and 3, see the documentation at the
160
-
[Python-Future project](http://python-future.org) (the future package is an
161
-
Airflow requirement and should be used where possible).
162
-
8. As Airflow grows as a project, we try to enforce a more consistent
163
-
style and try to follow the Python community guidelines. We track this
164
-
using [landscape.io](https://landscape.io/github/apache/incubator-airflow/),
165
-
which you can setup on your fork as well to check before you submit your
166
-
PR. We currently enforce most [PEP8](https://www.python.org/dev/peps/pep-0008/)
167
-
and a few other linting rules. It is usually a good idea to lint locally
168
-
as well using [flake8](https://flake8.readthedocs.org/en/latest/)
169
-
using `flake8 airflow tests`. `git diff upstream/master -u -- "*.py" | flake8 --diff` will return any changed files in your branch that require linting.
170
-
9. Please read this excellent [article](http://chris.beams.io/posts/git-commit/) on
171
-
commit messages and adhere to them. It makes the lives of those who
172
-
come after you a lot easier.
141
+
1. The pull request should include tests, either as doctests, unit tests, or both. The airflow repo uses [Travis CI](https://travis-ci.org/apache/incubator-airflow) to run the tests and [codecov](https://codecov.io/gh/apache/incubator-airflow) to track coverage. You can set up both for free on your fork. It will help you making sure you do not break the build with your PR and that you help increase coverage.
142
+
1. Please [rebase your fork](http://stackoverflow.com/a/7244456/1110993), squash commits, and resolve all conflicts.
143
+
1. Every pull request should have an associated [JIRA](https://issues.apache.org/jira/browse/AIRFLOW/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel). The JIRA link should also be contained in the PR description.
144
+
1. Preface your commit's subject & PR's title with **[AIRFLOW-XXX]** where *XXX* is the JIRA number. We compose release notes (i.e. for Airflow releases) from all commit titles in a release. By placing the JIRA number in the commit title and hence in the release notes, Airflow users can look into JIRA and Github PRs for more details about a particular change.
145
+
1. Add an [Apache License](http://www.apache.org/legal/src-headers.html) header to all new files
146
+
1. If the pull request adds functionality, the docs should be updated as part of the same PR. Doc string are often sufficient. Make sure to follow the Sphinx compatible standards.
147
+
1. The pull request should work for Python 2.7 and 3.4. If you need help writing code that works in both Python 2 and 3, see the documentation at the [Python-Future project](http://python-future.org) (the future package is an Airflow requirement and should be used where possible).
148
+
1. As Airflow grows as a project, we try to enforce a more consistent style and try to follow the Python community guidelines. We track this using [landscape.io](https://landscape.io/github/apache/incubator-airflow/), which you can setup on your fork as well to check before you submit your PR. We currently enforce most [PEP8](https://www.python.org/dev/peps/pep-0008/) and a few other linting rules. It is usually a good idea to lint locally as well using [flake8](https://flake8.readthedocs.org/en/latest/) using `flake8 airflow tests`. `git diff upstream/master -u -- "*.py" | flake8 --diff` will return any changed files in your branch that require linting.
149
+
1. Please read this excellent [article](http://chris.beams.io/posts/git-commit/) on commit messages and adhere to them. It makes the lives of those who come after you a lot easier.
173
150
174
151
### Testing locally
175
152
176
153
#### TL;DR
154
+
177
155
Tests can then be run with (see also the [Running unit tests](#running-unit-tests) section below):
178
156
179
-
./run_unit_tests.sh
157
+
```
158
+
./run_unit_tests.sh
159
+
```
180
160
181
161
Individual test files can be run with:
182
162
183
-
nosetests [path to file]
163
+
```
164
+
nosetests [path to file]
165
+
```
184
166
185
167
#### Running unit tests
186
168
@@ -251,13 +233,16 @@ While these may be phased out over time, these packages are currently not
251
233
managed with npm.
252
234
253
235
### Node/npm versions
236
+
254
237
Make sure you are using recent versions of node and npm. No problems have been found with node>=8.11.3 and npm>=6.1.3
255
238
256
239
### Using npm to generate bundled files
257
240
258
241
#### npm
242
+
259
243
First, npm must be available in your environment. If it is not you can run the following commands
260
244
(taken from [this source](https://gist.github.com/DanHerbert/9520689))
245
+
261
246
```
262
247
brew install node --without-npm
263
248
echo prefix=~/.npm-packages >> ~/.npmrc
@@ -266,11 +251,13 @@ curl -L https://www.npmjs.com/install.sh | sh
266
251
267
252
The final step is to add `~/.npm-packages/bin` to your `PATH` so commands you install globally are usable.
268
253
Add something like this to your `.bashrc` file, then `source ~/.bashrc` to reflect the change.
254
+
269
255
```
270
256
export PATH="$HOME/.npm-packages/bin:$PATH"
271
257
```
272
258
273
259
#### npm packages
260
+
274
261
To install third party libraries defined in `package.json`, run the
275
262
following within the `airflow/www_rbac/` directory which will install them in a
276
263
new `node_modules/` folder within `www_rbac/`.
@@ -296,13 +283,13 @@ npm run dev
296
283
297
284
#### Upgrading npm packages
298
285
299
-
Should you add or upgrade a npm package, which involves changing `package.json`, you'll need to re-run `npm install`
286
+
Should you add or upgrade a npm package, which involves changing `package.json`, you'll need to re-run `npm install`
300
287
and push the newly generated `package-lock.json` file so we get the reproducible build.
301
288
302
289
#### Javascript Style Guide
303
290
304
-
We try to enforce a more consistent style and try to follow the JS community guidelines.
305
-
Once you add or modify any javascript code in the project, please make sure it follows the guidelines
291
+
We try to enforce a more consistent style and try to follow the JS community guidelines.
292
+
Once you add or modify any javascript code in the project, please make sure it follows the guidelines
306
293
defined in [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript).
307
294
Apache Airflow uses [ESLint](https://eslint.org/) as a tool for identifying and reporting on patterns in JavaScript,
308
295
which can be used by running any of the following commands.
@@ -311,7 +298,6 @@ which can be used by running any of the following commands.
311
298
# Check JS code in .js and .html files, and report any errors/warnings
312
299
npm run lint
313
300
314
-
# Check JS code in .js and .html files, report any errors/warnings and fix them if possible
301
+
# Check JS code in .js and .html files, report any errors/warnings and fix them if possible
Copy file name to clipboardexpand all lines: README.md
+18-12
Original file line number
Diff line number
Diff line change
@@ -23,6 +23,7 @@ makes it easy to visualize pipelines running in production,
23
23
monitor progress, and troubleshoot issues when needed.
24
24
25
25
## Getting started
26
+
26
27
Please visit the Airflow Platform documentation (latest **stable** release) for help with [installing Airflow](https://airflow.incubator.apache.org/installation.html), getting a [quick start](https://airflow.incubator.apache.org/start.html), or a more complete [tutorial](https://airflow.incubator.apache.org/tutorial.html).
27
28
28
29
Documentation of GitHub master (latest development branch): [ReadTheDocs Documentation](https://airflow.readthedocs.io/en/latest/)
@@ -54,22 +55,28 @@ unit of work and continuity.
54
55
## User Interface
55
56
56
57
-**DAGs**: Overview of all DAGs in your environment.
57
-

58
+
59
+

58
60
59
61
-**Tree View**: Tree representation of a DAG that spans across time.
60
-

62
+
63
+

61
64
62
65
-**Graph View**: Visualization of a DAG's dependencies and their current status for a specific run.
63
-

66
+
67
+

64
68
65
69
-**Task Duration**: Total time spent on different tasks over time.
66
-

70
+
71
+

67
72
68
73
-**Gantt View**: Duration and overlap of a DAG.
69
-

74
+
75
+

70
76
71
77
-**Code View**: Quick way to view source code of a DAG.
72
-

78
+
79
+

73
80
74
81
## Who uses Airflow?
75
82
@@ -79,7 +86,7 @@ if you may.
79
86
80
87
Committers:
81
88
82
-
* Refer to [Committers](https://cwiki.apache.org/confluence/display/AIRFLOW/Committers)
89
+
- Refer to [Committers](https://cwiki.apache.org/confluence/display/AIRFLOW/Committers)
83
90
84
91
Currently **officially** using Airflow:
85
92
@@ -268,8 +275,7 @@ Currently **officially** using Airflow:
0 commit comments