macOS onboard tooling for Developers.
Automation tooling does the following
- Checks for Pre Conditions
- Setup, Upgrade and Teardown
- End To End Automation Tests
- Git Configuration and Login
Pre Checks
- Containerization -
- Check macOS Version for Compatibility >=10.15
- RAM Size > 4 GB
- VirtualBox <= 4.3.30 must not be installed as it is not compatible with Docker Desktop
- Download Docker Desktop for Mac Binary based on Chipset Type and install in headless mode
- Check buildkit is set to false for Apple Chip in ~/.docker/daemon.json
- Xcode Tools
Setup and Teardown - Apps & Tools
- Package Manager - Homebrew
- Nix Tools
- zsh
- zsh-autosuggestions - Suggests commands as you type based on history and completions.
- zsh-syntax-highlighting - Syntax highlighter for the Zsh shell
- coreutils - File, shell and text manipulation utilities
- Internet Tool
- ca-certificates - Digital Certificate issued by a certificate authority (CA), so SSL clients (such as wget, curl, httpie) can use it to verify the SSL certificates sign by this CA
- wget - Retrieving files using HTTP, HTTPS, FTP and FTPS
- curl - Transferring data with URLs
- openssl - General-purpose cryptography for secure communication.
- netcat - Networking utility which reads and writes data across networks
- httpie - Command-line HTTP and API testing client
- Programming Languages
- Programming Tools
- Nix Tools
- Editors
- Visual Studio Code Extensions
1. Workspace
In macOS Terminal Window, Run following commands for workspace setup
mkdir -p ${HOME}/workspace
cd ${HOME}/workspace
git clone https://github.com/rajasoun/mac-onboard
cd mac-onboard2. Prerequisites Checks
In macOS Terminal Window, Run Prerequisites Checks./assist.sh pre-checks3. SpeedTest via Docker
In macOS Terminal Window, Run Prerequisites Checks for Docker./assist.sh speed-test4. Teardown
In macOS Terminal Window, Run following command to teardown the existing setup (if any)./assist.sh teardown # Will remove all packages5. Setup
In macOS Terminal Window, Run following commands for application installation./assist.sh setup6. End To End (e2e) Tests
In macOS Terminal Window, Run following commands for application installation end to end tests./assist.sh test7. Git Config
In macOS Terminal Window, Run following commands for git configuration./assist.sh git-config8. Git Login
In macOS Terminal Window, Run following commands for git Login via Tokenexport $(grep -v '^#' env.ini | xargs)
gh auth login --hostname $GIT --git-protocol ssh Store the token in github.token file and Validate via
./assist.sh git-login9. Sharing Test Output
Execute using script command and share the log.txt
script log.txt ./assist.sh teardown
script log.txt ./assist.sh setup
script log.txt ./assist.sh test
script log.txt ./assist.sh pre-checks
script log.txt ./assist.sh speed-test
script log.txt ./assist.sh check