Uploaded image for project: 'Red Hat Internal Developer Platform'
  1. Red Hat Internal Developer Platform
  2. RHIDP-7697

support darwin arm64 when running release scripts that depend on arch-specific binary deps

    • Icon: Task Task
    • Resolution: Done
    • Icon: Normal Normal
    • None
    • None
    • None
    • RHDH COPE 3275
    • Moderate

      As discovered when running the 1.5.2 release, some of the existing scripts for doing the release steps assume gnu/linux amd64, but increasingly we have mac users (darwin arm64) involved in release processes, so we need to be aware of arch-specific binary requirements.

      Scripts that download requirements automatically need to be updated to pull the correct arch version of those binaries.

      ========================================================================================
      The current release guide primarily caters to Linux/amd64 users, which may pose challenges for macOS users due to differences in environment and tooling. To bridge this gap, this issue will add a separate doc tailored for macOS users, encompassing tips and tricks to streamline their setup and usage.

      Where possible, .sh scripts should be updated to work on both mac/linux (arm/amd) with as little preinstallation/prep work as possible.

      Rough outline

      add GNU tools in '.zshrc'
      
      
      sed: install gsed
      > brew install gsed
      —-----------------------
      awk: install gawk
      > brew install gawk
      —-----------------------
      rsync
      > brew install rsync
      installed @ /opt/homebrew/bin
      —-----------------------
      tar: install gnu-tar 
      > brew install gnu-tar
      —-----------------------
      adjust PATH in .zshrc for GNU tools installed
      > export PATH="/opt/homebrew/opt/gnu-tar/libexec/gnubin:/opt/homebrew/opt/gnu-sed/libexec/gnubin:$HOME/bin:/opt/homebrew/opt/gawk/libexec/gnubin:/usr/local/bin:/opt/homebrew/bin:$PATH"
      > source ~/.zshrc
      
      Install other tools: 
      brew install prettier
      brew install husky
      
      
      Create wrappers (or symlinks): 
      
      'google-chrome' wrapper	
      > sudo nano /usr/local/bin/google-chrome
      #!/bin/sh
      exec "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" "$@"
      > sudo chmod +x /usr/local/bin/google-chrome
      
      'skopeo' wrapper
      > sudo nano /usr/local/bin/skopeo
      #!/usr/bin/env bash
      /opt/homebrew/bin/skopeo "$@" --override-arch=amd64 --override-os=linux
      > sudo chmod +x /usr/local/bin/skopeo
      
      
      bash 4+ is required (bash 3 was found on the system)
      brew install bash (installed 5)
      for 'rhdh/build/ci/sync-midstream.sh'
      replace the first line to use #!/usr/bin/env bash

              joskimca Joseph Kim
              joskimca Joseph Kim
              RHIDP - Cope
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: