From a57002bf44f8b5fcb6bbf733b88047fe7b1b8c3c Mon Sep 17 00:00:00 2001 From: Jose Henrique Date: Wed, 8 Jul 2026 19:58:23 -0300 Subject: [PATCH] refactor: use pipeline-actions composite actions for build and deploy Replaces inline build/deploy steps with ivanch/pipeline-actions/build-and-push and ivanch/pipeline-actions/deploy-restart composite actions. --- .gitea/workflows/main.yaml | 76 +++++++------------------------------- 1 file changed, 13 insertions(+), 63 deletions(-) diff --git a/.gitea/workflows/main.yaml b/.gitea/workflows/main.yaml index bad69cf..d654ac5 100644 --- a/.gitea/workflows/main.yaml +++ b/.gitea/workflows/main.yaml @@ -7,81 +7,31 @@ on: workflow_dispatch: {} env: - REGISTRY_HOST: git.ivanch.me - REGISTRY_USERNAME: ivanch - IMAGE: ${{ env.REGISTRY_HOST }}/ivanch/transmission-manager - KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} + IMAGE: git.ivanch.me/ivanch/transmission-manager jobs: build_transmission_manager: name: Build Transmission Manager Image runs-on: ubuntu-amd64 - steps: - name: Check out repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - name: Log in to Container Registry - run: | - echo "${{ secrets.REGISTRY_PASSWORD }}" \ - | docker login "${{ env.REGISTRY_HOST }}" \ - -u "${{ env.REGISTRY_USERNAME }}" \ - --password-stdin - - - name: Set up SSH key for haven - run: | - mkdir -p ~/.ssh - echo "${{ secrets.SSH_KEY_DOCKERBUILD }}" > ~/.ssh/id_ed25519 - chmod 600 ~/.ssh/id_ed25519 - ssh-keyscan docker-build.haven >> ~/.ssh/known_hosts - - - name: Set up remote Docker Buildx builder (docker-build.haven) - run: | - docker context create docker-build-haven \ - --docker "host=ssh://root@docker-build.haven" - docker context use docker-build-haven - docker buildx inspect --bootstrap - - - name: Build and Push Multi-Arch Image - uses: docker/build-push-action@v6 + - name: Build and push multi-arch image + uses: ivanch/pipeline-actions/build-and-push@main with: - push: true - context: . - builder: docker-build-haven - platforms: linux/amd64,linux/arm64 - tags: | - ${{ env.IMAGE }}:latest + image: ${{ env.IMAGE }} + registry_password: ${{ secrets.REGISTRY_PASSWORD }} + ssh_key: ${{ secrets.SSH_KEY_DOCKERBUILD }} deploy_transmission_manager: name: Deploy Transmission Manager (internal) runs-on: ubuntu-amd64 needs: build_transmission_manager steps: - - name: Check KUBE_CONFIG validity - run: | - if [ -z "${KUBE_CONFIG}" ] || [ "${KUBE_CONFIG}" = "" ] || [ "${KUBE_CONFIG// }" = "" ]; then - echo "KUBE_CONFIG is not set or is empty." - exit 1 - fi - - - name: Check out repository - uses: actions/checkout@v2 - - - name: Download and install dependencies - run: | - apt-get update -y - apt-get install -y curl - curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" - install -m 0755 kubectl /usr/local/bin/kubectl - kubectl version --client - - - name: Set up kubeconfig - run: | - echo "$KUBE_CONFIG" > kubeconfig.yaml - kubectl --kubeconfig=kubeconfig.yaml cluster-info - env: - KUBE_CONFIG: ${{ env.KUBE_CONFIG }} - - - name: Rollout restart - run: | - kubectl --kubeconfig=kubeconfig.yaml rollout restart deployment transmission-manager -n media + - name: Rollout restart deployment + uses: ivanch/pipeline-actions/deploy-restart@main + with: + kube_config: ${{ secrets.KUBE_CONFIG }} + deployment_name: transmission-manager + namespace: media