Skip to content

Commit

Permalink
Merge pull request #6 from alkem-io/develop
Browse files Browse the repository at this point in the history
Release
  • Loading branch information
hero101 authored Jun 4, 2024
2 parents 7fe24af + bd5238d commit 46878ca
Show file tree
Hide file tree
Showing 46 changed files with 1,030 additions and 88 deletions.
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help us improve
title: "BUG: "
labels: "bug, file service, Atlas Team"
assignees: ""
---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/epic.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Epic
about: A theme of work that contain sub-tasks required to complete the larger goal / larger user-story
title: ""
labels: "epic, excalidraw, whiteboard, collaboration"
labels: "epic, file service, Atlas Team"
assignees: ""
---

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: Feature request
about: Suggest an idea for this project
title: ""
labels: "enhancement, excalidraw, whiteboard, collaboration"
labels: "enhancement, file service, Atlas Team"
assignees: ""
---

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/user_story.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: User Story
about: A valuable increment of functionality, testable by the users
title: ""
labels: "user story, excalidraw, whiteboard, collaboration"
labels: "user story, file service, Atlas Team"
assignees: ""
---

Expand Down
61 changes: 61 additions & 0 deletions .github/workflows/build-deploy-k8s-dev-azure.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Build, Migrate & Deploy to Dev

on:
push:
branches: [develop]

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 'Checkout GitHub Action'
uses: actions/[email protected]

- name: 'Login into ACR'
uses: azure/[email protected]
with:
login-server: ${{ secrets.REGISTRY_LOGIN_SERVER }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}

- name: 'Build & Push image'
run: |
docker build -f Dockerfile . -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:${{ github.sha }} -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:latest
docker push ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:${{ github.sha }}
deploy:
runs-on: ubuntu-latest
steps:
- name: 'Checkout GitHub Action'
uses: actions/[email protected]

- name: 'Login via Azure CLI'
uses: azure/[email protected]
with:
creds: ${{ secrets.AZURE_CRED_K8S_NEW }}

- uses: Azure/[email protected]
with:
cluster-name: ${{ secrets.CLUSTER_NAME }}
resource-group: ${{ secrets.RESOURCE_GROUP_K8S }}

- uses: Azure/[email protected]
with:
container-registry-url: ${{ secrets.REGISTRY_LOGIN_SERVER }}
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
secret-name: alkemio-file-service-secret

- uses: azure/[email protected]
with:
version: 'v1.22.0' # default is latest stable, fixing it to a compatible version
id: install

- uses: Azure/[email protected]
with:
manifests: |
manifests/25-file-service-deployment-dev.yaml
images: |
${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:${{ github.sha }}
imagepullsecrets: |
alkemio-file-service-secret
59 changes: 59 additions & 0 deletions .github/workflows/build-deploy-k8s-sandbox-azure.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Build, Migrate & Deploy to Sandbox on Azure

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 'Checkout GitHub Action'
uses: actions/[email protected]

- name: 'Login into ACR'
uses: azure/[email protected]
with:
login-server: ${{ secrets.REGISTRY_LOGIN_SERVER }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}

- name: 'Build & Push image'
run: |
docker build -f Dockerfile . -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:${{ github.sha }} -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:latest
docker push ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:${{ github.sha }}
deploy:
runs-on: ubuntu-latest
steps:
- name: 'Checkout GitHub Action'
uses: actions/[email protected]

- name: 'Login via Azure CLI'
uses: azure/[email protected]
with:
creds: ${{ secrets.AZURE_CRED_K8S_NEW }}

- uses: Azure/[email protected]
with:
cluster-name: k8s-sandbox
resource-group: res-grp-k8s-sandbox

- uses: Azure/[email protected]
with:
container-registry-url: ${{ secrets.REGISTRY_LOGIN_SERVER }}
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
secret-name: alkemio-file-service-secret

- uses: azure/[email protected]
with:
version: 'v1.22.0' # default is latest stable, fixing it to a compatible version
id: install

- uses: Azure/[email protected]
with:
manifests: |
manifests/25-file-service-deployment-dev.yaml
images: |
${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:${{ github.sha }}
imagepullsecrets: |
alkemio-file-service-secret
60 changes: 60 additions & 0 deletions .github/workflows/build-deploy-k8s-test-azure.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Build, Migrate & Deploy to Test on Azure

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 'Checkout GitHub Action'
uses: actions/[email protected]

- name: 'Login into ACR'
uses: azure/[email protected]
with:
login-server: ${{ secrets.REGISTRY_LOGIN_SERVER }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}

- name: 'Build & Push image'
run: |
docker build -f Dockerfile . -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:${{ github.sha }} -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:latest
docker push ${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:${{ github.sha }}
deploy:
runs-on: ubuntu-latest
steps:
- name: 'Checkout GitHub Action'
uses: actions/[email protected]

- name: 'Login via Azure CLI'
uses: azure/[email protected]
with:
creds: ${{ secrets.AZURE_CRED_K8S_NEW }}

- uses: Azure/[email protected]
with:
cluster-name: k8s-test
resource-group: res-grp-k8s-test

- uses: Azure/[email protected]
with:
container-registry-url: ${{ secrets.REGISTRY_LOGIN_SERVER }}
container-registry-username: ${{ secrets.REGISTRY_USERNAME }}
container-registry-password: ${{ secrets.REGISTRY_PASSWORD }}
secret-name: alkemio-file-service-secret

- uses: azure/[email protected]
with:
version: 'v1.22.0' # default is latest stable, fixing it to a compatible version
id: install

- uses: Azure/[email protected]
with:
manifests: |
manifests/25-file-service-deployment-dev.yaml
images: |
${{ secrets.REGISTRY_LOGIN_SERVER }}/alkemio-file-service:${{ github.sha }}
imagepullsecrets: |
alkemio-file-service-secret
68 changes: 68 additions & 0 deletions .github/workflows/build-release-docker-hub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Deploy to DockerHub

on:
release:
types: [published]

jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Prepare
id: prep
run: |
DOCKER_IMAGE=alkemio/file-service
VERSION=noop
if [ "${{ github.event_name }}" = "schedule" ]; then
VERSION=nightly
elif [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/}
elif [[ $GITHUB_REF == refs/heads/* ]]; then
VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g')
if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then
VERSION=edge
fi
elif [[ $GITHUB_REF == refs/pull/* ]]; then
VERSION=pr-${{ github.event.number }}
fi
TAGS="${DOCKER_IMAGE}:${VERSION}"
if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
MINOR=${VERSION%.*}
MAJOR=${MINOR%.*}
TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:latest"
elif [ "${{ github.event_name }}" = "push" ]; then
TAGS="$TAGS,${DOCKER_IMAGE}:sha-${GITHUB_SHA::8}"
fi
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
echo "created={$(date -u +'%Y-%m-%dT%H:%M:%SZ')}" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/[email protected]
- name: Set up Docker Buildx
uses: docker/[email protected]
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/[email protected]
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.prep.outputs.tags }}
labels: |
org.opencontainers.image.title=${{ github.event.repository.name }}
org.opencontainers.image.description=${{ github.event.repository.description }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.source=${{ github.event.repository.clone_url }}
org.opencontainers.image.version=${{ steps.prep.outputs.version }}
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
org.opencontainers.image.revision=${{ github.sha }}
org.opencontainers.image.licenses=${{ github.event.repository.license.spdx_id }}
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ RUN npm install

# Bundle app source & config files for TypeORM & TypeScript
COPY ./src ./src
COPY ../file-service/tsconfig.json .
COPY ../file-service/tsconfig.build.json .
COPY ./tsconfig.json .
COPY ./tsconfig.build.json .
COPY ./config.yml .

RUN npm run build

ENV NODE_ENV=${ENV_ARG}

EXPOSE 4002
EXPOSE 4003

CMD ["/bin/sh", "-c", "npm run start:prod NODE_OPTIONS=--max-old-space-size=4096"]
Loading

0 comments on commit 46878ca

Please sign in to comment.