Skip to content

[review] Deploy

[review] Deploy #2331

name: "[review] Deploy"
on:
workflow_dispatch:
branches:
- '/^review-.*$/'
jobs:
converge:
name: "[review] Deploy"
runs-on: self-hosted
env:
WERF_SECRET_KEY: ${{ secrets.WERF_SECRET_KEY }}
PULL_USER: ${{ secrets.PULL_USER }}
PULL_PERSONAL_ACCESS_KEY: ${{ secrets.PULL_PERSONAL_ACCESS_KEY }}
KUBE_CONFIG_BASE64_DATA: ${{ secrets.TEST_CLUSTER_KUBE_CONFIG_BASE64_DATA }}
steps:
- name: Echo review namespaces
run: echo "Active review stands = $(kubectl --kubeconfig <(echo $KUBE_CONFIG_BASE64_DATA | base64 --decode) get ns | grep "review-" -c)"
- name: Check review limits
run: |
if [[ $review_namespaces == $(kubectl --kubeconfig <(echo $KUBE_CONFIG_BASE64_DATA | base64 --decode) get ns | grep "review-" -c) ]]; then
echo "The maximum number of simultaneous reviews has been reached.";
exit 1;
fi
- name: Login to Container Registry
uses: docker/login-action@v3
with:
registry: ${{ secrets.DOCKER_REGISTRY }}
username: ${{ secrets.SBERCLOUD_CR_USERNAME }}
password: ${{ secrets.SBERCLOUD_CR_PASSWORD }}
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
ssh-key: ${{ secrets.SSH_DOCK_SERVER_PRIVATE_KEY }}
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_DOCK_SERVER_PRIVATE_KEY }}
name: id_rsa
known_hosts: ${{ secrets.SSH_DOCK_SERVER_KNOWN_HOSTS }}
if_key_exists: replace
- name: Set env for namespace
run: echo "REVIEW_NAMESPACE=$(echo review-${GITHUB_REF##*/} | sed 's/[^a-zA-Z0-9_-]//g; s/_/-/g')" >> $GITHUB_ENV
- name: Set env url prefix
run: echo "REVIEW_URL_PREFIX=$(echo ${GITHUB_REF##*/} | sed 's/[^a-zA-Z0-9_-]//g; s/_/-/g' | cut -c -30)" >> $GITHUB_ENV
- name: Converge
uses: werf/actions/[email protected]
with:
channel: beta
env: review
kube-config-base64-data: ${{ secrets.TEST_CLUSTER_KUBE_CONFIG_BASE64_DATA }}
github-token: ${{ secrets.GITHUB_TOKEN }}
env:
WERF_SET_CI_CONDO_URL: "global.ci_condo_url=review-${{ env.REVIEW_URL_PREFIX }}-condo.r.doma.ai"
WERF_SET_CI_CALLCENTER_URL: "global.ci_callcenter_url=review-${{ env.REVIEW_URL_PREFIX }}-callcenter.r.doma.ai"
WERF_SET_CI_EPS_URL: "global.ci_eps_url=review-${{ env.REVIEW_URL_PREFIX }}-eps.r.doma.ai"
WERF_SET_CI_RB_URL: "global.ci_rb_url=review-${{ env.REVIEW_URL_PREFIX }}-rb.r.doma.ai"
WERF_SET_CI_INSURANCE_URL: "global.ci_insurance_url=review-${{ env.REVIEW_URL_PREFIX }}-insurance.r.doma.ai"
WERF_SET_CI_REGISTRY_IMPORTER_URL: "global.ci_registry_importer_url=review-${{ env.REVIEW_URL_PREFIX }}-registry.r.doma.ai"
WERF_SET_CI_MINIAPP_URL: "global.ci_miniapp_url=review-${{ env.REVIEW_URL_PREFIX }}-miniapp.r.doma.ai"
WERF_SET_CI_PROPERTY_IMPORTER_URL: "global.ci_property_importer_url=review-${{ env.REVIEW_URL_PREFIX }}-property-importer.r.doma.ai"
WERF_SET_CI_CLASSIFIERS_API_URL: "global.ci_classifiers_api_url=review-${{ env.REVIEW_URL_PREFIX }}-ml.r.doma.ai"
WERF_SET_CI_ADDRESS_SERVICE_URL: "global.ci_address_service_url=review-${{ env.REVIEW_URL_PREFIX }}-address-service.r.doma.ai"
WERF_SET_CI_TELEPHONY_URL: "global.ci_telephony_url=review-${{ env.REVIEW_URL_PREFIX }}-telephony.r.doma.ai"
WERF_SET_CI_DEV_PORTAL_WEB_URL: "global.ci_dev_portal_web_url=review-${{ env.REVIEW_URL_PREFIX }}-developers.r.doma.ai"
WERF_SET_CI_PASS_URL: "global.ci_pass_url=review-${{ env.REVIEW_URL_PREFIX }}-miniapp-pass.r.doma.ai"
WERF_SET_CI_RESIDENT_APP_URL: "global.ci_resident_app_url=m.r.doma.ai"
WERF_SET_CI_RESIDENT_APP_BOT_URL: "global.ci_resident_app_bot_url=m-bot.r.doma.ai"
WERF_SET_CI_NEWS_GREENHOUSE_URL: "global.ci_news_greenhouse_url=news-sharing-greendom.r.doma.ai"
WERF_SET_CI_METER_IMPORTER_URL: "global.ci_meter_importer_url=meter-importer.r.doma.ai"
WERF_SET_CI_BILLING_CONNECTOR_URL: "global.ci_billing_connector_url=review-${{ env.REVIEW_URL_PREFIX }}-billing-connector.r.doma.ai"
WERF_SET_CI_POS_INTEGRATION_URL: "global.ci_pos_integration_url=review-${{ env.REVIEW_URL_PREFIX }}-pos-integration.r.doma.ai"
WERF_SET_CI_NAMESPACE: "global.ci_namespace=${{ env.REVIEW_NAMESPACE }}"
WERF_SET_CI_URL_PREFIX: "global.ci_url_prefix=${{ env.REVIEW_URL_PREFIX }}"
WERF_NAMESPACE: ${{ env.REVIEW_NAMESPACE }}
WERF_VIRTUAL_MERGE_FROM_COMMIT: "true"
WERF_SET_CI_REF: "ci.werf.io/ref=${GITHUB_REF_NAME}"
WERF_REPO: ${{ secrets.DOCKER_REGISTRY }}/condo/condo
WERF_REPO_CONTAINER_REGISTRY: default
- name: Urls output
run: |
echo "condo: https://review-${{ env.REVIEW_URL_PREFIX }}-condo.r.doma.ai"
echo "callcenter: https://review-${{ env.REVIEW_URL_PREFIX }}-callcenter.r.doma.ai"
echo "eps: https://review-${{ env.REVIEW_URL_PREFIX }}-eps.r.doma.ai"
echo "rb: https://review-${{ env.REVIEW_URL_PREFIX }}-rb.r.doma.ai"