Skip to content
This repository has been archived by the owner on Jul 8, 2024. It is now read-only.

Commit

Permalink
Merge branch 'dev' into stock
Browse files Browse the repository at this point in the history
  • Loading branch information
floriaaan authored Aug 7, 2023
2 parents 1c3d473 + d81a900 commit e14c476
Show file tree
Hide file tree
Showing 204 changed files with 14,108 additions and 221 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/delivery-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Deploy Delivery Microservice CI/CD

on:
push:
branches: [ dev, main ]

permissions:
id-token: write
contents: read

jobs:
deploy:
runs-on: ubuntu-latest
environment: dev
needs: [ build, test, publish ]
steps:
- name: Checkout code
uses: actions/checkout@master
- name: Install kubectl
run: |
sudo snap install kubectl --classic
- name: 'Az CLI login'
uses: azure/login@v1
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Set up Terraform
uses: hashicorp/setup-terraform@v1
with:
terraform_version: 1.0.5
- name: Terraform init
run: |
cd ./terraform &&
terraform init
- name: Terraform apply
run: |
cd ./terraform &&
terraform apply -auto-approve
- name: Terraform apply delivery
run: |
cd ../services/delivery/terraform &&
terraform apply -auto-approve
- name: Configure kubectl
run: |
az aks get-credentials --resource-group rg-goodfood-dev --name aks-goodfood-dev
- name: apply k8s manifests
run: |
cd .. &&
kubectl create namespace goodfood &&
kubectlcrete kubectl apply -f ./k8s
70 changes: 70 additions & 0 deletions .github/workflows/delivery.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Delivery Microservice CI/CD

on:
push:
branches: [delivery]
pull_request:
branches: [main]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: pnpm/action-setup@v2
with:
version: latest
- uses: actions/setup-node@v3
with:
node-version: "18.x"
cache: "pnpm"
cache-dependency-path: services/delivery/pnpm-lock.yaml
- name: Install dependencies
run: |
cd ./services/delivery
pnpm install --frozen-lockfile
- name: Build
run: |
cd ./services/delivery
pnpm build
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@master
- uses: pnpm/action-setup@v2
with:
version: latest
- uses: actions/setup-node@v3
with:
node-version: "18.x"
cache: "pnpm"
cache-dependency-path: services/delivery/pnpm-lock.yaml
- name: Install dependencies
run: |
cd ./services/delivery
pnpm install --frozen-lockfile
- name: Execute tests
run: |
cd ./services/delivery
pnpm test
publish:
runs-on: ubuntu-latest
needs: [build, test]
steps:
- name: Checkout code
uses: actions/checkout@master
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
with:
context: ./services/
file: ./services/delivery/Dockerfile
push: true
tags: floriaaan/goodfood-delivery:latest
15 changes: 10 additions & 5 deletions .github/workflows/tests.yml → .github/workflows/global.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: "Tests"
name: "Tests all microservices"

on:
- push
- pull_request
- workflow_dispatch

push:
branches:
- main
- dev
pull_request:
branches:
- main
- dev
workflow_dispatch:

jobs:
tests:
Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/log.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Log Microservice CI/CD

on:
push:
branches: [log]
pull_request:
branches: [dev, main]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Install Go
uses: actions/setup-go@v4
with:
go-version: 1.20.3

- name: Build
run: cd services/log && go build .

test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@master
- name: Install Go
uses: actions/setup-go@v4
with:
go-version: 1.20.3

- name: Execute tests
run: cd services/log && go test -v .

publish:
runs-on: ubuntu-latest
needs: [build, test]
steps:
- name: Checkout code
uses: actions/checkout@master
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
with:
context: ./services/
file: ./services/log/Dockerfile
push: true
tags: floriaaan/goodfood-log:latest
2 changes: 1 addition & 1 deletion .github/workflows/order.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches: [ order ]
pull_request:
branches: [ main ]
branches: [ dev, main ]

jobs:
build:
Expand Down
70 changes: 70 additions & 0 deletions .github/workflows/product.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Product Microservice CI/CD

on:
push:
branches: [product-service]
pull_request:
branches: [main]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: pnpm/action-setup@v2
with:
version: latest
- uses: actions/setup-node@v3
with:
node-version: "18.x"
cache: "pnpm"
cache-dependency-path: services/product/pnpm-lock.yaml
- name: Install dependencies
run: |
cd ./services/product
pnpm install --frozen-lockfile
- name: Build
run: |
cd ./services/product
pnpm build
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@master
- uses: pnpm/action-setup@v2
with:
version: latest
- uses: actions/setup-node@v3
with:
node-version: "18.x"
cache: "pnpm"
cache-dependency-path: services/product/pnpm-lock.yaml
- name: Install dependencies
run: |
cd ./services/product
pnpm install --frozen-lockfile
- name: Execute tests
run: |
cd ./services/product
pnpm test
publish:
runs-on: ubuntu-latest
needs: [build, test]
steps:
- name: Checkout code
uses: actions/checkout@master
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
with:
context: ./services/
file: ./services/product/Dockerfile
push: true
tags: pierrelbg/goodfood-product:latest
69 changes: 69 additions & 0 deletions .github/workflows/promotions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Promotions Microservice CI/CD

on:
push:
branches: [ promotions ]
pull_request:
branches: [ dev, main ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: pnpm/action-setup@v2
with:
version: latest
- uses: actions/setup-node@v3
with:
node-version: "18.x"
cache: "pnpm"
cache-dependency-path: services/promotions/pnpm-lock.yaml
- name: Install dependencies
run: |
cd ./services/promotions
pnpm install --frozen-lockfile
- name: Build
run: |
cd ./services/promotions
pnpm build
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: pnpm/action-setup@v2
with:
version: latest
- uses: actions/setup-node@v3
with:
node-version: "18.x"
cache: "pnpm"
cache-dependency-path: services/promotions/pnpm-lock.yaml
- name: Install dependencies
run: |
cd ./services/promotions
pnpm install --frozen-lockfile
- name: Execute tests
run: |
cd ./services/promotions
pnpm test
publish:
runs-on: ubuntu-latest
needs: [ build, test ]
steps:
- name: Checkout code
uses: actions/checkout@master
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
with:
context: ./services/
file: ./services/promotions/Dockerfile
push: true
tags: pierrelbg/goodfood-promotions:latest
20 changes: 17 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,29 @@ terraform.rc
/**/.DS_Store

/**/node_modules
/**/dist
/**/build
/**/.env
!/**/.env.example

/**/bin
/**/obj
/**/.vs


# dotnet build files
/**/obj
/**/bin
/**/.vs

# reporting service
/**/goodfood-log
# Ignore Visual Studio temporary files

/services/reporting/**/bin
/services/reporting/**/obj
/services/reporting/**/.vs

# log service
/services/log/goodfood-log
/services/log/goodfood-log

# expo cache files
/apps/mobile/.expo
2 changes: 2 additions & 0 deletions services/delivery/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
build
2 changes: 2 additions & 0 deletions services/delivery/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DATABASE_URL=postgres://postgres:password@localhost:5432/postgres
PORT=50008
Loading

0 comments on commit e14c476

Please sign in to comment.