<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-cloud-run-from-source-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-dataflow-job-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-docs-site</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-firebase-hosting-site-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-helm-chart-to-kubernetes-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-lambda-with-sam-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-monorepo-app-selectively-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-multi-service-preview-environment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/netlify-preview-deploy-with-cli-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-preview-environment-per-pr-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-preview-environment-per-pull-request-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-preview-for-the-changed-app-in-a-monorepo-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/preview-environment-in-a-per-pr-kubernetes-namespace-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-preview-to-cloudflare-pages-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-pubsub-triggered-function-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-scheduled-eventbridge-lambda-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-s3-cloudfront</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-azure-static-web-apps</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-static-site-to-cloud-storage-cdn-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-cloudflare-pages</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-firebase-hosting</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-github-pages</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-netlify</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-static-site-to-s3-with-cloudfront-invalidation-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-static-site-to-s3-cloudfront-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-vercel</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-rsync-ssh-server</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-step-functions-state-machine-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-zip-lambda-function-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-deploy-airflow-dags-to-mwaa</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-arc-runner-scale-set-kubernetes</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-lambda-with-sam-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-api-gateway-and-lambda-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-docs-to-github-pages-with-mkdocs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-firebase-functions-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-gcp-infra-with-terraform-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-on-tag-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-only-the-changed-app-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-deploy-only-changed</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-deploy-per-branch-environment</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/matrix-of-deployment-environments-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-a-multi-account-aws-setup-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-azure-web-app-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-app-engine-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-aws-app-runner-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-aws-via-oidc-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-aws-with-terraform-and-oidc-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-azure-functions-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-cloudflare-pages-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-cloudflare-pages-with-wrangler-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-ecs-fargate-with-task-definition-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-eks-with-aws-auth-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-elastic-beanstalk-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-fly-io-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-github-pages-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-gke-with-kubectl-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-gke-with-helm-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-google-cloud-run-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-app-to-cloud-run-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-to-kubernetes-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-kubernetes-with-kubectl-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-green-deploy-regions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-multiple-environments-sequentially-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-multiple-gcp-projects-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-multiple-clusters-with-matrix-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-netlify-from-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-netlify-cli-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-vercel-from-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-vercel-cli-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-aws-cdk-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-aws-sam-build-deploy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-cloud-build-from-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-helm-upgrade-install-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-kustomize-from-ci-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-serverless-framework-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-least-privilege-role-design</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-destroy-ephemeral-environments</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-monorepo-affected-detection</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-breaking-change-detection</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-paths-filter-action</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-detect-changed-files-paths-filter</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-git-diff-changed-files</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/detect-changed-packages-with-pnpm-filter-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/detect-config-drift-with-argo-cd-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/detect-flaky-tests-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/detect-hardcoded-strings-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-detect-missing-migrations</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-baseline-comparison-regression-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-schema-drift</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/detect-schema-drift-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-stale-flag-detection-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-drift-detection-scheduled-plan</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/diff-an-argo-cd-app-from-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/diff-manifests-before-apply-in-ci-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/disable-a-scheduled-workflow-on-forks-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-disable-animations-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dismiss-stale-reviews-branch-protection</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-dispatch-deploys-across-repos</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-distribute-testflight</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-firebase-app-distribution</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-distribute-google-play</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/blue-green-deploy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/blue-green-ecs-deploy-with-codedeploy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/canary-deploy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/canary-lambda-deploy-with-aliases-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-canary-rollout</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-percentage-rollout</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-shallow-clone-checkout</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-atomic-deploys</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-zero-downtime-expand-contract</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-document-pipeline-control-mapping</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/download-all-artifacts-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/download-artifact-from-another-workflow-run-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/download-artifact-from-another-workflow-run-by-id-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/download-an-artifact-same-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/download-an-artifact-into-a-deploy-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/download-an-artifact-to-a-specific-path-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-release-drafter</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/draft-release-notes-with-release-drafter-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-conditional-jobs-with-outputs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-gitops-driven</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-nx-release-conventional-commits</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-drop-column-safely</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-dry-run</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-dry-run-plan</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dump-and-restore-database-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-logs-on-failure-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dynamic-matrix-fromjson-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-annotations-error-command</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/status-check-annotations-from-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-structured-logging-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-branch-vs-line</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dependabot-vulnerability-alerts</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-github-push-protection</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-gradle-incremental-build</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enable-long-paths-on-windows-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-pr-decoration-comments</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/renovate-automerge</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/renovate-lockfile-maintenance</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enable-runner-diagnostic-logging-actions-runner-debug-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-self-service-secrets-requests</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enable-step-debug-logging-actions-step-debug-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/debug-a-workflow-with-step-debug-logging-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enable-github-merge-queue</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-gradle-remote-build-cache</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-turbosnap-changed-stories-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-service-ownership-codeowners</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/encrypt-a-file-with-age-in-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/encrypt-artifacts-before-upload-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/encrypt-secrets-with-sops-for-gitops-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-a-build-time-budget-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-bundle-size-with-size-limit-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-code-coverage-threshold-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-cognitive-complexity-limit</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-a-docker-image-size-budget-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-threshold-go</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-a-lighthouse-budget-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-performance-budgets-p95-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-enforce-checklist</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-semantic-squash-title</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secure-pipeline-policy-enforcement-verify-before-deploy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-an-accessibility-score-threshold-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-org-required-workflows</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-branch-naming-conventions-automation</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-conventional-commits-in-ci-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-conventional-commits-with-commitlint-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-patch-diff</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-data-residency-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-deployment-freeze-windows</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-deployment-window-freeze</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-lighthouse-ci-performance-budgets</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-lockfile-integrity-npm-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-package-boundaries-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-danger-js-review-rules</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-prose-style-with-vale-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-require-reviewers-change-management</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/enforce-required-status-checks-with-branch-protection-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-danger-js-review-rules</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-separation-of-duties</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-choice-memory-disk-per-job</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/exclude-include-matrix-combos-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/exclude-files-from-an-artifact-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-exclude-files</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-exclude-generated-code</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-exclude-test-fixtures</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-export-onnx-torchscript-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-export-traces-datadog</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-export-build-traces-honeycomb</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-export-traces-jaeger-tempo</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-prometheus-pushgateway</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-exporting-results-junit-json</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/factor-steps-into-a-composite-action-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-choice-queue-time-considerations</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-choice-region-and-latency</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fail-pr-if-bundle-grows-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-diff-size-check</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fail-pr-touching-multiple-packages-without-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fail-a-pr-on-benchmark-regression-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-fail-pr-on-quality-gate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-duplication-threshold-gate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fail-on-console-log-in-code-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-threshold-jest</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-threshold-pytest</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fail-fast-to-cut-wasted-minutes-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fail-build-on-coverage-drop-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-fail-on-lint-errors-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fail-build-on-new-flakes-not-known-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-fan-out-aggregate-coverage</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fetch-secrets-from-aws-secrets-manager-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fetch-secrets-from-gcp-secret-manager-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-vault-jwt-auth</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fetch-secrets-from-hashicorp-vault-with-oidc-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fetch-ssm-parameter-store-values-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-event-filtering</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-bazel-query-rdeps</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-git-diff-changed-files</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-self-hosted-vs-hosted-breakeven</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-most-expensive-workflows</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-debug-no-openidconnect-provider</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/merge-queue-stuck-expected-check</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-debug-id-token-request-url-not-set</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-shallow-clone-fetch-depth-blame</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-flaky-visual-tests-freeze-time-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/required-checks-not-running-on-merge-group</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fix-secrets-cannot-be-accessed-reusable-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-required-checks-conditional-jobs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-shell-key-requirement</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/free-disk-space-before-docker-build-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-schemathesis-openapi-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-deploy-behind-environment-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-deploy-on-external-approval-api-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-gate-deploy-on-success</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-a-deploy-on-the-branch-with-an-if-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-can-i-deploy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-a-gitops-promotion-with-pr-approval-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-k6-thresholds-as-a-gate-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/environment-gated-production-deploy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-health-check-gate-promote</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-a-release-on-manual-approval-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-on-a-custom-script-exit-code-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-api-response-time-gates-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-deploy-on-successful-staging-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-deploys-with-environment-protection-rules-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-merges-on-required-checks-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-code-smells-gate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-new-code-vs-overall-gate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-tech-debt-ratio-gate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-production-behind-a-manual-approval-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-gate-promotion-on-slo</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-environment-approval-gate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-readiness-gate-before-traffic</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-dotnet-coverlet</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-a-changelog-with-conventional-changelog-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-a-changelog-with-git-cliff-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-a-coverage-badge-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-sbom-cdxgen-npm</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-app-create-installation-token-workflow</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dynamic-job-matrix-from-changed-dirs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-sitemap-robots</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-sbom-provenance</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-sbom-with-syft-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-generate-sbom-syft</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-an-sbom-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-and-attest-an-sbom-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-code-coverage-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-and-upload-an-html-report-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-and-upload-an-sbom-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-api-docs-and-publish-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-fastlane-snapshot-screenshots</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-generate-catalog-and-lineage</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-go-coverprofile</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-jacoco-java</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-jest-generate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-c8-nyc-node</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-per-package-changelogs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-preview-environments-with-argo-cd-applicationset-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-pytest-cov-generate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-release-notes-from-prs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-rust-llvm-cov</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-simplecov-ruby</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-slsa-build-provenance-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-terraform-docs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/get-a-stack-trace-from-a-crashed-step-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-docker-consistent-rendering-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-fail-fast-false-full-results</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gitops-deploy-by-committing-to-config-repo-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-gpu-in-container-toolkit-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/give-runner-aws-access-via-instance-role-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-test-database-service-containers-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/name-matrix-jobs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-least-privilege-iam</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-github-id-token-write-permission</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/group-concurrency-by-workflow-and-ref-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/group-dependabot-updates</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/renovate-group-dependencies</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/group-log-output-with-collapsible-sections-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/group-monorepo-dependency-updates</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-guarded-commands-environment-protection-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/hand-a-secret-from-one-step-to-the-next-securely-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-2fa-automation-tokens</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/flaky-required-check-blocking-queue</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-repository-dispatch-command-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-handle-stale-state-lock</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-secrets-auth-for-load-tests-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-auth-tokens-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/badge-caching-camo-proxy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-monorepo-branching</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-on-self-hosted-runners</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-changed-files-pr-vs-push</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/handle-crlf-line-endings-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-cross-os-rendering-container-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/handle-failing-dependency-update-prs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-sharding-and-flakiness-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-git-lfs-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-token-rate-limits-by-type</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-oom-memory-limit-handling-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-handle-large-binaries</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-secrets-broker-token</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/handle-path-separators-in-windows-scripts-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/handle-scheduled-run-delays-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/shell-differences-bash-pwsh-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/canceling-higher-priority-run-message-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-first-build-no-base</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/handle-no-files-were-found-warning-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-ryuk-resource-reaper-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-retry-idempotency-delivery</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/windows-path-line-ending-gotchas-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/harden-the-runner-with-egress-policy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-container-escape</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secure-pipeline-harden-runner-egress</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-harden-runner-host</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-hold-unhold-merge-gating-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-retest-rerun-failed-command-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-promote-to-prod-command-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-rebase-command-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-prow-style-commands-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/import-signing-certificate-keychain-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-sonarqube-import</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-import-existing-resources</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-import-coverage-into-sonar</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/increase-tool-verbosity-with-verbose-flags-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-increment-build-number</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/inherit-secrets-in-a-reusable-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-sdk-init-in-test-env</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-env-vars-build-time</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/inject-secrets-with-doppler-cli-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/inspect-the-event-payload-github-event-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/install-pinned-kubectl-version-in-ci-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-ios-manual-provisioning-p12</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/install-tool-with-chocolatey-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/install-tool-with-homebrew-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/install-tool-with-winget-or-scoop-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/install-from-a-shared-lockfile-monorepo-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/install-the-windows-sdk-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-instrument-github-actions-opentelemetry</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/invalidate-a-cache-by-bumping-the-key-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/invalidate-a-cloudfront-cache-after-deploy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-db-isolation-per-worker</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-isolate-per-job</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-central-ci-config-templates</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-immutable-audit-logs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fail-fast-false-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-full-vs-external-training-cost-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dependabot-for-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-token-mask-in-logs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-sbt-incremental-compile</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-patching-images</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-dependabot-update-pinned-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/keep-merge-queue-fast</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/label-prs-by-size-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-multi-file-overrides-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-app-bypass-required-reviews</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/job-level-concurrency-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-artifact-retention</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/limit-matrix-with-max-parallel-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/renovate-rate-limits-and-concurrency</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-link-change-tickets-deploys</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-openapi-lint-spectral-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-lint-python-ruff-mypy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/lint-dockerfiles-with-hadolint-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/lint-for-missing-alt-text-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/lint-markdown-with-markdownlint-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/lint-only-changed-files-monorepo-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-only-lint-changed-files</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/lint-shell-scripts-with-shellcheck-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-lint-sql-with-sqlfluff</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/lint-sql-with-sqlfluff-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/lint-yaml-with-yamllint-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-changed-files-tj-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-image-into-runner-for-testing-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-secrets-from-aws-secrets-manager-action-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-secrets-from-azure-key-vault-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-huggingface-datasets-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-secrets-from-1password-service-account-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-against-staging-preview-url-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-lock-stale-conversations</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-experiment-tracking-wandb-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-login-ecr-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-login-acr-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-login-docker-hub-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-login-ghcr-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-login-gar-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-incident-rollback-logging</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-reusable-workflow-library</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-quality-gate-required-check</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/make-a-script-fail-the-job-on-error-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-backward-compatible-changes</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-required-check</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-pin-cuda-torch-reproducibility-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-cross-repo-dependency-updates-renovate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-disk-space-management</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-config-as-code</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-feature-flags-long-running-work</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-secrets-management-signing</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/manage-multiple-clusters-with-argo-cd-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-npm-dist-tags</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/manage-preview-environment-secrets-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-stacked-prs-diffs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-lifecycle</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-choice-ubuntu-latest-migration-risk</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/workflow-dispatch-inputs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-gitflow-ci-mapping</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mark-test-as-flaky-with-tracking-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-required-inputs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mask-a-custom-secret-in-logs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mask-a-custom-value-in-logs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mask-a-runtime-token-in-workflow-logs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mask-a-secret-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-mask-dynamic-regions-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/match-strings-with-contains-startswith-endswith-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/matrix-os-plus-version-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-matrix-cuda-torch-versions-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/matrix-deploy-to-multiple-regions-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-measure-false-positive-rate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-measure-queue-time</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/measure-cold-start-latency-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/measure-web-vitals-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-cost-per-pipeline</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-cost-savings</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-measure-dora-metrics</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-measure-actions-minutes-usage</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-measure-platform-adoption</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-measure-energy-carbon</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-measuring-impact</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-docker-requirement-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/merge-coverage-from-sharded-jobs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/merge-multiple-artifacts-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-jenkins-declarative-to-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-deploy-stage-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-docker-build-push-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-jenkins-shared-library-to-reusable-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-manual-approval-gate-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-serverless-branch-db</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-cache-config-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-incremental-strategy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-services-databases-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-from-azure-pipelines-to-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-from-bitbucket-pipelines-to-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-from-circleci-to-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-drone-ci-to-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-from-gitlab-ci-to-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-from-travis-ci-to-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-github-hosted-jobs-to-self-hosted-runners-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-gitlab-cache-artifacts-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-jenkins-credentials-to-secrets-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-reusable-pipeline-pattern-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-scheduled-builds-cron-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-secrets-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-self-hosted-agents-to-self-hosted-runners-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-test-reporting-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mint-a-github-app-token-instead-of-a-pat-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mint-a-temporary-database-password-in-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mirror-a-release-to-multiple-registries-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mirror-a-repo-to-another-remote-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-mock-replay-tests</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-mock-external-apis-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mock-external-apis-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-mock-flags-in-tests</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-environments</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-queue-time-self-hosted-runners</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monitor-self-hosted-runner-health-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-monitor-runner-utilization</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-monitor-anomalies</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-nightly-not-per-push</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dynamic-concurrency-group-by-input-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/name-an-artifact-dynamically-matrix-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/negate-a-condition-in-an-if-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/nest-reusable-workflows-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-container-networks-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-networking-test-runner-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/notarize-macos-app-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/notify-microsoft-teams-channel-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/notify-on-argo-cd-sync-status-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-self-service-deploy-approvals</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-self-service-environments</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-crossplane-provisioning</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-app-cross-repo-dependency-updates</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/order-jobs-by-dependency-graph-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/overwrite-an-existing-artifact-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tauri-multi-platform-packaging-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/electron-multi-platform-packaging-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-parallelize-by-package</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-parallelize-tradeoff</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-cypress-cloud</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/parallelize-lint-test-and-build-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/parallelize-packages-with-a-matrix-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-by-test-file</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/parallelize-tests-with-separate-schemas-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-parameterize-load-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-parse-command-args-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-a-build-output-to-a-deploy-job-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-a-json-object-to-a-reusable-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-a-multiline-string-output-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-a-secret-to-a-docker-build-with-buildkit-mount-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-an-env-var-between-steps-with-github-env-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-artifacts-between-jobs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-artifacts-to-a-deploy-workflow-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-build-args-vs-secrets-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-data-between-jobs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-env-secrets-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-inputs-to-a-composite-action-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-inputs-to-a-reusable-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-inputs-with-repository-dispatch-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-matrix-values-to-reusable-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-secrets-and-env-for-e2e-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-docker-action-secrets</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-secrets-to-a-reusable-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-secrets-to-a-script-safely-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-pass-variables-tf-var</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/password-protect-a-preview-environment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-choice-runner-for-docker-builds</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pin-base-image-by-digest-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pin-a-reusable-workflow-by-tag-or-sha-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pin-actions-to-a-commit-sha-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pin-actions-to-a-full-commit-sha-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pin-an-action-to-a-commit-sha-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-provider-lock-and-cache</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-pin-actions-sha</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-pin-actions-to-sha</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-image-pinning-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-pin-xcode-version</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-health-check-poll-until-200</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/post-benchmark-comment-on-prs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/post-bundle-size-delta-comment-on-a-pr-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/post-coverage-report-comment-on-a-pr-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/post-perf-benchmark-delta-comment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/post-slack-message-on-failure-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-post-slack-notification-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/post-status-to-external-dashboard-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-post-plan-as-pr-comment</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-pr-comment-with-diff-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-post-results-back-to-pr-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/post-test-results-as-a-check-run-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/post-the-preview-url-as-a-pr-comment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/prevent-concurrent-deploys-to-the-same-environment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-locking-advisory-lock</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/prevent-duplicate-preview-deploys-with-concurrency-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/prevent-duplicate-triggers-concurrency-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-prevent-duplicate-version</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secure-pipeline-prevent-script-injection</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/prevent-script-injection-from-untrusted-input-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-prevent-secret-exfiltration</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/prevent-secret-leaks-on-fork-pull-requests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/print-the-full-context-with-tojson-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-reproducible-builds-evidence</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/profile-a-slow-build-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/profile-a-slow-workflow-with-step-timings-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/promote-a-build-through-dev-staging-prod-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-environment-promotion-by-branch</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-promote-prerelease</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/promote-a-prerelease-to-stable-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/promote-an-environment-by-pr-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-promote-image-by-digest-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-propagate-version-bump</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-dependency-confusion</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-registration-token-protection</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-mysql-fixture-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-postgres-fixture-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-redis-fixture-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-team-scoped-runners</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-environment-provisioning-terraform</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/prune-removed-resources-on-apply-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-a-composite-action-to-the-marketplace-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-publish-to-marketplace</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-a-docker-image-tagged-by-release-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-docker-image-to-docker-hub-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-docker-image-to-ghcr-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-github-action-marketplace</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-github-pages-from-a-build-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-go-module</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-github-packages-gradle</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-helm-chart</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-a-helm-chart-to-a-registry-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-a-lambda-layer-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-a-lighthouse-report-as-an-artifact-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-github-packages-maven</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-maven-central</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-publish-to-hf-hub-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-monorepo-changesets</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-github-packages-nuget</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-prerelease-canary-branch</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-pypi-package-trusted-publishing-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-python-package-to-pypi-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-python-pypi-twine</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-python-package-to-testpypi-first-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-ruby-gem</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-rust-crate-cargo</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-vscode-extension</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-action-to-marketplace-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-an-action-to-the-marketplace-on-release-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-junit-report-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-publish-internal-package-consumers</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-npm-package-from-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-npm-package-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-github-packages-npm</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-npm-to-github-packages-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-npm-with-provenance</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-npm-package-with-provenance-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-coverage-to-codecov-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-publish-dbt-artifacts-on-deploy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-techdocs-setup</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-docs-on-release-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-junit-results-as-a-check-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-topological-publish-order</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-npm-provenance-oidc</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-npm-provenance-publish</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-combine-sharded-coverage-junit</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-only-on-tag-or-release</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-only-publish-changed-packages</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-org-starter-workflows</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-publish-pacts-broker</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-platform-artifacts-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-pnpm-workspaces-publish</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-storybook-to-chromatic-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-test-results-as-a-check-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-to-github-packages-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-to-npm-on-release-with-provenance-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-pypi-trusted-publishing</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-testpypi-first</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-yarn-workspaces-publish</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pull-private-base-image-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-dvc-pull-data-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pull-vault-secrets-with-vault-action-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-purge-cdn-after-deploy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-image-to-artifact-registry-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-to-amazon-ecr-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-to-docker-hub-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-image-multi-arch-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-multi-arch-image-to-ecr-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-sbom-to-a-registry-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-by-digest-create-manifest-list-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-app-push-to-protected-branch</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-aws-ecr-push</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-app-ghcr-packages-token</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-push-to-ghcr</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/quarantine-flaky-tests-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/quarantine-a-known-flaky-test-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/queue-deploys-without-canceling-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/queue-release-jobs-so-they-never-overlap-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-ratchet</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-baseline-ratchet-quality</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-rate-limiting</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-rate-limit-chat-commands-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/rate-limit-external-api-with-concurrency-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/re-run-a-workflow-with-debug-logging-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/re-run-only-failed-jobs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-react-to-command-comment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-ephemeral-ports-mapped-port-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/read-gcp-secret-manager-with-action-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/read-pull-request-labels-in-a-condition-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/read-secrets-from-aws-secrets-manager-in-a-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-consumer-provider-matrix</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/read-changed-files-in-a-step-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-payloads-events</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dependabot-rebase-and-recreate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-github-app-events</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-record-deployment-pact</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-record-deployment</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-reduce-artifact-size</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/reduce-checkout-time-with-shallow-clone-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-reduce-minutes-fewer-jobs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-reduce-minutes-caching</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-storage-artifacts-cache</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-reduce-data-egress</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/reduce-image-size-multi-stage-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/reduce-npm-ci-time-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/reference-a-reusable-workflow-output-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/reference-a-variable-with-the-vars-context-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/reference-matrix-values-in-a-step-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/matrix-include-exclude-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/register-a-self-hosted-runner-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-catalog-info-yaml</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-jit-tokens</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-scheduled-job-spend</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-relay-localhost-smee-ngrok</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-lerna-version-publish</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-changesets-add-version-publish</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-turborepo-changesets</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-semantic-release-multi</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-non-js-workspaces</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-nx-release-version-publish</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-safe-flag-removal</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/remove-matrix-combination-with-exclude-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-rename-column-safely</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/render-a-job-summary-table-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/render-manifests-in-ci-before-commit-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-avoid-polling-loops</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-measuring-and-reporting</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/reproduce-a-workflow-locally-with-act-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/conventional-commit-pr-title-check</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/required-deployment-environments-before-merge</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branch-protection-linear-history</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-require-linked-issue</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-permission-approval-changes</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branch-protection-up-to-date-branches</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/codeowners-required-reviews</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-conventional-commit-title</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-require-approval-before-deploy-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/require-manual-approval-environments-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-protected-branches-required-checks</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branch-protection-required-reviews</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-require-signed-commits</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-require-signed-commits</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/require-signed-commits-branch</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/require-signed-commits-on-protected-branches-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/status-check-required-branch-protection</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-require-tests-changed</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/rerun-only-failed-tests-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/resolve-branch-must-not-be-behind</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-rotate-leaked-secret</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/restart-a-deployment-from-ci-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gated-environment-deploy-with-approvals-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/restrict-a-workflow-to-specific-branches-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/restrict-an-environment-to-protected-branches-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secure-pipeline-restrict-github-token-permissions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/restrict-github-token-to-least-privilege-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-runner-groups-access</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-egress-harden-runner</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-restrict-workflows</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-restrict-who-can-run-commands-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/restrict-who-can-trigger-workflow-dispatch-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-retention-ci-logs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-a-failed-cypress-test-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-a-failed-go-test-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-a-failed-jest-test-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-a-failed-junit-test-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-a-failed-playwright-test-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-a-failed-pytest-test-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-a-failed-rspec-example-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-retry-a-step-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-a-flaky-script-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-a-flaky-step-automatically-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-a-flaky-step-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-retries-for-flaky-e2e-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-network-steps-with-a-backoff-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-only-on-infrastructure-errors-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-only-failed-matrix-legs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/return-outputs-from-a-composite-action-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/return-outputs-from-a-reusable-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/reuse-a-build-artifact-instead-of-rebuilding-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/reuse-a-service-container-across-steps-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/reuse-workflow-workflow-call-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-reuse-containers-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-reuse-auth-storagestate-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-security-hotspots-gate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-choice-right-size-cost-and-time</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-right-size-runners</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/roll-back-a-bad-release-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/roll-back-deployment-on-failure-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/rollback-a-deployment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-rollback-kubectl-helm</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/roll-back-a-gitops-deploy-with-git-revert-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/roll-back-on-failed-health-check-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-org-wide-policy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/rotate-a-leaked-credential-from-a-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/rotate-an-api-key-on-a-schedule-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/rotate-environment-secrets-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-token-rotation</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-rotate-registration-tokens</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/rotate-runner-registration-token-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-cheaper-runners-for-cheap-jobs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-labels-for-routing-jobs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-batch-cmd-step-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-blue-green-swap-traffic</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-matrix-across-os-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-bundle-size-check-on-prs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/canary-deploy-with-argo-rollouts-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-canary-aws-codedeploy-lambda</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-canary-percentage-traffic-shift</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-canary-release-with-manual-promotion-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-canary-argo-rollouts</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-canary-flagger-service-mesh</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-cloud-sql-migration-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-smoke-test-in-a-container-before-promote-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-dependency-audit-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-container-or-pod-per-job</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-hotfix-workflow-cherry-pick</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-job-after-another-workflow-completes-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-job-in-custom-container-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-job-in-container-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/schedule-job-weekdays-only-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-job-on-schedule-with-timezone-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-job-on-self-hosted-label-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-self-hosted-nvidia-runner-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-job-on-multiple-python-versions-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-job-only-if-a-condition-is-true-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-job-only-on-main-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-job-only-on-the-default-branch-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-job-when-label-added-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-job-on-release-published-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-job-with-elevated-permissions-safely-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-k6-load-test-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-license-check-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-lighthouse-accessibility-audit-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-long-job-with-heartbeat-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-manual-approval-gate-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-manual-rollback-workflow-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/matrix-across-node-versions-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/matrix-across-operating-systems-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/matrix-across-postgres-versions-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-matrix-of-stacks</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-matrix-only-on-certain-events-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-memory-leak-check-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-monorepo-build-with-path-filters-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-multiline-inline-script-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/nightly-cleanup-of-stale-branches-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-nightly-dependency-update-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-nightly-test-suite-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-node-script-step-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-broker-docker-vs-hosted</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-performance-regression-test-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-post-deploy-perf-smoke-test-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-postgres-container-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-service-container-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-powershell-script-step-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-pre-commit-check-script-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-prettier-check-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-preview-environment-with-feature-flags-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-python-script-step-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-release-train</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-reusable-workflow-across-repos-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-reusable-workflow-with-matrix-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-ring-based-deployment</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-scheduled-canary-check-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-scheduled-cleanup-job-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-scheduled-data-backup-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-scheduled-job-on-weekdays-only-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-scheduled-link-checker-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-scheduled-security-scan-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scheduled-stale-issue-closer-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-screen-reader-smoke-test-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-script-in-a-container-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-script-only-on-one-os-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-script-with-a-specific-interpreter-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-secrets-scan-on-prs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-security-scan-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-self-hosted-runner-as-systemd-service-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/badge-self-hosted-shields</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-repo-shell-script-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-smoke-test-after-deploy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-smoke-test-after-deploy-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-smoke-test-after-deploy-promote</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-smoke-test-against-production-after-deploy-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-smoke-test-in-a-container-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-sonarcloud-scan-quality-gate-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-spellcheck-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-step-only-when-files-changed-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-step-in-container-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-step-only-for-a-specific-label-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-step-only-if-a-condition-is-true-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-step-only-if-a-secret-is-set-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-step-on-failure-only-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-step-only-on-pull-requests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-step-only-on-the-main-branch-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-step-only-when-a-tag-is-pushed-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-step-with-status-check-functions-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-synthetic-monitoring-check</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-test-database-as-service-container-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-trivy-security-scan-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-typecheck-job-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-webpagetest-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-workflow-from-another-workflow-workflow-call-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-workflow-in-a-fork-pull-request-safely-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-workflow-on-a-cron-schedule-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-workflow-on-fork-safely-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-workflow-on-issue-comment-command-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-workflow-only-for-specific-file-types-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-on-changed-paths-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-only-on-tags-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-access-reviews-ci-secrets</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-accessibility-tests-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-alembic-rails</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-alembic-migrations-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-ab-test-rollout</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-ab-testing-deploy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-load-smoke-k6-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-ephemeral-self-hosted-runner-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-expo-eas-build</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-internal-action-registry</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-collector-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-an-rds-migration-via-lambda-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-run-schema-migrations-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-android-emulator-tests</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-preview-deployment-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-run-artillery-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-artillery-load-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-atlas-prisma</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-automated-checks-cis-tfsec</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-axe-core-accessibility-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-black-and-isort-checks-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-browser-tests-across-chrome-and-firefox-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-browser-tests-headless-chrome-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-run-bruno-collections-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-chromatic-storybook-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-low-carbon-regions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-spot-instances</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-spot-preemptible-interruption</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-codacy-analysis-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-codegen-once-and-share-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-codeql-analysis-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-self-hosted-runners-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-pact-consumer-provider-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-container-structure-tests-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-pact-contract-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-contract-verification-post-deploy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-cypress-e2e-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-cypress-record-parallel-cloud-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-run-cypress-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-ci-for-dagster-jobs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-data-driven-tests-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-migrations-against-service-container-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-database-migrations-as-job-before-deploy-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-database-migrations-before-deploy-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-run-migrations-before-tests-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-migrations-before-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-database-migrations-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-run-in-deploy-pipeline</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-database-migrations-on-deploy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-run-dbt-build-on-pull-request</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-different-steps-for-forks-vs-internal-prs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-different-steps-per-os-in-a-matrix-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-distributed-k6-operator-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-up-wait-healthy-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-dotnet-test-parallel</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-e2e-against-deployed-preview-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-run-against-preview-url-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-e2e-tests-against-a-preview-url-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-run-on-browserstack-sauce-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-e2e-with-playwright-upload-traces-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-e2e-against-staging-after-deploy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-e2e-tests-spanning-services</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-ephemeral-runners</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-ephemeral-runners-one-job-per-runner</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-eslint-and-annotate-prs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-expensive-e2e-only-on-main-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-fastlane-lanes</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-flyway-liquibase</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-flyway-migrations-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-run-gatling-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-gh-workflow-run-from-chat-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-go-test-parallel</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-gofmt-and-goimports-checks-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-gpu-jobs-on-self-hosted-runner-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-great-expectations-quality-gate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-hadolint-on-dockerfile-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-run-headed-with-xvfb-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-run-hurl-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-integration-tests-against-real-database-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-integration-tests-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-integration-tests-with-compose-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-integration-tests-with-compose-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-integration-tests-with-docker-compose-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-ios-simulator-tests</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-ios-tests-on-simulator-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-jest-axe-unit-accessibility-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-run-jmeter-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-jobs-in-parallel-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-self-hosted-runner-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-run-jobs-only-for-changed-paths</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-k6-cloud-from-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-run-k6-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-k6-load-tests-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-kafka-mongo-elasticsearch-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-kubeconform-on-manifests-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-lighthouse-ci-with-budgets-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-lint-and-tests-in-parallel-jobs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-liquibase-migrations-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-run-locust-headless-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-maven-gradle</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-separate-ci-job</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-canary-blue-green</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-cpu-vs-gpu-model-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-mutation-testing-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-mutation-tests-with-stryker-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-run-only-affected-e2e-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-only-affected-jobs-on-changed-paths-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-turbo-filter-affected</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-on-changed-paths-filter-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-changed-tests-only</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-only-latest-commit-in-pr-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-pa11y-accessibility-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-package-scoped-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-parallel-stacks-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/per-package-jobs-with-dorny-paths-filter-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-pester-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-playwright-axe-accessibility-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-playwright-component-testing-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-playwright-e2e-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-playwright-sharded-across-runners-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-run-playwright-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-run-postman-newman-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/renovate-post-upgrade-tasks</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-prisma-migrations-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-pytest-xdist</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-qlty-cli-analysis-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-renovate-self-hosted-action</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-pytest-requests-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-supertest-node-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-restassured-junit-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-nextest-rust</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-rustfmt-and-clippy-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-secrets-scanning</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-security-scanning-only-on-prs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-label-based-selective-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-selenium-grid-docker-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-self-hosted-runners-in-docker-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-shellcheck-on-scripts-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-smoke-tests-before-promoting-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-soda-checks-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-freshness-checks-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/conditional-steps-per-os-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-swiftlint-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-apply-on-merge-to-main</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-fmt-validate-check</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-terraform-fmt-and-validate-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-terraform-in-a-reusable-workflow-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-plan-on-pull-request</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-tests-across-os-matrix-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-tests-against-multiple-databases-matrix-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-tests-in-random-order-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-tests-on-a-schedule-and-alert-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-tests-on-windows-and-linux-matrix-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-tests-only-for-changed-files-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-openssf-scorecard-action</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-storybook-a11y-addon-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-visual-regression-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-visual-snapshots-in-e2e-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-run-only-on-relevant-changes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-run-webdriverio-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-xcbeautify-on-xcodebuild-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-db-migration-zero-downtime</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-pull-request-target-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/expand-a-context-value-safely-in-run-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/save-cache-only-on-default-branch</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-only-on-the-default-branch-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-scaffold-new-service</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scale-a-deployment-from-ci-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-scale-to-zero-idle</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-scale-to-zero-runners</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-scale-to-zero-when-idle</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scan-a-container-image-with-trivy-on-push-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scan-image-with-trivy-fail-on-high-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-scan-on-push-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-scan-build-logs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-container-image-layers</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-cloud-keys-aws-gcp-azure</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-pii-scanning</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scan-for-secrets-with-trufflehog-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-scan-full-history</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scan-iac-with-checkov-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-scan-diff-on-prs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-trufflehog-filesystem</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/schedule-a-cache-warm-up-on-default-branch-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/schedule-a-cloud-run-job-with-scheduler-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scheduled-dependency-update-with-dependabot-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-schedule-a-job-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/schedule-a-monthly-job-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/schedule-nightly-build-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/schedule-a-report-and-email-it-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-scheduled-retraining-pipeline-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/schedule-a-run-at-a-specific-timezone-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-carbon-aware-scheduling</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scheduled-cleanup-of-old-artifacts-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-scheduled-nightly-load-tests-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-scheduled-full-scans</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/renovate-schedule-and-timezone</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scope-a-cache-by-branch-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scope-a-concurrency-group-per-environment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scope-a-build-with-git-diff-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-aws-scope-trust-to-branch</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/seal-secrets-with-kubeseal-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secure-self-hosted-runner-public-repo-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-secure-endpoint-secret-ip</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-security-ephemeral-never-public</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-database-seed-before-integration-tests-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/seed-test-database-before-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/seed-a-test-database-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/seed-data-into-a-preview-environment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-seed-sample-data-for-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-seed-test-data-before-e2e-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-segregate-prod-credentials</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/select-xcode-version-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-test-impact-analysis</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/send-deployment-status-to-slack-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/send-discord-webhook-notification-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-gh-api-dispatch</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/notify-slack-with-build-status-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-send-on-deploy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/send-email-on-build-failure-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-outbound-post-curl</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-ephemeral-responses-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-slack-discord-teams-from-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-data-vs-schema-migrations</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-separate-dev-prod-warehouses</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/renovate-major-vs-minor-updates</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-security-separate-prod-nonprod</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/serialize-deploys-with-a-concurrency-queue-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/serialize-production-deploys-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/actions-cache-key-and-restore-keys-basics</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-coverage-plus-perf-gate-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-commit-status-from-a-script-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-commit-status-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/concurrency-group-per-branch-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-runner-concurrency-limit-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-custom-audience</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-custom-retention-window-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-database-url-secret-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-default-environment-variable-for-all-jobs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-global-env-var-for-the-whole-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/aggregate-matrix-job-outputs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-job-timeout-minutes-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-job-timeout-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-matrix-from-previous-job-output-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-pending-commit-status-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-step-timeout-to-kill-hangs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-step-output-conditionally-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-step-output-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-timeout-per-step-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-wait-timer-before-a-deploy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-environment-variable-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-env-var-in-powershell-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-an-output-and-consume-it-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-slo-build-time-budget</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-artifact-compression-level-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-artifact-retention-days-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-billing-alerts-budgets</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-cache-headers-assets</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-ci-triggers-per-branch</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-resource-limits-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/concurrency-on-reusable-workflow-called-job-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-concurrency-on-a-reusable-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-concurrency-to-cancel-old-runs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-coverage-duplication-maintainability-thresholds</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-default-input-values</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-environment-variables</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-environment-specific-values</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-environment-specific-variables-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-fetch-depth-for-diff</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-app-permissions-and-installation</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-job-dependencies-needs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-lighthouse-category-thresholds-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-canary-metric-gates-argo</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-outputs-from-a-bash-step-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-set-outputs-github-output</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-permissions-for-a-called-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-permissions-for-github-token-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-erroractionpreference-to-fail-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-cpu-and-memory-for-a-service-container-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/semantic-commit-messages-dependency-updates</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-sensible-job-timeouts-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-env-vars-base-url-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-base-path-subdirectory</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-default-shell-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-default-shell-to-powershell-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-image-tag-dynamically-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-working-directory-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-time-budget-and-timeouts-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-custom-domain-dns</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-flux-gitrepository-kustomization-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-local-cache-on-self-hosted-runner-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/matrix-of-os-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-a-merge-queue-for-a-monorepo-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-up-monorepo-pipeline-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-monorepo-release-with-changesets-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/setup-postgres-and-redis-service-for-tests-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-registry-mirror-buildkit-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-self-hosted-runner-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/setup-a-specific-dotnet-version-windows-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-actions-runner-controller-kubernetes-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-app-store-connect-api-key-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-app-of-apps-argo-cd-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-applitools-eyes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-bi-directional</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/blue-green-cloud-run-with-tags-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branch-deploy-previews-with-vercel-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-cache-busting-fingerprinting</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-canary-then-full-rollout-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-dotnet-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-django-postgres-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-monorepo-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-nextjs-app-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-react-app-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-spring-boot-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-swift-package-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-bun-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-cpp-cmake-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-deno-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-elixir-mix-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-github-flow-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-gitlab-flow-environment-branches</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-go-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-java-gradle-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-java-maven-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-kotlin-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-nodejs-npm-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-nodejs-pnpm-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-nodejs-yarn-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-php-laravel-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-python-pip-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-python-poetry-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-python-uv-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-release-branches-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-rails-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ci-for-rust-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-forking-workflow-oss</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/branching-trunk-based-development-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/code-quality-codeclimate-analysis-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-codeql-on-a-schedule-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-dbt-slim-ci-defer-state</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-dependabot-version-updates</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-detect-secrets-baseline</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-flagsmith-setup-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-git-secrets-aws</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-ggshield-gitguardian</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gitlab-merge-trains-equivalent</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-gitleaks-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-ios-signing-fastlane-match</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-launchdarkly-setup-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-percy-setup-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-playwright-tohavescreenshot-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-progressive-delivery-auto-rollback</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-provider-states</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/setup-python-on-windows-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-renovate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-ruby-bundler-for-fastlane-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-runner-groups-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-service-scorecards</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-split-setup-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-dotnet-setup-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-go-setup-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-junit-java-setup-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-node-jest-setup-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-python-pytest-setup-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-trufflehog-verified-only</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-unleash-setup-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-shadow-mirror-traffic</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/shard-jest-tests-across-runners-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-jest-shard</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-shard-playwright-across-matrix-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-playwright-shard-merge-reports</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/shard-tests-across-parallel-jobs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/shard-tests-across-runners-with-matrix-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-matrix-shard-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-vitest-shard</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/share-a-build-cache-across-monorepo-packages-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/share-a-cache-between-workflows-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/share-a-docker-image-as-an-artifact-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-reusable-workflow-central-repo</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/share-a-script-across-jobs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/share-actions-across-an-org-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-shared-composite-actions-repo</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/share-env-vars-across-steps-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-org-level-secrets</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-org-dot-github-workflows</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-ship-logs-loki-elk</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-ota-codepush-eas-update</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/badge-specific-branch-event</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/show-a-workflow-status-badge-in-the-readme-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-shut-down-idle-resources</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sign-container-image-with-cosign-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-sign-image-cosign-keyless-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sign-image-with-cosign-keyless-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sign-windows-binary-with-signtool-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-sign-android-keystore</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-sign-artifacts-cosign-keyless</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sign-artifacts-with-cosign-keyless-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sign-commits-in-automated-pr-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sign-release-artifacts-with-cosign-on-release-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-resource-sizing-load-generators-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-skip-ci-with-commit-message-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/skip-job-on-forks-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/skip-a-matrix-leg-conditionally-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/skip-a-scheduled-run-conditionally-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/skip-a-step-when-a-file-did-not-change-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-skip-ci-for-docs-changes</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/skip-ci-on-docs-only-changes-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/skip-ci-with-commit-message-github-actions-2</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-skip-duplicate-runs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-skip-duplicate-runs-concurrency</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-skip-redundant-runs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/skip-unaffected-e2e-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-dependency-aware-skipping</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-smoke-test-critical-journeys</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/smoke-test-after-deploy-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-distributed-training-smoke-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-smoke-test-training-one-step-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-per-browser-per-viewport-snapshots-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/source-a-shared-shell-library-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sparse-checkout-a-subdirectory-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sparse-checkout-one-package-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-sparse-checkout-subdirectory</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-speed-up-checkout-flags</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-performance-parallelism-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/spellcheck-docs-with-cspell-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/spin-up-mariadb-service-for-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/spin-up-mysql-service-for-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/spin-up-postgres-service-for-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-spin-up-postgres-service-for-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/spin-up-redis-service-for-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/spin-up-mongodb-service-for-tests-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-split-test-suite</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/split-test-suite-into-parallel-jobs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/restore-and-save-cache-separately</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-pytest-split-timings</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-split-by-timing-junit</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/split-tests-by-timing-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-dynamic-test-splitting</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-traffic-split-istio-nginx-alb</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ssh-into-a-failed-runner-with-tmate-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/stagger-multiple-scheduled-jobs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-developer-portal-setup</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-composite-action-standard</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-ec2-github-runner-action-per-job</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-spin-up-api-wait-on-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/stop-secrets-leaking-into-logs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-app-private-key-and-app-id-secrets</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/store-a-multiline-secret-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-store-trend-results-grafana</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/store-and-use-an-encrypted-secret-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/store-build-artifacts-for-90-days-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-reg-suit-s3-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sync-a-folder-to-s3-for-static-hosting-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sync-an-argo-cd-app-from-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/sync-labels-from-a-config-file-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-sync-files-bot-prs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tag-image-by-git-sha-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-image-tag-strategy-metadata-action-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/target-jobs-with-runner-labels-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-teardown-volumes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tear-down-a-preview-environment-when-a-pr-closes-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tear-down-preview-on-pr-close-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/status-check-vs-check-run-vs-commit-status</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dependabot-security-vs-version-updates</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-custom-action-in-ci-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-test-a-custom-action</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-graphql-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-grpc-grpcurl-ghz-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-test-handler-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-browser-matrix-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-android-api-level-matrix</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/matrix-of-database-engines-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-against-multiple-database-engines-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-against-multiple-node-and-os-combos-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-test-both-states-matrix</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-test-incremental-models</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-test-up-down-reapply</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-mixed-precision-check-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-test-inference-serving-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-viewport-matrix-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-test-notebooks-with-nbmake</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-multiple-java-versions-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-multiple-node-versions-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-on-arm-runners-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-test-only-changed-modules</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-pants-changed</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-ci-for-prefect-flows</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-test-sql-transformations-with-duckdb</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-webhooks-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-trace-a-failed-build</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/track-benchmarks-over-time-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-change-failure-rate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-flags-monorepo</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-deployment-frequency</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-track-job-duration</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-retry-failure-rate-tracking</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-trigger-dbt-cloud-job-from-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-deploy-from-pr-comment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-label-triggered-deploy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-a-downstream-deploy-on-release-published-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-trigger-workflow-manually-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-trigger-workflow-dispatch-gh-api</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-deploy-hooks-netlify-vercel</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-schedule-weekdays-only-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-workflow-run-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-slack-slash-command-to-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-via-repository-dispatch-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-workflow-from-webhook-repository-dispatch-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-app-trigger-workflow-in-another-repo</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-a-workflow-from-another-repo-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-trigger-workflow-repository-dispatch</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-with-workflow-dispatch-inputs-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-discussion-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-milestone-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-pull-request-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-schedule-cron-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-tag-push-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-issue-comment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-deployment-status-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-push-to-branches-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-only-for-specific-actor-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-merge-to-main-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-file-glob-match-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-label-added-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-release-published-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-review-requested-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-fork-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-trigger-ci-repository-dispatch</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-docker-registry-hooks</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-path-filters-on-triggers</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-mattermost-discord-commands-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-on-changed-paths-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-webhooks-trigger-verify</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-cloud-hcp-runs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/badge-troubleshoot-stale</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-entropy-vs-regex</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/merge-queue-batching-build-concurrency</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-parallel-workers-playwright-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-turn-off-unused-schedules</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/understand-cache-scope-across-branches</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-test-pyspark-jobs-with-local-spark</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/update-image-tag-in-config-repo-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-upgrade-runner-version</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-a-build-artifact-v4-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-a-coverage-report-as-an-artifact-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-dsym-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-a-large-artifact-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-a-sarif-report-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-a-single-file-as-an-artifact-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-a-windows-build-artifact-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-with-a-wildcard-glob-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-upload-artifacts-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-upload-codecov</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-coverage-to-codecov-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-upload-coveralls</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-cross-platform-binaries-to-a-release-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-logs-as-an-artifact-on-failure-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-multiple-paths-as-one-artifact-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-upload-playwright-traces-on-failure-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-screenshots-on-failure-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/secret-scan-setup-sarif-code-scanning</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-snapshot-artifacts-on-failure-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/upload-test-results-as-an-artifact-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-toolkit-core-and-exec</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-bazel-remote-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-a-boolean-input-in-an-if-condition-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-cloud-gpu-runner-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/composite-action-to-dry-steps-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-a-concurrency-group-per-environment-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/concurrency-group-per-pull-request-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-token-deploy-keys-alternative</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-role-per-environment</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/flaky-test-detection-services-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-just-in-time-runner-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-a-larger-runner-for-heavy-builds-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-choice-larger-runner-for-test-parallelism</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-local-action-uses-dot-slash</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-a-local-composite-action-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-a-makefile-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-manifest-repo-versions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-matrix-build-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-a-matrix-of-environments-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-partial-clone-blobless</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-private-proxied-registry</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-pull-through-cache-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-reusable-workflow-github-actions</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-a-reusable-workflow-per-environment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-reusable-workflow-with-secrets-inherit-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-concurrency-group-for-singleton-job-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-a-task-runner-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/throwaway-database-per-job-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-warm-pool-cut-cold-starts</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-warm-pool-to-cut-cold-starts-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-github-script-for-api-calls-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dependabot-allow-and-ignore-rules</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/mobile-ci-app-store-connect-api-key</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-an-env-var-in-an-if-condition-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/share-env-var-across-jobs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-argo-cd-image-updater-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-argo-rollouts-progressive-delivery-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-arm-runners</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-artifacts-across-a-reusable-workflow-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/badge-readme-vs-docs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-branch-protection-control</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-buildkit-inline-cache-docker-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-calver-calendar-versioning-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/docker-compose-profiles-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-conditionals-in-composite</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/continue-on-error-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-service-containers-for-e2e-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-dbt-tests-as-quality-gate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-gcp-direct-workload-identity</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-dispatch-types-named-args-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-environment-secrets-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-environment-scoped-secrets-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-environment-scoped-variables-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-ephemeral-runners</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-fastlane-match-code-signing-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-trunk-based-development</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-choice-free-minutes-by-plan</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-generic-container-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-with-actions-importer-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-setup-terraform-wrapper</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-helm-with-argo-cd-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-immutable-tags-vs-latest-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-jest-image-snapshot-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-jit-runners-registration-token</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-kustomize-overlays-per-environment-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/nx-cloud-distributed-execution-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-warehouse-creds-with-oidc</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-self-hosted-runners</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-oidc-per-environment-with-different-roles-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-oidc-to-authenticate-to-google-cloud-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-oidc-with-hashicorp-vault-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-openfeature-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-use-other-actions-inside-composite</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-matrix-outputs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/green-ci-path-filters</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-pending-pacts</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/per-os-cache-keys-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/qemu-emulation-arm-builds-crossplat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/compliance-required-status-checks-control</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-restore-keys-for-partial-cache-hits-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-runner-groups-for-access-control</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-choice-runner-groups</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-choice-runs-on-syntax-and-labels</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-scalar-git-maintenance</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-sealed-secrets-in-gitops-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-use-secrets-in-an-action</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-service-containers-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-set-euo-pipefail-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-slash-command-dispatch-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-spot-instances-self-hosted</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/tf-ci-workspaces-per-environment</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-cloud-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-backstopjs-reference-test-approve-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/setup-node-built-in-cache-input</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-hit-output-conditional-restore</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/large-repo-commit-graph-speedup</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-compose-module-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/testcontainers-localstack-module-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/merge-queue-with-matrix-builds</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/merge-group-trigger-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-strategy-recreate-strategy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-rekor-transparency-log</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/renovate-dashboard-issue</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/incremental-ci-tsc-incremental</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/turborepo-remote-cache-in-ci-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-turborepo-remote-cache-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-visual-studio-build-tools-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-a-helm-chart-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-payload-validation-schema</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-validate-airflow-dags-import-test</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-dredd-contract-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-aria-attributes-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-validate-data-before-training-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-validate-data-contracts</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-i18next-translation-files-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-inputs-validation</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-json-schemas-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-manifests-with-kubeconform-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-manifests-with-kubeconform-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-migrations-are-reversible-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-open-graph-meta-tags-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-openapi-validation</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-openapi-specs-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/data-pipeline-validate-orchestrator-config</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-sitemap-xml-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-blue-green-cutover</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-canary-analysis-argo-rollouts</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-cdn-cache-purged</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/chatops-verify-command-author-maintainer-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-verify-cosign-signature</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/verify-a-provenance-attestation-before-deploy-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-provider-verification</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/webhook-verify-hmac-signature-256</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-verify-build-provenance</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/supply-chain-verify-checksums-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gpu-ml-verify-cuda-available-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-migrations-applied</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-dns-and-ssl</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-feature-flags-active</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-deployed-version-matches-sha</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-third-party-integrations</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-version-with-major-tag</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/version-a-monorepo-with-changesets-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/version-action-with-major-tags-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/registry-version-from-git-tag-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/version-and-publish-with-changesets-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/monorepo-release-rush-publish</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-template-versioning-renovate</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-versioning-branches-tags</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/wait-for-database-ready-healthcheck-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-wait-for-downstream-workflow</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/release-verify-wait-for-rollout-healthy</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/wait-for-rollout-after-deploy-kubernetes-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/e2e-start-server-and-test-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-wait-for-service-ready-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/visual-testing-wait-for-fonts-network-idle-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/warm-a-cache-with-a-scheduled-job</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/warm-the-cache-on-the-default-branch-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-repo-polyrepo-vs-monorepo-tradeoffs</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ci-cost-larger-runners-tradeoff</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/test-parallel-cost-time-tradeoff-shards</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pr-automation-welcome-first-contributor</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/understand-cache-eviction-and-repo-limit</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/platform-backstage-software-template</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-write-a-composite-action</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-write-a-docker-container-action</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-write-a-javascript-action</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-pact-consumer-test</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/write-step-summary-github-actions</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/write-a-ternary-expression-in-a-condition-github-actions</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/feature-flags-targeting-rules</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/db-migrate-idempotent-migrations</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pipeline-observability-github-actions-job-summary</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/api-testing-rate-limit-aware-tests-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/contract-testing-what-and-when</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/load-test-when-not-to-load-test-in-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/custom-action-composite-vs-reusable-workflow</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-app-why-app-token-over-pat</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gh-token-machine-users-discouraged</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-why-federation-beats-static-keys</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/add-a-manual-job-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/badge-gitlab-pipeline-coverage</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-oidc-aws-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-gitlab-autoscaler-fleeting</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/runner-scaling-gitlab-kubernetes-executor</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/build-a-dag-pipeline-with-needs-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-build-multi-arch-docker-image-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/build-multi-arch-image-buildx-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/build-and-deploy-with-child-pipelines-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-build-docker-image-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/build-and-push-to-the-container-registry-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/build-docker-images-with-dind-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-dependencies-in-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-dependencies-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-dependencies-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-docker-layers-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-go-modules-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-maven-m2-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-node-modules-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-rust-target-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-concurrency-cancel-in-progress-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cancel-redundant-pipelines-with-interruptible-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-conditionally-skip-a-job-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/create-review-apps-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-docker-image-to-docker-hub-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-serverless-function-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/static-deploy-gitlab-pages</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-static-site-to-s3-and-cloudfront-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-on-a-git-tag-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-on-tag-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-a-vps-over-ssh-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-ecs-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-aws-via-oidc-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-aws-oidc-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-azure-via-oidc-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-gitlab-pages-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-cloud-run-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-to-kubernetes-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-kubernetes-kubectl-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-kubernetes-with-kubectl-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-kubernetes-with-the-agent-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-kubernetes-with-the-gitlab-agent-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-multiple-environments-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-with-environments-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-helm-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-fail-on-lint-errors-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-a-deploy-on-a-protected-environment-approval-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-a-production-deploy-with-a-manual-job-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/generate-a-dynamic-child-pipeline-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/include-remote-and-template-yaml-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/migrate-github-actions-to-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pass-artifacts-between-jobs-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-pass-variables-between-jobs-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-docker-to-gitlab-registry-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-npm-package-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-to-package-registry-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-require-approval-before-deploy-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-retry-a-step-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/retry-flaky-jobs-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/roll-back-a-deployment-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-blue-green-deploy-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-canary-deploy-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-matrix-across-os-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-job-in-container-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-job-manually-with-inputs-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-on-changed-paths-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-job-only-on-main-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-parallel-matrix-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-parallel-test-matrix-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-service-container-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-scheduled-pipeline-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-smoke-test-after-deploy-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-trivy-scan-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-database-migrations-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-database-migrations-on-deploy-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-docker-in-docker-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-private-runners-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-parallel-matrix-jobs-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-merge-request-pipelines-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-security-scan-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-sast-scanning-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/schedule-a-nightly-deploy-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-schedule-a-job-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-commit-status-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-job-timeout-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-a-job-timeout-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-environment-variable-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-merge-request-pipeline-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-up-monorepo-pipeline-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-environments-and-deployments-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-up-review-apps-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-up-review-apps-per-merge-request-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-up-stages-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-code-coverage-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/coverage-ci-gitlab</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-skip-ci-with-commit-message-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-trigger-pipeline-manually-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-a-multi-project-pipeline-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-upload-artifacts-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-cicd-catalog-component-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-reusable-component-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-a-service-container-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-cicd-components-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-cicd-variables-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-dynamic-child-pipelines-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-extends-and-anchors-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-includes-templates-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-needs-dag-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/oidc-keyless-gitlab-id-tokens</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-parent-child-pipelines-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-protected-and-file-variables-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-protected-variables-for-prod-secrets-with-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-conditional-jobs-with-rules-gitlab-ci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-rules-only-except-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/rules-if-branch-pipelines-gitlab-ci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-secrets-gitlab-ci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-manual-approval-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/add-ssh-keys-deploy-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/approve-a-production-deploy-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-oidc-aws-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-concurrency-cancel-redundant-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fan-in-fan-out-workflow-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-build-multi-arch-docker-image-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-build-docker-image-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-docker-image-remote-docker-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/build-with-remote-docker-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-dependencies-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-docker-layers-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-gradle-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-with-restore-keys-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/choose-docker-vs-machine-executor-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-conditionally-run-job-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/define-reusable-commands-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-static-site-s3-cloudfront-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-on-tag-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-on-version-tag-filter-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-only-main-branch-filter-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-s3-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-vps-over-ssh-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-ecs-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-eks-kubectl-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-aws-oidc-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-aws-eks-orb-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-cloud-run-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-heroku-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-to-kubernetes-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-multiple-regions-matrix-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-netlify-cli-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-helm-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/blue-green-deploy-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/canary-deploy-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-fail-on-lint-errors-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/filter-workflow-by-branch-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/filter-workflow-by-tags-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gated-prod-deploy-approval-context-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-coverage-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-node-orb-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-pass-data-between-jobs-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-persist-to-workspace-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-post-slack-notification-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-a-package-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-package-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-image-to-ecr-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-require-approval-before-deploy-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/rollback-a-deploy-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-matrix-across-os-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-security-scan-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-job-locally-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-on-branch-pattern-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-job-only-on-main-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-job-on-success-or-failure-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-service-container-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scheduled-deploy-pipeline-trigger-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/windows-executor-job-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-cypress-tests-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-migrations-before-deploy-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-database-migrations-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-docker-compose-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-self-hosted-runner-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-on-self-hosted-runner-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-parallel-tests-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/schedule-nightly-pipeline-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-schedule-a-pipeline-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-job-timeout-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-environment-variable-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-up-monorepo-pipeline-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/setup-ssh-deploy-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-up-workflows-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/choose-resource-class-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/skip-ci-with-commit-message-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/split-tests-by-timing-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/ssh-into-failed-job-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-store-artifacts-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/store-test-insights-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-store-test-results-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-context-secrets-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-context-for-secrets-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-custom-docker-image-executor-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-docker-auth-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-matrix-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-approval-jobs-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-conditional-steps-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-contexts-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/dynamic-config-setup-workflow-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-executors-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-orbs-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-parameters-in-job-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-pipeline-parameters-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-pre-steps-post-steps-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-secrets-circleci</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-setup-remote-docker-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-macos-executor-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-path-filtering-orb-circleci</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-yaml-anchors-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/validate-config-circleci</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/abort-previous-build-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-archive-artifacts-jenkins-pipeline</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/archive-build-artifacts-jenkins-pipeline</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-archive-artifacts-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-credentials-in-environment-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-build-multi-arch-docker-image-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/build-a-multibranch-pipeline-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-build-docker-image-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/push-docker-image-to-registry-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/fan-out-with-collectentries-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/build-on-a-docker-agent-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-dependencies-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-gradle-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-sh-with-exit-status-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/clean-the-workspace-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-conditionally-run-stage-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-catcherror-step-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-helm-chart-multiple-clusters-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-static-site-to-s3-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-on-git-tag-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-on-tag-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-only-from-main-branch-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-over-ssh-to-vps-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-ecs-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-aws-assume-role-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-to-kubernetes-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-kubernetes-kubectl-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/multi-environment-deploy-parameters-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/parallel-deploy-to-regions-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-shared-library-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-credentials-binding-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-helm-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/blue-green-deploy-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/canary-deploy-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-when-beforeagent-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gated-production-deploy-input-timeout-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-fileexists-guard-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-build-discarder-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/lock-a-resource-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-warnerror-unstable-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-stash-unstash-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-credentials-helper-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-pass-data-between-stages-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-nodejs-tool-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-on-specific-agent-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-post-slack-notification-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/promote-build-between-stages-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-coverage-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-artifact-to-artifactory-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-html-report-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-npm-package-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-junit-and-coverage-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-junit-reports-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-test-results-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/read-yaml-config-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-require-approval-before-deploy-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-retry-a-step-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/rollback-a-deploy-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-security-scan-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-matrix-across-os-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-service-container-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-smoke-test-after-deploy-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-a-stage-on-windows-agent-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-on-branch-pattern-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-when-changeset-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-migrations-before-deploy-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-database-migrations-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-on-kubernetes-agent-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-parallel-stages-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-parallel-stages-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/run-stages-in-parallel-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-run-job-on-success-or-failure-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-schedule-a-job-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/scheduled-nightly-deploy-cron-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/send-email-on-failure-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-global-variable-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-job-timeout-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-stage-timeout-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-environment-variable-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-build-retention-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/set-build-display-name-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-set-up-monorepo-pipeline-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-agent-labels-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-downstream-build-job-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-trigger-on-cron-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/trigger-downstream-jobs-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-a-shared-library-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-matrix-declarative-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/matrix-in-scripted-pipeline-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-sshagent-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-credentials-binding-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-environment-credentials-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-parameters-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-post-conditions-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-secrets-jenkins</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-shared-libraries-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-stages-steps-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-prod-credentials-helper-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-environment-block-jenkins</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/use-input-step-for-approval-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-when-conditions-jenkins</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-write-declarative-jenkinsfile</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/add-checks-to-an-environment-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-add-environment-approvals-and-gates-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-use-oidc-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-build-multi-arch-docker-image-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/build-then-deploy-multi-stage-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/build-and-push-image-with-docker-task-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-build-docker-image-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-build-dependencies-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-pipeline-dependencies-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-dependencies-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-cache-docker-layers-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/cache-npm-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-conditionally-run-stage-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-stages-with-conditions-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-create-multi-stage-pipeline-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-create-service-connections-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-define-stages-and-jobs-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-bicep-template-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-container-to-container-apps-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-a-dacpac-to-azure-sql-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-static-site-to-storage-and-cdn-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-web-app-azurewebapp-task-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-web-app-with-azurewebapp-task-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-across-dev-staging-prod-stages-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-blue-green-canary-strategy-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-infra-with-terraform-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-on-git-tag-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-on-tag-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-vm-over-ssh-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-aks-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-aks-with-manifest-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-to-azure-web-app-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-app-service-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-app-service-slots-and-swap-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-aws-via-oidc-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-azure-functions-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-to-gke-or-cloud-run-via-oidc-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-deploy-to-kubernetes-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-multi-region-with-matrix-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-environment-approval-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/deploy-with-helm-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/extend-a-base-template-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-prod-with-manual-validation-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/pause-for-manual-approval-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/gate-with-manual-approval-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/order-stages-with-dependson-azure-pipelines</loc><lastmod>2026-06-30</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-pass-variables-between-jobs-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-coverage-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/publish-a-nuget-package-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-npm-package-azure-pipelines</loc><lastmod>2026-06-25</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://latchkey.dev/learn/ci-how-to/how-to-publish-and-download-pipeline-artifacts-azure-pipelines</loc><lastmod>2026-06-26</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
</urlset>
