diff --git a/Dockerfile b/Dockerfile index e7ac5b4..777e166 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM apache/airflow:1.10.10-python3.7 COPY entrypoint.sh /entrypoint.sh -COPY main.py /main.py +COPY dump_dags.py /dump_dags.py ENTRYPOINT ["/entrypoint.sh"] diff --git a/action.yml b/action.yml index f35fb9d..921d852 100644 --- a/action.yml +++ b/action.yml @@ -1,5 +1,8 @@ name: 'Diff Airflow DAG' description: 'Gets diff of airflow DAG.' +outputs: + diff: + description: 'The diff of the DAGs.' runs: using: 'docker' image: 'Dockerfile' diff --git a/main.py b/dump_dags.py similarity index 81% rename from main.py rename to dump_dags.py index b6a3453..7b20969 100644 --- a/main.py +++ b/dump_dags.py @@ -23,4 +23,8 @@ def dump_dags(outfile): if __name__ == '__main__': - dump_dags(sys.stdout) + if len(sys.argv) != 2: + print('Usage: dump_dags.py ') + sys.exit(1) + with open(sys.argv[1], 'w') as outfile: + dump_dags(outfile) diff --git a/entrypoint.sh b/entrypoint.sh index cef4983..f3f5eb4 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -6,6 +6,9 @@ export AIRFLOW__CORE__DAGS_FOLDER=${GITHUB_WORKSPACE}/ export AIRFLOW__CORE__PLUGINS_FOLDER=${GITHUB_WORKSPACE}/plugins/ export AIRFLOW__CORE__LOGS_FOLDER="/tmp/logs/" export FERNET_KEY=$(openssl rand -base64 32) -cat $GITHUB_EVENT_PATH +echo Base ref is $GITHUB_BASE_REF airflow initdb -python /main.py +python /dump_dags.py /tmp/current.txt +git checkout $GITHUB_BASE_REF +python /dump_dags.py /tmp/base.txt +diff=$(diff -u /tmp/base.txt /tmp/current.txt)