Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dd2599a198 | ||
|
|
c9f2ae3dc4 | ||
|
|
1bd711dbc8 |
@@ -7,7 +7,7 @@ on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tag:
|
||||
description: 'Tag to release (e.g. v0.1.0).'
|
||||
description: 'Tag to release (e.g. v0.1.0). The tag must already exist.'
|
||||
required: true
|
||||
type: string
|
||||
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
id: ref
|
||||
run: |
|
||||
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
|
||||
echo "ref=${{ github.ref }}" >> "$GITHUB_OUTPUT"
|
||||
echo "ref=${{ inputs.tag }}" >> "$GITHUB_OUTPUT"
|
||||
echo "tag=${{ inputs.tag }}" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "ref=${{ github.ref }}" >> "$GITHUB_OUTPUT"
|
||||
@@ -56,7 +56,6 @@ jobs:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
tag_name: ${{ steps.ref.outputs.tag }}
|
||||
name: ${{ steps.ref.outputs.tag }}
|
||||
target_commitish: ${{ github.sha }}
|
||||
generate_release_notes: true
|
||||
fail_on_unmatched_files: true
|
||||
files: |
|
||||
|
||||
@@ -8,19 +8,20 @@ Linux).
|
||||
|
||||
## Install
|
||||
|
||||
Download the native binary for your platform from a release, or build from
|
||||
source:
|
||||
Download the pre-built binary for your platform and make it executable.
|
||||
|
||||
Using **curl**:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/JMR-dev/bootstrap_dev_env.git
|
||||
cd bootstrap_dev_env
|
||||
make build # builds ./bootstrap_environment for the host
|
||||
curl -Lo bootstrap_environment "https://github.com/JMR-dev/bootstrap_dev_env/releases/latest/download/bootstrap_environment-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/; s/arm64/arm64/')"
|
||||
chmod +x bootstrap_environment
|
||||
```
|
||||
|
||||
To produce native binaries for all four supported targets at once:
|
||||
Using **wget**:
|
||||
|
||||
```shell
|
||||
make build-all # writes dist/bootstrap_environment-{linux,darwin}-{amd64,arm64}
|
||||
wget -O bootstrap_environment "https://github.com/JMR-dev/bootstrap_dev_env/releases/latest/download/bootstrap_environment-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/; s/arm64/arm64/')"
|
||||
chmod +x bootstrap_environment
|
||||
```
|
||||
|
||||
## Usage
|
||||
@@ -42,3 +43,23 @@ Flags:
|
||||
that backs the `firecracker()` zsh wrapper.
|
||||
|
||||
Package lists live in `packages.go`. Edit and rebuild.
|
||||
|
||||
## Build from Source
|
||||
|
||||
If you prefer to build the tool yourself, or if you are making custom modifications:
|
||||
|
||||
1. Clone the repository:
|
||||
```shell
|
||||
git clone https://github.com/JMR-dev/bootstrap_dev_env.git
|
||||
cd bootstrap_dev_env
|
||||
```
|
||||
|
||||
2. Build for the current host platform:
|
||||
```shell
|
||||
make build # builds ./bootstrap_environment for the host
|
||||
```
|
||||
|
||||
To cross-compile binaries for all supported targets at once:
|
||||
```shell
|
||||
make build-all # writes dist/bootstrap_environment-{linux,darwin}-{amd64,arm64}
|
||||
```
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# Future State
|
||||
|
||||
- which guard/check at end of binary
|
||||
- unit test suite
|
||||
- early program end if nothing found to do
|
||||
@@ -199,6 +199,11 @@ func resolveSystemPkgs(names []string) ([]string, []string) {
|
||||
|
||||
// isSystemPkgInstalled queries the host package manager.
|
||||
func isSystemPkgInstalled(pkg string) bool {
|
||||
// If 'which $pkg' returns a value, the package's command is available, so skip it.
|
||||
if r, ok := probe([]string{"which", pkg}, 0); ok && r.ExitCode == 0 {
|
||||
return true
|
||||
}
|
||||
|
||||
switch pkgMgr {
|
||||
case "dnf":
|
||||
r, ok := probe([]string{"rpm", "-q", pkg}, 0)
|
||||
|
||||
Reference in New Issue
Block a user