Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
CI_Source CI_Source
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 3
    • Merge requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Metrics
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • Support
  • CI_SourceCI_Source
  • Merge requests
  • !2

Merged
Created Dec 11, 2020 by Ben Avison@bavisonDeveloper

Fix pipeline failures for established forks

  • Overview 0
  • Commits 1
  • Pipelines 1
  • Changes 1

If the following happens:

  • a GitLab runner recursively clones a superproject
  • one or more submodules has changes upstream and the submodule references in the superproject have been updated to point to it
  • a new pipeline is launched for the new superproject revision

then, while the runner would fetch changes to the superproject, it wasn't doing so for the submodules. Ironically, we do both git submodule update and git submodule update --remote in different pipeline stages and the latter includes an implicit submodule fetch - but that was the later stage which we don't get as far as.

To fix this, while retaining the pipeline stage order, include an explicit fetch in the earlier stage (and remove the implicit fetch in the later one, since that now merely wastes time).

I have included the commit from !1 (merged) here, on the assumption that it's not contentious, which will save having to rebase this MR prior to merging.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: SubmoduleFetch