Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
15451ef
Merge pull request #15 from aradhakrishnanGFDL/aradhakrishnanGFDL-pat…
aradhakrishnanGFDL Oct 26, 2022
dbb35b7
Update Dockerfile
aradhakrishnanGFDL Oct 27, 2022
b11ee39
Update main.yml
aradhakrishnanGFDL Aug 22, 2023
c134a4d
Update main.yml on PR
aradhakrishnanGFDL Aug 22, 2023
e814fc4
Update Dockerfile env_dir
aradhakrishnanGFDL Aug 22, 2023
d64bcb7
Update Dockerfile
aradhakrishnanGFDL Aug 22, 2023
e52f0ce
Update Dockerfile libarchive
aradhakrishnanGFDL Aug 22, 2023
608e916
Update Dockerfile
aradhakrishnanGFDL Aug 22, 2023
0e579e0
Update Dockerfile
aradhakrishnanGFDL Aug 22, 2023
fc408a8
Update Dockerfile
aradhakrishnanGFDL Aug 22, 2023
203b19f
Update Dockerfile mamba version
aradhakrishnanGFDL Aug 23, 2023
dedfe71
Update Dockerfile
aradhakrishnanGFDL Aug 23, 2023
cfc4362
Update Dockerfile
aradhakrishnanGFDL Aug 23, 2023
7478cdf
Update Dockerfile
aradhakrishnanGFDL Aug 23, 2023
951296d
Create ecs-task-defn.json
aradhakrishnanGFDL Aug 25, 2023
0b67ac4
Update ecs-task-defn.json mdtf-test task
aradhakrishnanGFDL Aug 25, 2023
bd23c11
Update Dockerfile
aradhakrishnanGFDL Aug 25, 2023
d901b70
Update Dockerfile
aradhakrishnanGFDL Aug 25, 2023
9c09ed7
Update Dockerfile
aradhakrishnanGFDL Aug 25, 2023
1b99e7a
Update Dockerfile
aradhakrishnanGFDL Aug 25, 2023
7059577
Update Dockerfile
aradhakrishnanGFDL Aug 25, 2023
82ce9c1
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
068bec5
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
e17805a
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
7ce9854
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
58a69c6
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
b4bcd00
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
c469dd3
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
a9b74d0
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
102c687
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
78d8ce5
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
a5286cd
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
cea4cef
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
a10e969
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
a573cb3
Update main.yml
aradhakrishnanGFDL Aug 26, 2023
d6d8cfe
Update Dockerfile
aradhakrishnanGFDL Aug 26, 2023
6ade7bc
Update Dockerfile
aradhakrishnanGFDL Aug 28, 2023
ba5b4e3
Update Dockerfile
aradhakrishnanGFDL Aug 28, 2023
ed09195
Update Dockerfile
aradhakrishnanGFDL Aug 29, 2023
f59a3cc
Update Dockerfile
aradhakrishnanGFDL Aug 29, 2023
ae547ea
Update Dockerfile
aradhakrishnanGFDL Aug 29, 2023
a12ce61
Update Dockerfile
aradhakrishnanGFDL Aug 29, 2023
ff3e22d
Create docker-build-push-to-cloud.yml
aradhakrishnanGFDL Aug 29, 2023
17d298b
Update Dockerfile
aradhakrishnanGFDL Aug 29, 2023
72d237c
Delete docker-build-push-to-cloud.yml
aradhakrishnanGFDL Aug 29, 2023
7399c16
Create docker-build-push-aws.yml
aradhakrishnanGFDL Aug 29, 2023
e894826
Create docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
69c5b3a
Update docker-build-push-aws.yml
aradhakrishnanGFDL Aug 29, 2023
d4890ea
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
13b503d
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
31218a0
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
060efab
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
65c4fa8
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
225a0ab
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
6b5a7dc
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
542e6fc
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
2556a39
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
3756eac
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
74acf42
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
437c175
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
bb7fc1f
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
576070a
Update docker-run-test.yml
aradhakrishnanGFDL Aug 29, 2023
96f398c
Update docker-run-test.yml
aradhakrishnanGFDL Aug 30, 2023
aef473c
Update docker-run-test.yml
aradhakrishnanGFDL Aug 30, 2023
73b2f10
Update docker-run-test.yml
aradhakrishnanGFDL Aug 30, 2023
325a87b
Update docker-run-test.yml
aradhakrishnanGFDL Aug 30, 2023
c2f5de6
Update Dockerfile
aradhakrishnanGFDL Aug 30, 2023
d8c08d1
Update docker-build-push-aws.yml
aradhakrishnanGFDL Aug 30, 2023
eca019d
Update docker-run-test.yml
aradhakrishnanGFDL Aug 30, 2023
33a59a5
Update Dockerfile
aradhakrishnanGFDL Aug 30, 2023
dc8dab2
Update Dockerfile
aradhakrishnanGFDL Aug 30, 2023
5ba6cfd
Update Dockerfile
aradhakrishnanGFDL Aug 30, 2023
8498b79
Update Dockerfile
aradhakrishnanGFDL Aug 30, 2023
b118a1b
Update Dockerfile
aradhakrishnanGFDL Aug 30, 2023
af8d669
Update Dockerfile
aradhakrishnanGFDL Aug 31, 2023
c3edd04
Update Dockerfile
aradhakrishnanGFDL Aug 31, 2023
4fd92fe
Update docker-run-test.yml
aradhakrishnanGFDL Aug 31, 2023
7e0bffe
Update docker-run-test.yml
aradhakrishnanGFDL Aug 31, 2023
1a5687f
Update docker-run-test.yml
aradhakrishnanGFDL Aug 31, 2023
618ae85
Update docker-run-test.yml
aradhakrishnanGFDL Aug 31, 2023
e0ee8e1
Update docker-run-test.yml
aradhakrishnanGFDL Aug 31, 2023
aee3f55
Update docker-run-test.yml
aradhakrishnanGFDL Aug 31, 2023
2701f37
Update docker-run-test.yml
aradhakrishnanGFDL Aug 31, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions .github/workflows/docker-build-push-aws.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Build and push image to Amazon ECR.

on:
pull_request:
branches:
- main

env:
AWS_REGION: us-east-1 # set this to your preferred AWS region, e.g. us-west-1
ECR_REPOSITORY: mdtf/mdtf-test # set this to your Amazon ECR repository name
ECS_SERVICE: custom-service # MY_ECS_SERVICE set this to your Amazon ECS service name
ECS_CLUSTER: mdtf-east1 # MY_ECS_CLUSTER set this to your Amazon ECS cluster name
ECS_TASK_DEFINITION: ecs-task-defn.json # set this to the path to your Amazon ECS task definition
# file, e.g. .aws/task-definition.json
CONTAINER_NAME: mdtf-test-a1r # set this to the name of the container in the
# containerDefinitions section of your task definition MY_CONTAINER_NAME

jobs:
deploy:
name: push-to-public-ecr-cache-test
runs-on: ubuntu-latest
environment: dev

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@13d241b293754004c80624b5567555c4a39ffbe3
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}

- name: Build, tag, and push image to Amazon ECR
id: build-image
uses: aradhakrishnanGFDL/docker-build-with-cache-action@master #support-aws-ecr-public
env:
ECR_REGISTRY: public.ecr.aws
IMAGE_TAG: "latest"
ECS_IMAGE: $ECR_REGISTRY/ECR_REPOSITORY:$env.IMAGE_TAG
with:
registry: public.ecr.aws
username: "${{ secrets.AWS_ACCESS_KEY_ID }}"
password: "${{ secrets.AWS_SECRET_ACCESS_KEY }}"
image_name: c6h4h4s8/mdtf/mdtf-test
push_image_and_stages: true
image_tag: latest
18 changes: 18 additions & 0 deletions .github/workflows/docker-run-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: docker-run-minitest1
on:
pull_request:
branches: [ main ]
jobs:
container-test-job:
runs-on: ubuntu-latest
container:
image: public.ecr.aws/c6h4h4s8/mdtf/mdtf-test:latest
env:
NODE_ENV: development
options: --cpus 1
steps:
- name: Check PATH
run: (echo $PATH) || (echo "No path")
- name: Activate environment
shell: bash
run: (eval "$(micromamba shell hook -s bash -p ~/conda)"; micromamba activate; micromamba activate _MDTF_base;mdtf_framework.py --version)
6 changes: 3 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
# separate terms of service, privacy policy, and support
# documentation.

name: Deploy to ECS,open
name: Deploy to ECS. Build, push image,

on:
push:
pull_request:
branches:
- main

Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
image: public.ecr.aws/c6h4h4s8/mdtf/mdtf-test:latest

- name: Deploy Amazon ECS task definition
uses: aws-actions/amazon-ecs-deploy-task-definition@de0132cf8cdedb79975c6d42b77eb7ea193cf28e
uses: aws-actions/amazon-ecs-deploy-task-definition@v1.4.10
with:
task-definition: ${{ steps.task-def.outputs.task-definition }}
service: ${{ env.ECS_SERVICE }}
Expand Down
59 changes: 29 additions & 30 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,47 +1,46 @@
# Base OS
FROM ubuntu:20.04
FROM ubuntu:latest
FROM mambaorg/micromamba:latest as micromamba

#micromamba set up

USER root

RUN micromamba info


RUN micromamba shell hook --shell bash
#RUN micromamba create -f /proj/MDTF-diagnostics/src/conda/env_base.yml

##
# Container Metadata
LABEL maintainer="20195932+wrongkindofdoctor@users.noreply.github.com"
LABEL version="alpha-01"
LABEL description="This is a docker image for the MDTF-diagnostics package"
# Disable Prompt During Packages Installation
ARG DEBIAN_FRONTEND=noninteractive
# Update Ubuntu Software repository
RUN apt update
# Install dependencies
RUN apt install -y wget
RUN apt install -y vim
# Cleanup
RUN rm -rf /var/lib/apt/lists/* && \
apt clean
# Install Miniconda3
# Download the latest shell script
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# Change permission to execute build script
RUN chmod +x Miniconda3-latest-Linux-x86_64.sh
# Run miniconda installation script
ENV PATH="/root/miniconda3/bin:${PATH}"
ARG PATH="/root/miniconda3/bin:${PATH}"
RUN bash ./Miniconda3-latest-Linux-x86_64.sh -b
RUN rm -f Miniconda3-latest-Linux-x86_64.sh
RUN conda info
RUN conda init bash
RUN conda install -c conda-forge mamba
#ARG DEBIAN_FRONTEND=noninteractive

# Copy the MDTF-diagnostics package contents from local machine to image
ENV CODE_ROOT=/proj/MDTF-diagnostics
COPY src ${CODE_ROOT}/src
COPY src ${CODE_ROOT}/src
COPY data ${CODE_ROOT}/data
#COPY diagnostics ${CODE_ROOT}/diagnostics
COPY mdtf_framework.py ${CODE_ROOT}
COPY shared ${CODE_ROOT}/shared
COPY sites ${CODE_ROOT}/sites
COPY tests ${CODE_ROOT}/tests
# Install conda environments
ENV CONDA_ROOT=/root/miniconda3
ENV CONDA_ENV_DIR=/root/miniconda3/envs
RUN bash ${CODE_ROOT}/src/conda/conda_env_setup.sh --all --conda_root ${CONDA_ROOT} \
--conda_env_dir ${CONDA_ENV_DIR}
ENV CONDA_ROOT=/opt/conda/
ENV CONDA_ENV_DIR=/opt/conda/envs

#USER mambauser
RUN micromamba create -f /proj/MDTF-diagnostics/src/conda/env_base.yml

ENV PATH="${PATH}:/proj/MDTF-diagnostics/"
#cRUN micromamba activate _MDTF_base
# Verify installation
RUN ${CODE_ROOT}/mdtf --version
#RUN /proj/MDTF-diagnostics/mdtf_framework.py --help
# Run mdtf on src/default_tests.jsonc
CMD ["${CODE_ROOT}/mdtf", "-f","${CODE_ROOT}/src/default_tests.jsonc"]
# CMD ["${CODE_ROOT}/mdtf", "-f","${CODE_ROOT}/src/default_tests.jsonc"]
#ENTRYPOINT ["micromamba activate _MDTF_base"]
CMD ["/bin/bash"]
63 changes: 63 additions & 0 deletions ecs-task-defn.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"taskDefinitionArn": "arn:aws:ecs:us-east-1:430073024411:task-definition/mdtf-test-a1r:25",
"containerDefinitions": [
{
"name": "mdtf-test-a1r",
"image": "public.ecr.aws/c6h4h4s8/mdtf/mdtf-test:latest",
"cpu": 0,
"portMappings": [],
"essential": true,
"environment": [],
"mountPoints": [],
"volumesFrom": [],
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "/ecs/mdtf-test-a1r",
"awslogs-region": "us-east-1",
"awslogs-stream-prefix": "ecs"
}
}
}
],
"family": "mdtf-test-a1r",
"taskRoleArn": "arn:aws:iam::430073024411:role/ecsTaskExecutionRole",
"executionRoleArn": "arn:aws:iam::430073024411:role/ecsTaskExecutionRole",
"networkMode": "awsvpc",
"revision": 25,
"volumes": [],
"status": "ACTIVE",
"requiresAttributes": [
{
"name": "com.amazonaws.ecs.capability.logging-driver.awslogs"
},
{
"name": "ecs.capability.execution-role-awslogs"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.19"
},
{
"name": "com.amazonaws.ecs.capability.task-iam-role"
},
{
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
},
{
"name": "ecs.capability.task-eni"
}
],
"placementConstraints": [],
"compatibilities": [
"EC2",
"FARGATE"
],
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "4096",
"memory": "8192",
"registeredAt": "2022-10-20T16:01:08.915Z",
"registeredBy": "arn:aws:iam::430073024411:user/a1r",
"tags": []
}