Skip to content

merge inhouse and non inhouse pipelines #22

@skifahrer

Description

@skifahrer

'm starting to think that splitting this into two files wasn't the best idea. We are just copying the same code twice. Which goes directly against DRY principle.

My suggestion would be to keep just one file - .github/workflows/create-kustomize-with-bratiska-cli-inhouse.yml and drop "-inhouse" from the name. Then if you would like to run it on GitHub runners, you can just specify

runs-on: ['ubuntu-latest']
and it does the same thing and it is almost as many characters as specify "-bratiska-cli.yml" or "-bratiska-cli-inhouse.yml". Or, if you would like to be even more user friendly, you can just rework this into:

  runs-on:
    description: "Define environment where the job will run. Possible values: ['github', 'inhouse']"
    type: choice
    options: 
      - github
      - inhouse
    required: false
    default: 'inhouse'

Then you can just have a basic step that makes that decision inside a pipeline

  - name: Pick a runner
    run: |
      if [[ "${inputs.runs-on}" == "github" ]]; then
          # print and set env variable
      elif [[ "${inputs.runs-on}" == "inhouse" ]]; then
          # print and set env variable
      else
          # throw an error about unknown runner environment
      fi

This leaves the door open for multiple environments in the future and is still as user friendly as possible and you can easily switch just by specifying different input.

I'm flagging this here, as .github/workflows/create-kustomize-with-bratiska-cli-inhouse.yml and .github/workflows/create-kustomize-with-bratiska-cli.yml are new files and we can easily change it here. We don't have to make this change now for all of the files and all of the repositories. That can be pushed to latter PRs/changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions