From e98df10dad2275a652b81fee3d5e93b95a336735 Mon Sep 17 00:00:00 2001 From: Ilya Kreymer Date: Tue, 31 Jan 2023 15:42:50 -0800 Subject: [PATCH] CI: Setup manual workflow for dev deployment (#540) * deployment: add initial manual workflow for deploying to dev cluster, addresses #428 * opt: only run k3d-log-ci tests on backend or chart changes --- .github/workflows/deploy-dev.yaml | 70 +++++++++++++++++++++++++++++++ .github/workflows/k3d-log-ci.yaml | 9 +++- 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/deploy-dev.yaml diff --git a/.github/workflows/deploy-dev.yaml b/.github/workflows/deploy-dev.yaml new file mode 100644 index 00000000..df1acb6e --- /dev/null +++ b/.github/workflows/deploy-dev.yaml @@ -0,0 +1,70 @@ +name: Deploy to Dev Cluster + +on: + workflow_dispatch: + inputs: + registry: registry.digitalocean.com + registry_path: registry.digitalocean.com/btrix + +jobs: + build_do_images: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + with: + driver-opts: network=host + + name: Login to Regsitry + uses: docker/login-action@v2 + with: + registry: ${{ inputs.registry }} + username: ${{ secrets.DO_API_TOKEN }} + password: ${{ secrets.DO_API_TOKEN }} + + - name: Build Backend + uses: docker/build-push-action@v3 + with: + context: backend + push: true + tags: ${{ inputs.registry_path }}/webrecorder/browsertrix-backend:latest + cache-from: type=gha,scope=backend + cache-to: type=gha,scope=backend,mode=max + + - name: Build Frontend + uses: docker/build-push-action@v3 + with: + context: frontend + push: true + tags: ${{ inputs.registry_path }}/btrix/webrecorder/browsertrix-frontend:latest + cache-from: type=gha,scope=frontend + cache-to: type=gha,scope=frontend,mode=max + + + - name: Get Kubeconfig + env: + KUBECONFIG_DATA: ${{ secrets.KUBECONFIG }} + DEV_VALUES: ${{ secrets.DEV_VALUES }} + + run: | + echo $KUBECONFIG_DATA > ./.kubeconfig + echo $DEV_VALUES > ./dev-values.yaml + + - name: Install Kubectl + uses: azure/setup-kubectl@v3 + + - name: Install Helm + uses: azure/setup-helm@v3 + with: + version: 3.10.2 + + - name: Start Cluster with Helm + run: | + export KUBECONFIG=./.kubeconfig + helm upgrade --install -f ./chart/values.yaml -f ./dev-values.yaml btrix ./chart/ + + + diff --git a/.github/workflows/k3d-log-ci.yaml b/.github/workflows/k3d-log-ci.yaml index f9cd83a0..67c31fc7 100644 --- a/.github/workflows/k3d-log-ci.yaml +++ b/.github/workflows/k3d-log-ci.yaml @@ -1,6 +1,13 @@ name: Cluster Run (K3d-Admin-Logging) -on: [push, pull_request] +on: + push: + branches: + - main + pull_request: + paths: + - 'backend/**' + - 'chart/**' jobs: btrix-k3d-admin-logging-test: