forked from MariusWirtz/airflow-tm1
-
Notifications
You must be signed in to change notification settings - Fork 2
57 lines (47 loc) · 1.64 KB
/
build-test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
name: Build & test Airflow
on:
workflow_dispatch:
jobs:
build:
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.9
uses: actions/setup-python@v3
with:
python-version: "3.9"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt build
python -m build
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DUSERNAME }}
password: ${{ secrets.DPASSWORD }}
- name: Install & Run Airflow
run: |
PYPACKAGE=$(ls dist | grep .whl)
cp "dist/${PYPACKAGE}" tests_integration/plugins/
cd tests_integration
echo "FROM apache/airflow:2.9.1" > Dockerfile
echo "ADD plugins/${PYPACKAGE} ." >> Dockerfile
echo "RUN pip install ${PYPACKAGE}" >> Dockerfile
echo -e "AIRFLOW_UID=$(id -u)" > .env
docker compose up -d airflow-init
docker compose up -d --build
- name: Add TM1 connection to Airflow
run: |
DOCKID=$(docker ps -q --filter "name=tests_integration-airflow-webserver-1")
docker exec -it $DOCKID airflow connections add tm1_conn --conn-type tm1 --conn-login admin --conn-password admin --conn-host localhost --conn-port 5898 --conn-schema "" --conn-extra ""
- name: Test Airflow TM1 provider
run: |
cd tests_integration
echo "Running tests..."
# TODO
- name: Stop docker containers
run: |
cd tests_integration
docker compose down