Files
elixir-websocket-testing/.gitea/workflow/pipeline.yml
2026-03-03 15:30:25 -07:00

50 lines
1.4 KiB
YAML

name: CI/CD Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
build:
runs-on: home-server
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: test
run: |
cd backend
nix-shell -p elixir elixir_ls --run '
mix do deps.get, test
'
- name: Build and push backend image
run: |
cd client
docker build -t alexmickelson/elixir-demo-frontend:$GITHUB_BUILD_NUMBER .
docker push alexmickelson/elixir-demo-frontend:$GITHUB_BUILD_NUMBER
cd ../backend
docker build -t alexmickelson/elixir-demo-backend:$GITHUB_BUILD_NUMBER .
docker push alexmickelson/elixir-demo-backend:$GITHUB_BUILD_NUMBER
# - name: Deploy to Kubernetes
# run: |
# kubectl apply -f kubernetes/namespace.yml
# kubectl get secret backend-secret --namespace alex-elixir-demo || \
# kubectl create secret generic backend-secret \
# --namespace alex-elixir-demo \
# --from-literal=cookie=$(openssl rand -hex 32)
# for file in kubernetes/*.yml; do
# cat "$file" | envsubst | kubectl apply -f -
# done