@@ -2,6 +2,11 @@ name: 'Unit Tests'
22on :
33 - push
44
5+ env :
6+ ACCESS_KEY_ID : user
7+ ACCESS_SECRET_ACCESS_KEY : password
8+ DEFAULT_BUCKET : mylake
9+
510jobs :
611 unittest :
712 runs-on : ubuntu-latest
1419 - 3.13
1520
1621 services :
22+ catalog :
23+ image : tabulario/iceberg-rest
24+ env :
25+ AWS_ACCESS_KEY_ID : ${{ env.ACCESS_KEY_ID }}
26+ AWS_SECRET_ACCESS_KEY : ${{ env.ACCESS_SECRET_ACCESS_KEY }}
27+ AWS_REGION : us-east-1
28+ WAREHOUSE : s3://${{ env.DEFAULT_BUCKET }}
29+ CATALOG_WAREHOUSE : s3://${{ env.DEFAULT_BUCKET }}
30+ CATALOG_IO__IMPL : org.apache.iceberg.aws.s3.S3FileIO
31+ CATALOG_S3_ENDPOINT : http://s3:9000
32+ CATALOG_S3_PATH__STYLE__ACCESS : " true"
33+ CATALOG_DEFAULT__NAMESPACE : default
34+ CATALOG_JDBC_USER : user
35+ CATALOG_JDBC_PASSWORD : pass
36+ CATALOG_URI : jdbc:sqlite:file:/tmp/pyiceberg_catalog.db
37+ ports :
38+ - 8181:8181
39+
40+ s3 :
41+ image : bitnami/minio:latest
42+ env :
43+ MINIO_ROOT_USER : ${{ env.ACCESS_KEY_ID }}
44+ MINIO_ROOT_PASSWORD : ${{ env.ACCESS_SECRET_ACCESS_KEY }}
45+ MINIO_ACCESS_KEY : ${{ env.ACCESS_KEY_ID }}
46+ MINIO_SECRET_KEY : ${{ env.ACCESS_SECRET_ACCESS_KEY }}
47+ ports :
48+ - 9000:9000
49+ - 9001:9001
50+
1751 rabbitmq :
1852 image : rabbitmq
1953 env :
@@ -59,13 +93,34 @@ jobs:
5993 - name : Type check
6094 run : mypy provisioner --check-untyped-defs
6195
96+ - name : Install minioclient
97+ env :
98+ MC_HOST_servc : http://${{ env.ACCESS_KEY_ID }}:${{ env.ACCESS_SECRET_ACCESS_KEY }}@${{ github.server_url != 'https://github.com' && 's3' || 'localhost' }}:9000
99+ run : |
100+ sudo apt-get update && sudo apt-get install -y wget
101+
102+ wget https://dl.min.io/client/mc/release/linux-amd64/mc
103+ chmod +x mc
104+ sudo mv mc /usr/local/bin
105+
106+ mc mb servc/${{ env.DEFAULT_BUCKET }}
107+
62108 - name : Run tests
63109 env :
110+ CONF__BLOBPROVISIONER__S3_ACCESS_KEY_ID : ${{ env.ACCESS_KEY_ID }}
111+ CONF__BLOBPROVISIONER__S3_SECRET_ACCESS_KEY : ${{ env.ACCESS_SECRET_ACCESS_KEY }}
112+ CONF__BLOBPROVISIONER__S3_ENDPOINT : http://${{ github.server_url != 'https://github.com' && 's3' || 'localhost' }}:9000
113+ CONF__BLOBPROVISIONER__S3_BUCKET : ${{ env.DEFAULT_BUCKET }}
114+ CONF__BLOBPROVISIONER__CATALOG_URI : http://${{ github.server_url != 'https://github.com' && 'catalog' || 'localhost' }}:8181
115+ CONF__LAKE__DATABASE : servc
64116 CONF__LAKE__CATALOG_NAME : default
65- CONF__LAKE__CATALOG_PROPERTIES__TYPE : sql
66- CONF__LAKE__CATALOG_PROPERTIES__URI : sqlite :////tmp/lake.db
117+ CONF__LAKE__CATALOG_PROPERTIES__TYPE : rest
118+ CONF__LAKE__CATALOG_PROPERTIES__URI : http ://${{ github.server_url != 'https://github.com' && 'catalog' || 'localhost' }}:8181
67119 CONF__LAKE__CATALOG_PROPERTIES__INIT_CATALOG_TABLES : true
68- CONF__LAKE__CATALOG_PROPERTIES__WAREHOUSE : file:///tmp/warehouse
120+ CONF__LAKE__CATALOG_PROPERTIES__WAREHOUSE : s3://${{ env.DEFAULT_BUCKET }}
121+ CONF__LAKE__CATALOG_PROPERTIES__S3__ACCESS_KEY_ID : ${{ env.ACCESS_KEY_ID }}
122+ CONF__LAKE__CATALOG_PROPERTIES__S3__SECRET_ACCESS_KEY : ${{ env.ACCESS_SECRET_ACCESS_KEY }}
123+ CONF__LAKE__CATALOG_PROPERTIES__S3__ENDPOINT : http://${{ github.server_url != 'https://github.com' && 's3' || 'localhost' }}:9000
69124 TEST_QUEUE : test
70125 CACHE_URL : redis://${{ github.server_url != 'https://github.com' && 'redis' || 'localhost' }}
71126 BUS_URL : amqp://guest:guest@${{ github.server_url != 'https://github.com' && 'rabbitmq' || 'localhost' }}
0 commit comments