Skip to content

Merge pull request #110 from akvo/feature/109-users-export-script #85

Merge pull request #110 from akvo/feature/109-users-export-script

Merge pull request #110 from akvo/feature/109-users-export-script #85

Workflow file for this run

name: Deploy to Test Cluster
on:
push:
branches:
- main
jobs:
build-push:
name: Build and Push to Registry
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: src
- name: Checkout Akvo composite actions
uses: actions/checkout@v4
with:
repository: akvo/composite-actions
token: ${{ secrets.GH_PAT }}
path: composite-actions
ref: 0.0.7
- name: Copy i18n
run: |
cp src/i18n src/frontend/ -R
shell: bash
- name: List files
run: |
ls -la src/frontend/i18n
shell: bash
- name: Prepare Frontend Build
run: |
mv src/frontend/next.config.prod.mjs src/frontend/next.config.mjs
echo 'WEBDOMAIN=${{ secrets.WEBDOMAIN }}' >> src/frontend/.env
echo 'NEXT_AUTH_SECRET_KEY=${{ secrets.NEXT_AUTH_SECRET_KEY }}' >> src/frontend/.env
shell: bash
- name: Node Operations
uses: ./composite-actions/.github/actions/node-operation
with:
node-version: "18"
node-command: "yarn install --no-progress --frozen-lock && yarn build"
- name: Docker Build Nginx
uses: ./composite-actions/.github/actions/docker-build
with:
app-name: "partos-pat"
service-name: "nginx"
dockerfile-location: "nginx"
cluster-name: "test"
- name: Docker Build Frontend
uses: ./composite-actions/.github/actions/docker-build
with:
app-name: "partos-pat"
service-name: "frontend"
dockerfile-location: "frontend"
cluster-name: "test"
- name: Docker Build Backend
uses: ./composite-actions/.github/actions/docker-build
with:
app-name: "partos-pat"
service-name: "backend"
dockerfile-location: "backend/Dockerfile.prod"
cluster-name: "test"
- name: Docker Push Nginx
uses: ./composite-actions/.github/actions/docker-push
with:
app-name: "partos-pat"
service-name: "nginx"
gcloud-sa: ${{ secrets.GCLOUD_SERVICE_ACCOUNT_REGISTRY }}
cluster-name: "test"
- name: Docker Push Frontend
uses: ./composite-actions/.github/actions/docker-push
with:
app-name: "partos-pat"
service-name: "frontend"
gcloud-sa: ${{ secrets.GCLOUD_SERVICE_ACCOUNT_REGISTRY }}
cluster-name: "test"
- name: Docker Push Backend
uses: ./composite-actions/.github/actions/docker-push
with:
app-name: "partos-pat"
service-name: "backend"
gcloud-sa: ${{ secrets.GCLOUD_SERVICE_ACCOUNT_REGISTRY }}
cluster-name: "test"
rollout:
name: Rollout to the server
needs: build-push
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: src
- name: Checkout Akvo composite actions
uses: actions/checkout@v4
with:
repository: akvo/composite-actions
token: ${{ secrets.GH_PAT }}
path: composite-actions
ref: 0.0.7
- name: Rollout Nginx
uses: ./composite-actions/.github/actions/k8s-rollout
with:
app-name: "partos-pat"
deployment-name: "nginx-deployment"
container-name: "nginx"
cluster-name: "test"
namespace-name: "partos-pat-namespace"
gcloud-sa: ${{ secrets.GCLOUD_SERVICE_ACCOUNT_K8S }}
- name: Rollout Frontend
uses: ./composite-actions/.github/actions/k8s-rollout
with:
app-name: "partos-pat"
deployment-name: "frontend-deployment"
container-name: "frontend"
cluster-name: "test"
namespace-name: "partos-pat-namespace"
gcloud-sa: ${{ secrets.GCLOUD_SERVICE_ACCOUNT_K8S }}
- name: Rollout Backend
uses: ./composite-actions/.github/actions/k8s-rollout
with:
app-name: "partos-pat"
deployment-name: "backend-deployment"
container-name: "backend"
cluster-name: "test"
namespace-name: "partos-pat-namespace"
gcloud-sa: ${{ secrets.GCLOUD_SERVICE_ACCOUNT_K8S }}