loic-go/.forgejo/workflows/pipeline.yml
2025-03-28 12:45:10 +01:00

32 lines
1.3 KiB
YAML

name: CI/CD Pipeline
on: push
env:
FORGEJO_BASE_URL: ${{ vars.FORGEJO_BASE_URL }}
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: '1.24'
- name: Build Go Binary
run: go mod tidy && go build -o loic
- name: Build and Push Docker Image
run: |
docker build -t loic:${{ github.sha }} .
echo "$FORGEJO_API_TOKEN" | docker login -u {{ .Identity }} --password-stdin ${{ env.FORGEJO_BASE_URL }}
docker tag loic:${{ github.sha }} ${{ env.FORGEJO_BASE_URL }}/{{ .Identity }}/loic:${{ github.sha }}
docker push ${{ env.FORGEJO_BASE_URL }}/{{ .Identity }}/loic:${{ github.sha }}
- name: Update Deployment Manifest
run: |
sed -i "s|image: .*|image: ${{ env.FORGEJO_BASE_URL }}/{{ .Identity }}/loic:${{ github.sha }}|" k8s/deployment.yaml
git config --global user.email "ci@edp.local"
git config --global user.name "CI Bot"
git add k8s/deployment.yaml
git commit -m "Update image to ${{ github.sha }}"
git push
env:
FORGEJO_API_TOKEN: ${{ secrets.FORGEJO_API_TOKEN }}