Skip to content

Commit

Permalink
change name
Browse files Browse the repository at this point in the history
  • Loading branch information
JordanLaserGit committed Oct 15, 2024
1 parent e897142 commit 2c32f85
Showing 1 changed file with 63 additions and 0 deletions.
63 changes: 63 additions & 0 deletions .github/workflows/build_test_push_docker_arm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Build, Test, Push Datastream Docker Containers on ARM
on:
push:
branches:
- main
paths:
- 'docker/**'
- 'forcingprocessor/**'
- 'scripts/**'
- 'python_tools/**'
- '.github/workflows/forcingprocessor.yml'
- '.github/workflows/datastream_python.yml'
- '.github/workflows/build_test_docker_arm.yml'

jobs:
build-test-push-docker-arm:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
- name: Configure AWS
run: |
aws configure set aws_access_key_id ${{ secrets.AWS_ACCESS_KEY_ID }}
aws configure set aws_secret_access_key ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws configure set region us-east-1
- name: Build AWS Infra
run: |
cd research_datastream/terraform
terraform init
terraform validate
../scripts/import_resources.sh ./test/variables_gitactions_arm.tfvars
terraform apply -var-file=./test/variables_gitactions_arm.tfvars -auto-approve
sleep 60
- name: Set permissions
run : |
cd research_datastream/terraform
<<<<<<< Updated upstream
aws iam attach-role-policy --role-name datastream_ec2_role_github_actions_arm --policy-arn arn:aws:iam::aws:policy/SecretsManagerReadWrite
=======
>>>>>>> Stashed changes
if ! aws ec2 describe-key-pairs --key-names "actions_key_arm" --query 'KeyPairs[0].KeyName' --output text 2>/dev/null; then aws ec2 create-key-pair --key-name "actions_key_arm" --query 'KeyName' --output text && echo "Key pair 'actions_key_arm' created in AWS"; else echo "Key pair 'actions_key_arm' already exists"; fi
sleep 60
- name: Build and Test arm docker containers with AWS infra
run : |
cd research_datastream/terraform
execution_arn=$(aws stepfunctions start-execution --state-machine-arn $(cat ./sm_ARN.txt) --name docker_builder_$(env TZ=US/Eastern date +'%Y%m%d%H%M%S') --input "file://test/execution_gp_arm_docker_buildNtester.json" --region us-east-1 --query 'executionArn' --output text); echo "Execution ARN: $execution_arn"; status="RUNNING"; while [ "$status" != "SUCCEEDED" ]; do status=$(aws stepfunctions describe-execution --execution-arn "$execution_arn" --region us-east-1 --query 'status' --output text); echo "Current status: $status"; if [ "$status" == "FAILED" ]; then echo "State machine execution failed!"; exit 1; fi; sleep 5; done; echo "State machine execution succeeded!"
- name: Confirm docker push
run : |
docker rmi -f $(docker images -aq)
docker pull awiciroh/datastream:latest
CREATION_EPOCH=$(date --date="$(docker inspect -f '{{.Created}}' awiciroh/datastream:latest)" +%s) && CURRENT_EPOCH=$(date +%s) && TIME_DIFF=$((CURRENT_EPOCH - CREATION_EPOCH)) && [ $TIME_DIFF -le 900 ] && echo "The container was created within the past 15 minutes." || { echo "Error: The container was NOT created within the past 15 minutes."; exit 1; }
docker pull awiciroh/forcingprocessor:latest
CREATION_EPOCH=$(date --date="$(docker inspect -f '{{.Created}}' awiciroh/forcingprocessor:latest)" +%s) && CURRENT_EPOCH=$(date +%s) && TIME_DIFF=$((CURRENT_EPOCH - CREATION_EPOCH)) && [ $TIME_DIFF -le 900 ] && echo "The container was created within the past 15 minutes." || { echo "Error: The container was NOT created within the past 15 minutes."; exit 1; }
- name: Tear down infra
if: always()
run : |
cd research_datastream/terraform
terraform destroy -var-file=./test/variables_gitactions_arm.tfvars -auto-approve
sleep 60

0 comments on commit 2c32f85

Please sign in to comment.