الملفات
ghaymah-exam-ahmed-abdelazi…/q3-cicd/workflow.yml

76 أسطر
1.6 KiB
YAML

name: Ghaymah CI/CD Pipeline
on:
push:
branches:
- "release/**"
- main
workflow_dispatch:
jobs:
build:
name: Build Docker Image
runs-on: ubuntu-latest
steps:
- name: Checkout Source
uses: actions/checkout@v5
- name: Build Docker Image
run: |
docker build -t ghaymah-sre-api:${{ github.sha }} .
deploy-staging:
name: Deploy to Staging
needs: build
if: startsWith(github.ref, 'refs/heads/release/')
environment: staging
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install Ghaymah CLI
run: curl -sSL https://cli.ghaymah.systems/install.sh | bash
- name: Login to Ghaymah
run: |
$HOME/ghaymah/bin/gy auth login \
--email "${{ secrets.GHAYMAH_EMAIL }}" \
--password "${{ secrets.GHAYMAH_PW }}"
- name: Deploy to Ghaymah Staging
run: |
$HOME/ghaymah/bin/gy resource app launch
deploy-production:
name: Deploy to Production
needs: build
if: github.ref == 'refs/heads/main'
environment:
name: production
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Install Ghaymah CLI
run: curl -sSL https://cli.ghaymah.systems/install.sh | bash
- name: Login to Ghaymah
run: |
$HOME/ghaymah/bin/gy auth login \
--email "${{ secrets.GHAYMAH_EMAIL }}" \
--password "${{ secrets.GHAYMAH_PW }}"
- name: Deploy to Ghaymah Production
run: |
$HOME/ghaymah/bin/gy resource app launch