Skip to content

Commit d940b18

Browse files
committed
Add initial project structure and configuration files for Semantic Medallion Data Platform
1 parent a5557f5 commit d940b18

26 files changed

+8377
-16
lines changed

.env.example

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Database configuration
2+
DB_HOST=localhost
3+
DB_PORT=5432
4+
DB_NAME=postgres
5+
DB_USER=postgres
6+
DB_PASSWORD=postgres

.github/workflows/ci-cd.yml

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
#name: CI/CD Pipeline
2+
#
3+
#on:
4+
# push:
5+
# branches: [ main ]
6+
# pull_request:
7+
# branches: [ main ]
8+
#
9+
#jobs:
10+
# test:
11+
# runs-on: ubuntu-latest
12+
# services:
13+
# postgres:
14+
# image: postgres:14
15+
# env:
16+
# POSTGRES_USER: postgres
17+
# POSTGRES_PASSWORD: postgres
18+
# POSTGRES_DB: medallion
19+
# ports:
20+
# - 5432:5432
21+
# options: >-
22+
# --health-cmd pg_isready
23+
# --health-interval 10s
24+
# --health-timeout 5s
25+
# --health-retries 5
26+
#
27+
# gcs-emulator:
28+
# image: fsouza/fake-gcs-server
29+
# ports:
30+
# - 4443:4443
31+
# options: >-
32+
# --entrypoint /bin/fake-gcs-server
33+
# --
34+
# -scheme http
35+
# -port 4443
36+
# -public-host localhost:4443
37+
#
38+
# steps:
39+
# - uses: actions/checkout@v3
40+
#
41+
# - name: Set up Python
42+
# uses: actions/setup-python@v4
43+
# with:
44+
# python-version: '3.9'
45+
#
46+
# - name: Install Poetry
47+
# uses: snok/install-poetry@v1
48+
# with:
49+
# version: 1.5.1
50+
# virtualenvs-create: true
51+
# virtualenvs-in-project: true
52+
#
53+
# - name: Install dependencies
54+
# run: poetry install --no-interaction
55+
#
56+
# - name: Run linters
57+
# run: |
58+
# poetry run black --check .
59+
# poetry run isort --check-only .
60+
# poetry run flake8
61+
# poetry run mypy semantic_medallion_data_platform
62+
#
63+
# - name: Run tests
64+
# run: poetry run pytest --cov=semantic_medallion_data_platform
65+
# env:
66+
# GCS_EMULATOR_HOST: http://localhost:4443
67+
# POSTGRES_HOST: localhost
68+
# POSTGRES_PORT: 5432
69+
# POSTGRES_USER: postgres
70+
# POSTGRES_PASSWORD: postgres
71+
# POSTGRES_DB: medallion
72+
#
73+
# deploy-dev:
74+
# needs: test
75+
# if: github.event_name == 'push' && github.ref == 'refs/heads/main'
76+
# runs-on: ubuntu-latest
77+
#
78+
# steps:
79+
# - uses: actions/checkout@v3
80+
#
81+
# - name: Set up Python
82+
# uses: actions/setup-python@v4
83+
# with:
84+
# python-version: '3.9'
85+
#
86+
# - name: Install Poetry
87+
# uses: snok/install-poetry@v1
88+
# with:
89+
# version: 1.5.1
90+
# virtualenvs-create: true
91+
# virtualenvs-in-project: true
92+
#
93+
# - name: Install dependencies
94+
# run: poetry install --no-interaction
95+
#
96+
# - name: Set up Terraform
97+
# uses: hashicorp/setup-terraform@v2
98+
# with:
99+
# terraform_version: 1.4.6
100+
#
101+
# - name: Set up Google Cloud SDK
102+
# uses: google-github-actions/setup-gcloud@v1
103+
# with:
104+
# project_id: ${{ secrets.GCP_PROJECT_ID }}
105+
# service_account_key: ${{ secrets.GCP_SA_KEY }}
106+
# export_default_credentials: true
107+
#
108+
# - name: Deploy infrastructure
109+
# run: |
110+
# cd infrastructure/environments/dev
111+
# terraform init
112+
# terraform apply -auto-approve -var="project_id=${{ secrets.GCP_PROJECT_ID }}"
113+
#
114+
# - name: Build and publish package
115+
# run: |
116+
# poetry build
117+
# poetry config pypi-token.pypi ${{ secrets.PYPI_TOKEN }}
118+
# poetry publish --build

0 commit comments

Comments
 (0)