Skip to content
This repository was archived by the owner on Aug 21, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
30 changes: 12 additions & 18 deletions .github/workflows/dev-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,35 +53,29 @@ jobs:
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Build Docker Image
run: bash scripts/build_docker_builder.sh dev $DOCKER_LABEL $PRIVATE_ECR $AWS_REGION
env:
DOCKER_LABEL: ${{ secrets.DOCKER_LABEL }}
REPO_NAME: ${{ secrets.DEV_REPO_NAME }}
AWS_REGION: ${{ secrets.AWS_REGION }}
ECR_URL: ${{ secrets.ECR_URL }}
PRIVATE_ECR: ${{ secrets.PRIVATE_ECR }}
- name: delete package.json
run: rm package.json
- name: move package.json
run: mv package.json package.jsonmoved
- name: npm-install 'cli' and 'aws-sdk'
run: npm install cli aws-sdk
- name: Publish to Elastic Container Registry
run: bash scripts/publish_ecr_builder.sh dev $GITHUB_SHA $DOCKER_LABEL $PRIVATE_ECR $AWS_REGION
- name: restore package.json
run: mv package.jsonmoved package.json
- name: Expose GitHub Runtime
uses: crazy-max/ghaction-github-runtime@v2
- name: Build and Push Docker Image
run: bash scripts/build_docker_builder.sh dev $GITHUB_SHA $DOCKER_LABEL $AWS_REGION $PRIVATE_ECR
env:
STORAGE_AWS_ACCESS_KEY_ID: ${{ secrets.STORAGE_AWS_ACCESS_KEY_ID }}
STORAGE_AWS_ACCESS_KEY_SECRET: ${{ secrets.STORAGE_AWS_ACCESS_KEY_SECRET }}
DOCKER_LABEL: ${{ secrets.DOCKER_LABEL }}
REPO_NAME: ${{ secrets.DEV_REPO_NAME }}
AWS_REGION: ${{ secrets.AWS_REGION }}
ECR_URL: ${{ secrets.ECR_URL }}
PRIVATE_ECR: ${{ secrets.PRIVATE_ECR }}
- name: Deploy to EKS
run: bash scripts/deploy_builder.sh dev $GITHUB_SHA
- name: Publish to Docker Hub
run: bash scripts/publish_dockerhub_builder.sh $GITHUB_SHA $DOCKER_LABEL
env:
DOCKER_LABEL: ${{ secrets.DOCKER_LABEL }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
PUBLISH_DOCKERHUB: ${{ secrets.PUBLISH_DOCKERHUB }}
- name: Deploy to EKS
run: bash scripts/deploy_builder.sh dev $GITHUB_SHA
- name: Job succeeded
if: ${{ needs.secrets-gate-webhook.outputs.ok == 'enabled' }}
uses: ruby/setup-ruby@v1
Expand Down
30 changes: 12 additions & 18 deletions .github/workflows/prod-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,35 +52,29 @@ jobs:
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Build Docker Image
run: bash scripts/build_docker_builder.sh prod $DOCKER_LABEL $PRIVATE_ECR $AWS_REGION
env:
DOCKER_LABEL: ${{ secrets.DOCKER_LABEL }}
REPO_NAME: ${{ secrets.PROD_REPO_NAME }}
AWS_REGION: ${{ secrets.AWS_REGION }}
ECR_URL: ${{ secrets.ECR_URL }}
PRIVATE_ECR: ${{ secrets.PRIVATE_ECR }}
- name: delete package.json
run: rm package.json
- name: move package.json
run: mv package.json package.jsonmoved
- name: npm-install 'cli' and 'aws-sdk'
run: npm install cli aws-sdk
- name: Publish to Elastic Container Registry
run: bash scripts/publish_ecr_builder.sh prod $GITHUB_SHA $DOCKER_LABEL $PRIVATE_ECR $AWS_REGION
- name: restore package.json
run: mv package.jsonmoved package.json
- name: Expose GitHub Runtime
uses: crazy-max/ghaction-github-runtime@v2
Copy link
Contributor

@hanzlamateen hanzlamateen May 18, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

crazy-max/ghaction-github-runtime@v2 is used to access STORAGE_AWS_ACCESS_KEYs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's actually to access some GitHub Actions environment variables used for caching Docker cache within GH Actions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's actually to access some GitHub Actions environment variables used for caching Docker cache within GH Actions.

- name: Build and Push Docker Image
run: bash scripts/build_docker_builder.sh prod $GITHUB_SHA $DOCKER_LABEL $AWS_REGION $PRIVATE_ECR
env:
STORAGE_AWS_ACCESS_KEY_ID: ${{ secrets.STORAGE_AWS_ACCESS_KEY_ID }}
STORAGE_AWS_ACCESS_KEY_SECRET: ${{ secrets.STORAGE_AWS_ACCESS_KEY_SECRET }}
DOCKER_LABEL: ${{ secrets.DOCKER_LABEL }}
REPO_NAME: ${{ secrets.PROD_REPO_NAME }}
AWS_REGION: ${{ secrets.AWS_REGION }}
ECR_URL: ${{ secrets.ECR_URL }}
PRIVATE_ECR: ${{ secrets.PRIVATE_ECR }}
# - name: Deploy to EKS
# run: bash scripts/deploy_builder.sh prod $GITHUB_SHA
- name: Publish to Docker Hub
run: bash scripts/publish_dockerhub_builder.sh $GITHUB_SHA $DOCKER_LABEL
env:
DOCKER_LABEL: ${{ secrets.DOCKER_LABEL }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
PUBLISH_DOCKERHUB: ${{ secrets.PUBLISH_DOCKERHUB }}
- name: Deploy to EKS
run: bash scripts/deploy_builder.sh prod $GITHUB_SHA
- name: Job succeeded
if: ${{ needs.secrets-gate-webhook.outputs.ok == 'enabled' }}
uses: ruby/setup-ruby@v1
Expand Down
27 changes: 13 additions & 14 deletions .github/workflows/qat-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,30 +52,29 @@ jobs:
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Build Docker Image
run: bash scripts/build_docker_builder.sh qat $DOCKER_LABEL $PRIVATE_ECR $AWS_REGION
env:
DOCKER_LABEL: ${{ secrets.DOCKER_LABEL }}
REPO_NAME: ${{ secrets.QAT_REPO_NAME }}
AWS_REGION: ${{ secrets.AWS_REGION }}
ECR_URL: ${{ secrets.ECR_URL }}
PRIVATE_ECR: ${{ secrets.PRIVATE_ECR }}
- name: delete package.json
run: rm package.json
- name: move package.json
run: mv package.json package.jsonmoved
- name: npm-install 'cli' and 'aws-sdk'
run: npm install cli aws-sdk
- name: Publish to Elastic Container Registry
run: bash scripts/publish_ecr_builder.sh qat $GITHUB_SHA $DOCKER_LABEL $PRIVATE_ECR $AWS_REGION
- name: restore package.json
run: mv package.jsonmoved package.json
- name: Expose GitHub Runtime
uses: crazy-max/ghaction-github-runtime@v2
- name: Build and Push Docker Image
run: bash scripts/build_docker_builder.sh qat $GITHUB_SHA $DOCKER_LABEL $AWS_REGION $PRIVATE_ECR
env:
STORAGE_AWS_ACCESS_KEY_ID: ${{ secrets.STORAGE_AWS_ACCESS_KEY_ID }}
STORAGE_AWS_ACCESS_KEY_SECRET: ${{ secrets.STORAGE_AWS_ACCESS_KEY_SECRET }}
DOCKER_LABEL: ${{ secrets.DOCKER_LABEL }}
REPO_NAME: ${{ secrets.QAT_REPO_NAME }}
AWS_REGION: ${{ secrets.AWS_REGION }}
ECR_URL: ${{ secrets.ECR_URL }}
PRIVATE_ECR: ${{ secrets.PRIVATE_ECR }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
PUBLISH_DOCKERHUB: ${{ secrets.PUBLISH_DOCKERHUB }}
- name: Deploy to EKS
run: bash scripts/deploy_builder.sh qat $GITHUB_SHA
- name: Run bot tests in Cluster
run: bash scripts/check-testbot.sh qat $GITHUB_SHA
- name: Job succeeded
if: ${{ needs.secrets-gate-webhook.outputs.ok == 'enabled' }}
uses: ruby/setup-ruby@v1
Expand Down
7 changes: 4 additions & 3 deletions dockerfiles/api/Dockerfile-api
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# syntax = docker/dockerfile:1.2
# not slim because we need github depedencies
FROM root-builder as builder
ARG ECR_URL
ARG REPO_NAME
ARG STAGE
FROM ${ECR_URL}/${REPO_NAME}-root:latest_${STAGE} as builder

# Create app directory
WORKDIR /app
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/builder/Dockerfile-builder
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# syntax = docker/dockerfile:1.2
# not slim because we need github depedencies
FROM node:18-buster-slim as builder

RUN apt update
Expand Down
7 changes: 4 additions & 3 deletions dockerfiles/client/Dockerfile-client
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# syntax = docker/dockerfile:1.2
# not slim because we need github depedencies
FROM root-builder as builder
ARG ECR_URL
ARG REPO_NAME
ARG STAGE
FROM ${ECR_URL}/${REPO_NAME}-root:latest_${STAGE} as builder

# Create app directory
WORKDIR /app
Expand Down
7 changes: 4 additions & 3 deletions dockerfiles/instanceserver/Dockerfile-instanceserver
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# syntax = docker/dockerfile:1.2
# not slim because we need github depedencies
FROM root-builder as builder
ARG ECR_URL
ARG REPO_NAME
ARG STAGE
FROM ${ECR_URL}/${REPO_NAME}-root:latest_${STAGE} as builder

# Create app directory
WORKDIR /app
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# syntax = docker/dockerfile:1.2
# not slim because we need github depedencies
FROM node:18-buster-slim as root-builder
FROM node:18-buster-slim as runner

RUN apt update
# Create app directory
Expand All @@ -20,4 +18,4 @@ COPY packages/xrui/package.json ./packages/xrui/
COPY project-package-jsons ./

ARG NODE_ENV
RUN npm install --loglevel notice --legacy-peer-deps
#RUN npm install --loglevel notice --legacy-peer-deps
7 changes: 4 additions & 3 deletions dockerfiles/taskserver/Dockerfile-taskserver
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# syntax = docker/dockerfile:1.2
# not slim because we need github depedencies
FROM root-builder as builder
ARG ECR_URL
ARG REPO_NAME
ARG STAGE
FROM ${ECR_URL}/${REPO_NAME}-root:latest_${STAGE} as builder

# Create app directory
WORKDIR /app
Expand Down
7 changes: 4 additions & 3 deletions dockerfiles/testbot/Dockerfile-testbot
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# syntax = docker/dockerfile:1.2
# not slim because we need github depedencies
FROM root-builder as builder
ARG ECR_URL
ARG REPO_NAME
ARG STAGE
FROM ${ECR_URL}/${REPO_NAME}-root:latest_${STAGE} as builder

# Create app directory
WORKDIR /app
Expand Down
42 changes: 21 additions & 21 deletions packages/server-core/src/projects/project/downloadProjects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,27 +40,27 @@ export const download = async (projectName: string, storageProviderName?: string
)

logger.info(`[ProjectLoader]: Successfully downloaded and mounted project "${projectName}".`)
if (projectName !== 'default-project') {
const npmInstallPromise = new Promise<void>((resolve) => {
const npmInstallProcess = spawn('npm', ['install', '--legacy-peer-deps'], { cwd: localProjectDirectory })
npmInstallProcess.once('exit', () => {
logger.info('Finished npm installing %s', projectName)
resolve()
})
npmInstallProcess.once('error', resolve)
npmInstallProcess.once('disconnect', resolve)
npmInstallProcess.stdout.on('data', (data) => logger.info(data.toString()))
}).then((result) => logger.info(result))
await Promise.race([
npmInstallPromise,
new Promise<void>((resolve) => {
setTimeout(() => {
logger.warn(`WARNING: npm installing ${projectName} took too long!`)
resolve()
}, 5 * 60 * 1000) // timeout after 5 minutes
})
])
}
// if (projectName !== 'default-project') {
// const npmInstallPromise = new Promise<void>((resolve) => {
// const npmInstallProcess = spawn('npm', ['install', '--legacy-peer-deps'], { cwd: localProjectDirectory })
// npmInstallProcess.once('exit', () => {
// logger.info('Finished npm installing %s', projectName)
// resolve()
// })
// npmInstallProcess.once('error', resolve)
// npmInstallProcess.once('disconnect', resolve)
// npmInstallProcess.stdout.on('data', (data) => logger.info(data.toString()))
// }).then((result) => logger.info(result))
// await Promise.race([
// npmInstallPromise,
// new Promise<void>((resolve) => {
// setTimeout(() => {
// logger.warn(`WARNING: npm installing ${projectName} took too long!`)
// resolve()
// }, 5 * 60 * 1000) // timeout after 5 minutes
// })
// ])
// }
} catch (e) {
const errorMsg = `[ProjectLoader]: Failed to download project ${projectName} with error: ${e.message}`
logger.error(e, errorMsg)
Expand Down
Loading