Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The default branch (master or main) is protected, and requires CODEOWNER approval to merge changes.

  • Committers are listed in the CODEOWNERS file as reviewers for all files

    Code Block
    titleCODEOWNERS
    * @committer1 @committer2 ...
  • Everyone else is considered a contributor.


  • All active contributors (including committers) are given Developerlevel  level permissions on the Anuket group.

...

  1. Clone the project

  2. edit, git add, commit
    Write you change (remember to include `-s` to sign off commits: `git commit -s`)

  3. git push

  4. Click the link from the message to open a merge request to the repository

  5. If you have multiple commits, write a detailed explanation about what you're asking to be merged in.
    Set the change to "Draft" if its still being worked on.

  6. Wait for CI to pass and a CODEOWNER to review and merge.

...

  • Docker

    Code Block
    ---
    include:
      - project: anuket/releng
        file: '/gitlab-templates/Docker.gitlab-ci.yml'


  • ReadTheDocs (RTD)

    Code Block
    ---
    include:
      - project: anuket/releng
        file: '/gitlab-templates/RTD.gitlab-ci.yml'


  • Google Storage (GSutil install)

    Code Block
    ---
    include:
      - project: anuket/releng
        file: '/gitlab-templates/GoogleStorage.gitlab-ci.yml'


Scheduled Jobs

Unlike Jenkins, Gitlab-CI jobs that run on an interval or schedule are configured through the UI, not in .gitlab-ci.yml. Any job that does not state it should be excluded from schedules will be triggered when a scheduled pipeline runs. This also means there is no way to set schedules for individual jobs (only pipelines) through the UI. One way around this is by specifying a job should be triggered on scheduled runs, but only if a specific variable is defined. Here's an example of the rule for such a job:

Code Block
myscheduledjob:
  rules:
    - if: $CI_PIPELINE_SOURCE == "schedule" && $MY_SCHEDULE == "true"

Note: When specifying rules for a job, there is an implicit "- when: never" rule as the last in the list, unless a previous rule specified "never".

Hosted Runners (External Hardware builds)

...