Skip to content
This repository has been archived by the owner on Apr 14, 2024. It is now read-only.

Deploy Stage

Deploy Stage #278

Workflow file for this run

name: Deploy Stage
on:
push:
branches:
- main
workflow_dispatch: {}
jobs:
build:
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: docker build -t collabry:${{ github.sha }} --target slim .
deploy:
needs: [build]
runs-on: self-hosted
steps:
- name: Set environment variables
run: |
echo "ENV=stage" >> $GITHUB_ENV
echo "COLLABRY__IMAGE=collabry:${GITHUB_SHA}" >> $GITHUB_ENV
for e in $(env | grep 'STAGE__'); do echo "$e"; echo "${e#'STAGE__'}" >> $GITHUB_ENV; done
# echo "TRAEFIK__PORT=${STAGE__TRAEFIK__PORT}" >> $GITHUB_ENV
# echo "SECRETS__OAUTH2_HABR_CLIENT_ID_NAME=${STAGE__SECRETS__OAUTH2_HABR_CLIENT_ID_NAME}" >> $GITHUB_ENV
# echo "SECRETS__OAUTH2_HABR_CLIENT_SECRET_NAME=${STAGE__SECRETS__OAUTH2_HABR_CLIENT_SECRET_NAME}" >> $GITHUB_ENV
# echo "SECRETS__HABR_API_KEY_NAME=${STAGE__SECRETS__HABR_API_KEY_NAME}" >> $GITHUB_ENV
# echo "SECRETS__HABR_CAREER_API_KEY_NAME=${STAGE__SECRETS__HABR_CAREER_API_KEY_NAME}" >> $GITHUB_ENV
# echo "SECRETS__JWT_ACCESS_TOKEN_PRIVATE_KEY_NAME=${STAGE__SECRETS__JWT_ACCESS_TOKEN_PRIVATE_KEY_NAME}" >> $GITHUB_ENV
# echo "SECRETS__JWT_ACCESS_TOKEN_PUBLIC_KEY_NAME=${STAGE__SECRETS__JWT_ACCESS_TOKEN_PUBLIC_KEY_NAME}" >> $GITHUB_ENV
# echo "SECRETS__JWT_REFRESH_TOKEN_PRIVATE_KEY_NAME=${STAGE__SECRETS__JWT_REFRESH_TOKEN_PRIVATE_KEY_NAME}" >> $GITHUB_ENV
# echo "SECRETS__JWT_REFRESH_TOKEN_PUBLIC_KEY_NAME=${STAGE__SECRETS__JWT_REFRESH_TOKEN_PUBLIC_KEY_NAME}" >> $GITHUB_ENV
# echo "POSTGRES__PASSWORD=${STAGE__POSTGRES__PASSWORD}" >> $GITHUB_ENV
# echo "SWAGGER__ROOT_PATH=${STAGE__SWAGGER__ROOT_PATH}" >> $GITHUB_ENV
# echo "KAFKA_UI__ROOT_PATH=${STAGE__KAFKA_UI__ROOT_PATH}" >> $GITHUB_ENV
# echo "KAFKA_UI__PASSWORD=${STAGE__KAFKA_UI__PASSWORD}" >> $GITHUB_ENV
# echo "GRAFANA__ROOT_URL=${STAGE__GRAFANA__ROOT_URL}" >> $GITHUB_ENV
# echo "GRAFANA__ROOT_PATH=${STAGE__GRAFANA__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLALBRY__DATABASE__DSN=${STAGE__COLLLABRY__DATABASE__DSN}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__USERNAME=${STAGE__COLLABRY__EMAIL__SENDER__USERNAME}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__PASSWORD=${STAGE__COLLABRY__EMAIL__SENDER__PASSWORD}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__HOST=${STAGE__COLLABRY__EMAIL__SENDER__HOST}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__PORT=${STAGE__COLLABRY__EMAIL__SENDER__PORT}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__START_TLS=${STAGE__COLLABRY__EMAIL__SENDER__START_TLS}" >> $GITHUB_ENV
# echo "COLLABRY__EMAIL__SENDER__TLS=${STAGE__COLLABRY__EMAIL__SENDER__TLS}" >> $GITHUB_ENV
# echo "COLLABRY__MESSENGER__API__ALLOWED_ORIGINS=${STAGE__COLLABRY__MESSENGER__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
# echo "COLLABRY__MESSENGER__API__ROOT_PATH=${STAGE__COLLABRY__MESSENGER__API__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__MESSENGER__API__ROOT_URL=${STAGE__COLLABRY__MESSENGER__API__ROOT_URL}" >> $GITHUB_ENV
# echo "COLLABRY__MESSENGER__DATABASE__DSN=${STAGE__COLLABRY__MESSENGER__DATABASE__DSN}" >> $GITHUB_ENV
# echo "COLLABRY__NOTIFICATIONS__API__ALLOWED_ORIGINS=${STAGE__COLLABRY__NOTIFICATIONS__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
# echo "COLLABRY__NOTIFICATIONS__API__ROOT_PATH=${STAGE__COLLABRY__NOTIFICATIONS__API__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__NOTIFICATIONS__API__ROOT_URL=${STAGE__COLLABRY__NOTIFICATIONS__API__ROOT_URL}" >> $GITHUB_ENV
# echo "COLLABRY__NOTIFICATIONS__DATABASE__DSN=${STAGE__COLLABRY__NOTIFICATIONS__DATABASE__DSN}" >> $GITHUB_ENV
# echo "COLLABRY__PROJECTS__API__ALLOWED_ORIGINS=${STAGE__COLLABRY__PROJECTS__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
# echo "COLLABRY__PROJECTS__API__ROOT_PATH=${STAGE__COLLABRY__PROJECTS__API__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__PROJECTS__API__ROOT_URL=${STAGE__COLLABRY__PROJECTS__API__ROOT_URL}" >> $GITHUB_ENV
# echo "COLLABRY__PROJECTS__DATABASE__DSN=${STAGE__COLLABRY__PROJECTS__DATABASE__DSN}" >> $GITHUB_ENV
# echo "COLLABRY__STORAGE__API__ALLOWED_ORIGINS=${STAGE__COLLABRY__STORAGE__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
# echo "COLLABRY__STORAGE__API__ROOT_PATH=${STAGE__COLLABRY__STORAGE__API__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__STORAGE__API__ROOT_URL=${STAGE__COLLABRY__STORAGE__API__ROOT_URL}" >> $GITHUB_ENV
# echo "COLLABRY__STORAGE__DATABASE__DSN=${STAGE__COLLABRY__STORAGE__DATABASE__DSN}" >> $GITHUB_ENV
# echo "COLLABRY__USERS__API__ALLOWED_ORIGINS=${STAGE__COLLABRY__USERS__API__ALLOWED_ORIGINS}" >> $GITHUB_ENV
# echo "COLLABRY__USERS__API__OAUTH2_HABR_CALLBACK_URL=${STAGE__COLLABRY__USERS__API__OAUTH2_HABR_CALLBACK_URL}" >> $GITHUB_ENV
# echo "COLLABRY__USERS__API__ROOT_PATH=${STAGE__COLLABRY__USERS__API__ROOT_PATH}" >> $GITHUB_ENV
# echo "COLLABRY__USERS__API__ROOT_URL=${STAGE__COLLABRY__USERS__API__ROOT_URL}" >> $GITHUB_ENV
# echo "COLLABRY__USERS__DATABASE__DSN=${STAGE__COLLABRY__USERS__DATABASE__DSN}" >> $GITHUB_ENV
- name: Deploy
run: docker stack deploy -c docker-compose.yaml collabry-stage