send the whole damn message. #221
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |