name: Deploy on: push: branches: - main jobs: check-changes: runs-on: ubuntu-latest outputs: node-labels: ${{ steps.filter.outputs.node-labels }} coredns: ${{ steps.filter.outputs.coredns }} steps: - uses: actions/checkout@v5 with: fetch-depth: 0 - uses: dorny/paths-filter@v3 id: filter with: filters: | node-labels: - 'node-labels/**' coredns: - 'coredns/**' deploy-node-labels: runs-on: ubuntu-latest needs: check-changes if: ${{ needs.check-changes.outputs.node-labels == 'true' }} steps: - uses: actions/checkout@v5 - uses: azure/setup-kubectl@v4 - uses: azure/k8s-set-context@v4 with: method: kubeconfig kubeconfig: ${{ secrets.KUBECONFIG }} - name: Deploy run: | kubectl apply --server-side --field-manager=t000-n -f node-labels deploy-coredns: runs-on: ubuntu-latest needs: check-changes if: ${{ needs.check-changes.outputs.coredns == 'true' }} steps: - uses: actions/checkout@v5 - uses: azure/setup-kubectl@v4 - uses: azure/k8s-set-context@v4 with: method: kubeconfig kubeconfig: ${{ secrets.KUBECONFIG }} - name: Deploy run: | kubectl apply -n kube-system -f coredns - name: Restart coredns run: | kubectl -n kube-system rollout restart deployment coredns