diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 4bc68eb80a..52b2dbf8fe 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -180,9 +180,101 @@ updates: default-days: 7 # ========================= - # RELEASE BRANCHES — keep daily for v1.5, v1.6, and v1.7 + # RELEASE BRANCHES — keep daily for v1.6, v1.7, and v1.8 # ========================= + # release/v1.8 constraints (daily); + - package-ecosystem: "docker" + directories: + - "**/*" + exclude-paths: + - "**/*.tmpl" + - "**/*.yaml" + - "**/*.yml" + schedule: + interval: "daily" + commit-message: + prefix: "ci" + labels: ["ci", "dependencies", "release/1.8"] + open-pull-requests-limit: 10 + target-branch: "release/v1.8" + groups: + all-docker-dependencies: + applies-to: version-updates + patterns: ["*"] + cooldown: + default-days: 7 + + - package-ecosystem: "gomod" + directory: "/" + schedule: + interval: "daily" + commit-message: + prefix: "deps" + labels: ["dependencies", "release/1.8"] + open-pull-requests-limit: 1 + target-branch: "release/v1.8" + groups: + kubernetes-minor-and-patch: + applies-to: version-updates + patterns: ["k8s.io/*"] + update-types: ["minor", "patch"] + all-go-minor-and-patch: + applies-to: version-updates + patterns: ["*"] + update-types: ["minor", "patch"] + ignore: + - dependency-name: "k8s.io/api" + versions: [">=0.37.0"] + - dependency-name: "k8s.io/apiextensions-apiserver" + versions: [">=0.37.0"] + - dependency-name: "k8s.io/apimachinery" + versions: [">=0.37.0"] + - dependency-name: "k8s.io/client-go" + versions: [">=0.37.0"] + - dependency-name: "k8s.io/kubelet" + versions: [">=0.37.0"] + - dependency-name: "k8s.io/kubectl" + versions: [">=0.37.0"] + cooldown: + default-days: 7 + + - package-ecosystem: "gomod" + directory: "/azure-ipam" + schedule: + interval: "daily" + commit-message: + prefix: "deps" + labels: ["dependencies", "azure-ipam", "release/1.8"] + open-pull-requests-limit: 1 + target-branch: "release/v1.8" + groups: + kubernetes-minor-and-patch: + applies-to: version-updates + patterns: ["k8s.io/*"] + update-types: ["minor", "patch"] + all-go-minor-and-patch: + applies-to: version-updates + patterns: ["*"] + update-types: ["minor", "patch"] + ignore: + - dependency-name: "k8s.io/api" + versions: [">=0.37.0"] + - dependency-name: "k8s.io/apiextensions-apiserver" + versions: [">=0.37.0"] + - dependency-name: "k8s.io/apimachinery" + versions: [">=0.37.0"] + - dependency-name: "k8s.io/client-go" + versions: [">=0.37.0"] + - dependency-name: "k8s.io/kubelet" + versions: [">=0.37.0"] + - dependency-name: "k8s.io/kubectl" + versions: [">=0.37.0"] + - dependency-name: "github.com/Azure/azure-container-networking" + versions: [">=1.9.0"] + cooldown: + default-days: 7 + # release/v1.7 constraints (daily); - package-ecosystem: "docker" directories: diff --git a/.github/workflows/go-version-check.yaml b/.github/workflows/go-version-check.yaml index d29f36aaf5..15d95f53c8 100644 --- a/.github/workflows/go-version-check.yaml +++ b/.github/workflows/go-version-check.yaml @@ -370,7 +370,7 @@ jobs: echo "::notice::Created issue $ISSUE_URL and assigned to Copilot" # ═══════════════════════════════════════════════════════════════════ - # Backport: Create issue for Copilot to apply Tier 1/2 to release/v1.7 + # Backport: Create issue for Copilot to apply Tier 1/2 to release/v1.8 # ═══════════════════════════════════════════════════════════════════ backport-release: needs: [check-go-update, auto-bump] @@ -384,7 +384,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - branch: [release/v1.7] + branch: [release/v1.8] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: @@ -770,16 +770,16 @@ jobs: - [ ] \`make dockerfiles\` output matches committed files - [ ] No new \`replace\` directives (unless necessary and explained) - [ ] FIPS/crypto config correct per MS Go docs for THIS specific version - - [ ] **Backport PR created for \`release/v1.7\`** + - [ ] **Backport PR created for \`release/v1.8\`** - ### Backport to \`release/v1.7\` + ### Backport to \`release/v1.8\` - After the master PR is complete, create a **second PR** targeting \`release/v1.7\`: - 1. Check out \`release/v1.7\` + After the master PR is complete, create a **second PR** targeting \`release/v1.8\`: + 1. Check out \`release/v1.8\` 2. Apply the same Go version + SHA changes - 3. If \`release/v1.7\` is missing prerequisites (based on your analysis), add those too + 3. If \`release/v1.8\` is missing prerequisites (based on your analysis), add those too 4. Run \`make dockerfiles\` and \`go mod tidy\` on that branch - 5. Title: \`chore(release/v1.7): upgrade Go ${GO_MINOR} → ${LATEST_MINOR}\` + 5. Title: \`chore(release/v1.8): upgrade Go ${GO_MINOR} → ${LATEST_MINOR}\` 6. Verify \`go build ./...\` passes on release branch > **Note:** The release branch may have different dependency versions than master. diff --git a/.github/workflows/scheduled-release.yaml b/.github/workflows/scheduled-release.yaml index eb05bd517d..490b7afe0a 100644 --- a/.github/workflows/scheduled-release.yaml +++ b/.github/workflows/scheduled-release.yaml @@ -6,7 +6,7 @@ # - Last Friday of month: CNI notification + dependabot PR collection (1 week heads-up) # - First Friday of month: Tag creation (skips PR wait; only pause/resume can block) # - Other Fridays: Skipped by check_cadence -# Branches: release/v1.7 (14:00) and master (14:15) + manual dispatch +# Branches: release/v1.8 (14:00) and master (14:15) + manual dispatch # # ─── Teams Notification Dependency ─────────────────────────────────────────── # Teams messages are sent via the acn-notifier-bot Azure Function App, @@ -24,16 +24,17 @@ on: schedule: # Every Friday at 14:00/14:15 UTC (7:00 AM PST) # check_cadence determines: last Friday of month → notification, first Friday → tag creation - - cron: "0 14 * * 5" # release/v1.7 + - cron: "0 14 * * 5" # release/v1.8 - cron: "15 14 * * 5" # master workflow_dispatch: inputs: release_branch: description: "Release branch to target" required: true - default: "release/v1.7" + default: "release/v1.8" type: choice options: + - release/v1.8 - release/v1.7 - master skip_dependabot_wait: @@ -58,7 +59,7 @@ on: type: boolean concurrency: - group: scheduled-release-${{ inputs.release_branch || (github.event.schedule == '15 14 * * 5' && 'master') || 'release/v1.7' }} + group: scheduled-release-${{ inputs.release_branch || (github.event.schedule == '15 14 * * 5' && 'master') || 'release/v1.8' }} cancel-in-progress: false permissions: @@ -66,8 +67,8 @@ permissions: pull-requests: read env: - # Map cron schedules to branches: *:15 → master, *:00 → release/v1.7 - RELEASE_BRANCH: ${{ inputs.release_branch || (github.event.schedule == '15 14 * * 5' && 'master') || 'release/v1.7' }} + # Map cron schedules to branches: *:15 → master, *:00 → release/v1.8 + RELEASE_BRANCH: ${{ inputs.release_branch || (github.event.schedule == '15 14 * * 5' && 'master') || 'release/v1.8' }} MAX_PIPELINE_RETRIES: 5 NOTIFIER_URL: https://acn-notifier-bot.azurewebsites.net NOTIFIER_AUDIENCE: api://3976eca5-3f9d-4528-987f-c20c1f9f27f7 @@ -173,7 +174,7 @@ jobs: set -euo pipefail VERSION_PREFIX="" if [[ "$RELEASE_BRANCH" == "master" ]]; then - VERSION_PREFIX="--version-prefix v1.8" + VERSION_PREFIX="--version-prefix v1.9" fi VERSION=$(/tmp/release-cli next-version --branch "$RELEASE_BRANCH" $VERSION_PREFIX) echo "new_tag=$(echo "$VERSION" | jq -r '.new_tag')" >> "$GITHUB_OUTPUT" @@ -736,7 +737,7 @@ jobs: set -euo pipefail VERSION_PREFIX="" if [[ "$RELEASE_BRANCH" == "master" ]]; then - VERSION_PREFIX="--version-prefix v1.8" + VERSION_PREFIX="--version-prefix v1.9" fi RESULT=$(/tmp/release-cli next-version --branch "$RELEASE_BRANCH" $VERSION_PREFIX) echo "new_tag=$(echo "$RESULT" | jq -r '.new_tag')" >> "$GITHUB_OUTPUT"