Skip to content

Try string?'

Try string?' #222

Workflow file for this run

name: CI-CD
on:
push:
branches:
- '**'
jobs:
# JobName
verify-csharp-format:
runs-on: ubuntu-latest
steps:
- name: Get Source
uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
- name: Verify
run: |
cd $GITHUB_WORKSPACE/SpaceAlertResolver/API
dotnet tool restore
dotnet csharpier --check .
cd $GITHUB_WORKSPACE/SpaceAlertResolver/CreateGameLambda
dotnet tool restore
dotnet csharpier --check .
cd $GITHUB_WORKSPACE/SpaceAlertResolver/JoinGameLambda
dotnet tool restore
dotnet csharpier --check .
cd $GITHUB_WORKSPACE/SpaceAlertResolver/SendToHostLambda
dotnet tool restore
dotnet csharpier --check .
verify-ui:
runs-on: ubuntu-latest
steps:
- name: Get Source
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18.19.0
- name: Verify
run: |
cd $GITHUB_WORKSPACE/SpaceAlertResolver/UI
corepack enable
yarn install
yarn run lint-ci
yarn run prettier-ci
test-storybook-ui:
runs-on: ubuntu-latest
steps:
- name: Get Source
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18.19.0
- name: Verify
run: |
cd $GITHUB_WORKSPACE/SpaceAlertResolver/UI
corepack enable
yarn install
yarn run test-storybook-ci
build-pl:
runs-on: ubuntu-latest
steps:
- name: Get Source
uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
- name: Get dotnet lambda tools
run: dotnet tool install -g Amazon.Lambda.Tools
- name: Build
env:
AWS_ACCESS_KEY_ID: ${{ secrets.aws_access_key_id }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.aws_secret_access_key }}
AWS_DEFAULT_REGION: us-east-2
run: |
cd $GITHUB_WORKSPACE/SpaceAlertResolver
dotnet build -c Release -nologo
cd ./PL
dotnet lambda package -o $GITHUB_WORKSPACE/terraform/pl-lambda.zip -c Release --no-build
- name: Save build
uses: actions/upload-artifact@v3
with:
name: pl
path: terraform/pl-lambda.zip
build-api:
runs-on: ubuntu-latest
steps:
- name: Get Source
uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
- name: Get dotnet lambda tools
run: dotnet tool install -g Amazon.Lambda.Tools
- name: Build
env:
AWS_ACCESS_KEY_ID: ${{ secrets.aws_access_key_id }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.aws_secret_access_key }}
AWS_DEFAULT_REGION: us-east-2
run: |
cd $GITHUB_WORKSPACE/SpaceAlertResolver
dotnet build -c Release -nologo
cd ./API
dotnet lambda package -o $GITHUB_WORKSPACE/terraform/api-lambda.zip -c Release --no-build
- name: Save build
uses: actions/upload-artifact@v3
with:
name: api
path: terraform/api-lambda.zip
build-websocket-lambdas:
runs-on: ubuntu-latest
steps:
- name: Get Source
uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
- name: Get dotnet lambda tools
run: dotnet tool install -g Amazon.Lambda.Tools
- name: Build
env:
AWS_ACCESS_KEY_ID: ${{ secrets.aws_access_key_id }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.aws_secret_access_key }}
AWS_DEFAULT_REGION: us-east-2
run: |
cd $GITHUB_WORKSPACE/SpaceAlertResolver
dotnet build -c Release -nologo
cd ./CreateGameLambda
dotnet lambda package -o $GITHUB_WORKSPACE/terraform/create-game-lambda.zip -c Release --no-build
cd ..
cd ./JoinGameLambda
dotnet lambda package -o $GITHUB_WORKSPACE/terraform/join-game-lambda.zip -c Release --no-build
cd ..
cd ./SendToHostLambda
dotnet lambda package -o $GITHUB_WORKSPACE/terraform/send-to-host-lambda.zip -c Release --no-build
cd ..
- name: Save build
uses: actions/upload-artifact@v3
with:
name: socket_lambdas
path: |
terraform/create-game-lambda.zip
terraform/join-game-lambda.zip
terraform/send-to-host-lambda.zip
build-ui:
runs-on: ubuntu-latest
steps:
- name: Get Source
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18.19.0
- name: Build
run: |
cd $GITHUB_WORKSPACE/SpaceAlertResolver/UI
corepack enable
yarn install
yarn run build-prod
- name: Save build
uses: actions/upload-artifact@v3
with:
name: ui
path: SpaceAlertResolver/UI/dist
terraform-plan:
needs:
- build-pl
- build-api
- build-ui
- build-websocket-lambdas
- verify-csharp-format
- verify-ui
- test-storybook-ui
runs-on: ubuntu-latest
steps:
- name: Get Source
uses: actions/checkout@v2
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: pl
path: terraform
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: api
path: terraform
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: socket_lambdas
path: terraform
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: ui
path: terraform/ui/dist
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.7.5
- name: Terraform Plan
env:
AWS_ACCESS_KEY_ID: ${{ secrets.aws_access_key_id }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.aws_secret_access_key }}
AWS_DEFAULT_REGION: us-east-2
TF_INPUT: 0
TF_IN_AUTOMATION: 1
run: |
cd $GITHUB_WORKSPACE/terraform
terraform init
terraform plan -out=.terraform.plan
- name: Tar files
run: tar cvf terraform.tar terraform/.terraform terraform/.terraform.plan terraform/.terraform.lock.hcl
- name: Save TF Plan
uses: actions/upload-artifact@v3
with:
name: terraform
path: terraform.tar
terraform-apply:
needs: terraform-plan
environment: terraform-apply
runs-on: ubuntu-latest
steps:
- name: Get Source
uses: actions/checkout@v2
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: pl
path: terraform
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: api
path: terraform
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: socket_lambdas
path: terraform
- name: Download build artifacts
uses: actions/download-artifact@v3
with:
name: ui
path: terraform/ui/dist
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.7.5
- name: Download TF Plan
uses: actions/download-artifact@v3
with:
name: terraform
- name: Extract TF Plan
run: tar -xf terraform.tar
- name: Terraform Apply
env:
AWS_ACCESS_KEY_ID: ${{ secrets.aws_access_key_id }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.aws_secret_access_key }}
AWS_DEFAULT_REGION: us-east-2
TF_INPUT: 0
TF_IN_AUTOMATION: 1
run: |
cd $GITHUB_WORKSPACE/terraform
terraform apply .terraform.plan