name: Build and Push on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Login to Harbor run: | echo '${{ secrets.HARBOR_TOKEN }}' | docker login YOUR_REGISTRY -u '${{ secrets.HARBOR_USERNAME }}' --password-stdin - name: Build and Push Docker image run: | IMAGE=YOUR_REGISTRY/${{ vars.HARBOR_PROJECT }}/checkout:${{ gitea.sha }} docker build -t $IMAGE . docker push $IMAGE docker tag $IMAGE YOUR_REGISTRY/${{ vars.HARBOR_PROJECT }}/checkout:latest docker push YOUR_REGISTRY/${{ vars.HARBOR_PROJECT }}/checkout:latest echo "Pushed: $IMAGE" - name: Update deployments repo run: | git clone https://gitea-actions:${{ secrets.DEPLOY_TOKEN }}@YOUR_GITEA/${{ gitea.repository_owner }}/deployments.git cd deployments sed -i "s|image: .*/checkout:.*|image: YOUR_REGISTRY/${{ vars.HARBOR_PROJECT }}/checkout:${{ gitea.sha }}|" checkout/deployment.yaml git config user.name "gitea-actions" git config user.email "gitea-actions@localhost" git add checkout/deployment.yaml git diff --cached --quiet || git commit -m "chore: update checkout image to ${{ gitea.sha }}" git push || (git pull --rebase && git push)