Skip to content

Improve System Design: Integrated Microservices Architecture Diagram #57

Improve System Design: Integrated Microservices Architecture Diagram

Improve System Design: Integrated Microservices Architecture Diagram #57

Workflow file for this run

name: CI Pipeline
on:
push:
branches:
- 'main'
- 'v*' # This will match any branch starting with 'v'
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Note: Rust is preinstalled on GitHub runners (example shows rustc 1.80.1, cargo 1.80.1 as of this commit)
# - name: Set up Rust
# uses: dtolnay/rust-toolchain@stable
- name: Check Rust version
run: |
echo "Installed rustc version:"
rustc --version
echo "Installed cargo version:"
cargo --version
- name: Install Just
uses: extractions/setup-just@v2
- name: Check Just version
run: |
echo "Installed just version:"
just --version
- name: Install protoc
uses: taiki-e/install-action@v2
with:
tool: [email protected]
- name: Check protoc version
run: |
echo "Installed protoc version:"
protoc --version
- name: Install Cargo Lambda
run: |
pip3 install cargo-lambda
echo "Installed cargo lambda version:"
cargo lambda --version
- name: Clean with lambdas
run: just clean-with-lambdas
- name: Build with lambdas
run: just build-with-lambdas
test:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Note: Rust is preinstalled on GitHub runners (example shows rustc 1.80.1, cargo 1.80.1 as of this commit)
# - name: Set up Rust
# uses: dtolnay/rust-toolchain@stable
- name: Check Rust version
run: |
echo "Installed rustc version:"
rustc --version
echo "Installed cargo version:"
cargo --version
- name: Install Just
uses: extractions/setup-just@v2
- name: Check Just version
run: |
echo "Installed just version:"
just --version
- name: Install protoc
uses: taiki-e/install-action@v2
with:
tool: [email protected]
- name: Check protoc version
run: |
echo "Installed protoc version:"
protoc --version
- name: Install Cargo Lambda
run: |
pip3 install cargo-lambda
echo "Installed cargo lambda version:"
cargo lambda --version
- name: Run unit and integration tests
run: just test
test-e2e:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Note: Rust is preinstalled on GitHub runners (example shows rustc 1.80.1, cargo 1.80.1 as of this commit)
# - name: Set up Rust
# uses: dtolnay/rust-toolchain@stable
- name: Check Rust version
run: |
echo "Installed rustc version:"
rustc --version
echo "Installed cargo version:"
cargo --version
- name: Check Docker version
run: |
echo "Installed docker version:"
docker --version
- name: Install Just
uses: extractions/setup-just@v2
- name: Check Just version
run: |
echo "Installed just version:"
just --version
- name: Install protoc
uses: taiki-e/install-action@v2
with:
tool: [email protected]
- name: Check protoc version
run: |
echo "Installed protoc version:"
protoc --version
- name: Install Cargo Lambda
run: |
pip3 install cargo-lambda
echo "Installed cargo lambda version:"
cargo lambda --version
- name: Run localstack detached
run: |
just localstack-start-detached
echo "Started localstack container"
- name: Wait for LocalStack
run: |
while ! nc -z localhost 4566; do
echo "Waiting for LocalStack to be ready..."
sleep 1
done
- name: Install AWS SAM LOCAL CLI
run: |
sudo apt-get update
sudo apt-get install -y python3-pip
pip3 install aws-sam-cli-local
echo "Installed AWS SAM CLI version:"
samlocal --version
- name: Run e2e tests; with deployment to localstack
env:
AWS_ACCESS_KEY_ID: test
AWS_SECRET_ACCESS_KEY: test
AWS_DEFAULT_REGION: us-west-2
run: just test-e2e
- name: Stop and remove localstack container
if: always()
run: |
just localstack-stop
echo "Stopped and removed localstack container"
# deploy:
# runs-on: ubuntu-latest
# needs: build
#
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# Note: Rust is preinstalled on GitHub runners (example shows rustc 1.80.1, cargo 1.80.1 as of this commit)
# - name: Set up Rust
# uses: dtolnay/rust-toolchain@stable
# - name: Check Rust version
# run: |
# rustc --version
# cargo --version
#
# - name: Install Just
# uses: extractions/setup-just@v1
# with:
# just-version: 1.5.0
#
# - name: Deploy to AWS
# env:
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# AWS_DEFAULT_REGION: us-west-2
# run: just deploy-drive-deposits-dynamodb-queries