Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(all): riir #11

Merged
merged 77 commits into from
Feb 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
787a5b4
feat(all): riir
Malinskiy Oct 31, 2023
e2dc582
feat(errors): typed errors
Malinskiy Nov 4, 2023
a87a1fe
feat(progress): add progress bars to file uploads for test run
Malinskiy Nov 4, 2023
e8f35d6
feat: remove go code
Malinskiy Nov 6, 2023
c007868
feat(cli): add filtering
Malinskiy Jan 29, 2024
d0f57bc
feat(filtering): wire cli flag into api call
Malinskiy Jan 30, 2024
cacd474
feat(ci): rework ci for rust
Malinskiy Jan 30, 2024
22701bd
fix(filtering): should send sparse marathonfile as filter configuration
Malinskiy Jan 30, 2024
fc47002
Merge branch 'main' into feature/rust
Malinskiy Jan 30, 2024
1ce00f1
feat(shell): add runtime-generated shell completions
Malinskiy Jan 31, 2024
69c6b35
feat(ci): migrate from goreleaser ci
Malinskiy Jan 31, 2024
1a582f3
feat(cli): add short help for run and download
Malinskiy Jan 31, 2024
2338fcc
feat(cli): add simple manpage generation
Malinskiy Feb 1, 2024
ebf6271
chore(fmt): fix formatting errors
Malinskiy Feb 1, 2024
70676b4
chore(deps): update all crates
Malinskiy Feb 1, 2024
74b526a
feat(deps): use latest 0.3.X h2 dependency to mitigate RUSTSEC-2024-0003
Malinskiy Feb 1, 2024
b8efb88
fix(ci): remove non-existent features
Malinskiy Feb 1, 2024
4ec0fda
fix(cli): address warning
Malinskiy Feb 1, 2024
92b808d
feat(deps): remove dependency on openssl sys lib
Malinskiy Feb 1, 2024
27a8431
fix(ci): trying to figure out windows part
Malinskiy Feb 1, 2024
833f97c
fix(ci): still trying to figure out windows part
Malinskiy Feb 1, 2024
f7adf07
fix(ci): missing multiline script symbol
Malinskiy Feb 1, 2024
7ee9324
fix(ci): more fixes
Malinskiy Feb 1, 2024
8610d0c
fix(ci): specify target for man and completion generation
Malinskiy Feb 1, 2024
d9bf19b
fix(ci): add env passthrough for manpages generator
Malinskiy Feb 1, 2024
b61f8b0
fix(ci): more windows tricks
Malinskiy Feb 1, 2024
daba2ea
fix(ci): use arg instead of envvar on windows
Malinskiy Feb 1, 2024
2f64ab5
fix(ci): windows paths
Malinskiy Feb 1, 2024
245971c
fix(ci): windows
Malinskiy Feb 1, 2024
4730e6b
feat(ci): add darwin aarch64
Malinskiy Feb 1, 2024
5801dd2
feat(ci): use macos-13
Malinskiy Feb 1, 2024
55cc4c0
feat(ci): darwin universal binary
Malinskiy Feb 1, 2024
fe305b9
fix(ci): missing then
Malinskiy Feb 1, 2024
6915c77
fix(ci): binary name before build
Malinskiy Feb 1, 2024
5ca14c0
fix(ci): use output from bin
Malinskiy Feb 1, 2024
d2cf90a
feat(ci): change artifact name for darwin to universal
Malinskiy Feb 1, 2024
127fea0
fix(ci): tags for us don't start with v
Malinskiy Feb 1, 2024
9b665bf
feat(ci): add bump version job
Malinskiy Feb 1, 2024
8bd8065
Automated patch version bump
Malinskiy Feb 1, 2024
68998fb
Automated patch version bump
Malinskiy Feb 1, 2024
7146233
Automated patch version bump
Malinskiy Feb 1, 2024
93942a5
feat(ci): auto patch version bump
Malinskiy Feb 1, 2024
5a827b2
Merge branch 'main' of github.com:Malinskiy/marathon-cloud-cli
Malinskiy Feb 1, 2024
feaea3e
feat(ci): set the version from tag during CD to minimize mistakes
Malinskiy Feb 2, 2024
f8f3b1c
fix(ci): metadata should take tag as version if present
Malinskiy Feb 2, 2024
8efcc87
fix(ci): bash mistakes
Malinskiy Feb 2, 2024
ac7fab9
feat(ci): add docker release builds
Malinskiy Feb 2, 2024
97d7710
feat(ci): enable kvm
Malinskiy Feb 2, 2024
86bf3fb
feat(ci): build docker image for main and for tags
Malinskiy Feb 2, 2024
b09018b
fix(ci): fix version for docker
Malinskiy Feb 2, 2024
eebd934
feat(ci): homebrew integration
Malinskiy Feb 2, 2024
2e60841
fix(ci): install user-writable ruby for liquid-cli
Malinskiy Feb 2, 2024
8ee0ee9
fix(ci): wrong url for homebrew artifacts
Malinskiy Feb 2, 2024
3a7145f
fix(ci): cleanup and fix expansion for homebrew
Malinskiy Feb 2, 2024
b76596d
feat(ci): more logging
Malinskiy Feb 2, 2024
9d63746
fix(ci): fix missing variable expansion for version
Malinskiy Feb 2, 2024
e1c5701
fix(ci): escape brew template json
Malinskiy Feb 2, 2024
41ada3d
fix(ci): another expansion in workflow
Malinskiy Feb 2, 2024
024a471
fix(all): remove traces of golang
Malinskiy Feb 3, 2024
9fe0c83
feat(cli): print help if no arguments given
Malinskiy Feb 3, 2024
9fcc411
fix(cli): upon run finishing print a general message about the state
Malinskiy Feb 3, 2024
ac851f4
fix(fmt): run cargo fmt
Malinskiy Feb 4, 2024
160a822
fix(ci): sha256 in brew formula should not contain filename
Malinskiy Feb 4, 2024
9d297af
feat(ci): homebrew formula should install manpage and autocompletions…
Malinskiy Feb 4, 2024
c7d840c
feat(cli): improve ux and add gif demo
Malinskiy Feb 4, 2024
ba3e685
docs(readme): add gif demo
Malinskiy Feb 4, 2024
3c07846
fix(cli): return failure exit code when test run fails
Malinskiy Feb 4, 2024
d5d300e
feat(cli): exit code 1 for errors and print message to stderr
Malinskiy Feb 5, 2024
3e407a3
fix(cli): fix condition for failure
Malinskiy Feb 5, 2024
03b475e
feat(ci): use prod tags and artifact names
Malinskiy Feb 5, 2024
fc0c40b
docs(readme): add autocompletion section and license
Malinskiy Feb 5, 2024
21413c4
fix(cli): run cargo fmt
Malinskiy Feb 5, 2024
7d88f5b
feat(ci): add checksums.txt
Malinskiy Feb 6, 2024
80243c9
Merge pull request #1 from Malinskiy/feature/rust
Malinskiy Feb 6, 2024
686d939
feat(ci): add aarch64-unknown-linux-musl
Malinskiy Feb 6, 2024
2527814
fix(ci): fix typo
Malinskiy Feb 6, 2024
6245ddf
fix(ci): no need to generate checksums for non-release builds
Malinskiy Feb 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
Dockerfile
target
.git
.github
109 changes: 109 additions & 0 deletions .github/marathon-cloud.rb.liquid
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# typed: false
# frozen_string_literal: true

class MarathonCloud < Formula
desc "Command-line interface for Marathon Cloud"
homepage "https://github.com/MarathonLabs/marathon-cloud-cli"
version "{{ version }}"
license "MIT"

on_macos do
url "{{ darwin.url }}"
sha256 "{{ darwin.sha256 }}"

def install
bin.install "marathon-cloud"
generate_completions_from_executable(bin/"marathon-cloud", "completions", base_name: "marathon-cloud")
man1.install Dir["*.1"]
end

def caveats; <<~EOS
⚠️ To have superior experience, enable autocompletion on Brew. ⚠️
You need to enable autocompletion just once for Brew. If it is already enabled, you can skip this part.
▪ For Zsh users:
Follow https://docs.brew.sh/Shell-Completion#configuring-completions-in-zsh
▪ For Bash users:
1) `brew install bash-completion` and follow the printed \"Caveats\" section. Example \"Caveats\" instructions:
Add the following line to your ~/.bash_profile:
# !! Note that paths may differ depending on your installation, so you should follow the Caveats section on your system.
[[ -r \"/Users/anton/.brew/etc/profile.d/bash_completion.sh\" ]] && . \"/home/anton/.brew/etc/profile.d/bash_completion.sh\"
2) `source ~/.bash_profile`
EOS
end
end

on_linux do
if Hardware::CPU.arm? && Hardware::CPU.is_64_bit?
url "{{ linux.arm64.url }}"
sha256 "{{ linux.arm64.sha256 }}"

def install
bin.install "marathon-cloud"
generate_completions_from_executable(bin/"marathon-cloud", "completions", base_name: "marathon-cloud")
man1.install Dir["*.1"]
end

def caveats; <<~EOS
⚠️ To have superior experience, enable autocompletion on Brew. ⚠️
You need to enable autocompletion just once for Brew. If it is already enabled, you can skip this part.
▪ For Zsh users:
Follow https://docs.brew.sh/Shell-Completion#configuring-completions-in-zsh
▪ For Bash users:
1) `brew install bash-completion` and follow the printed \"Caveats\" section. Example \"Caveats\" instructions:
Add the following line to your ~/.bash_profile:
# !! Note that paths may differ depending on your installation, so you should follow the Caveats section on your system.
[[ -r \"/home/ubuntu/.linuxbrew/etc/profile.d/bash_completion.sh\" ]] && . \"/home/ubuntu/.linuxbrew/etc/profile.d/bash_completion.sh\"
2) `source ~/.bash_profile`
EOS
end
end
if Hardware::CPU.intel?
url "{{ linux.amd64.url }}"
sha256 "{{ linux.amd64.sha256 }}"

def install
bin.install "marathon-cloud"
generate_completions_from_executable(bin/"marathon-cloud", "completions", base_name: "marathon-cloud")
man1.install Dir["*.1"]
end

def caveats; <<~EOS
⚠️ To have superior experience, enable autocompletion on Brew. ⚠️
You need to enable autocompletion just once for Brew. If it is already enabled, you can skip this part.
▪ For Zsh users:
Follow https://docs.brew.sh/Shell-Completion#configuring-completions-in-zsh
▪ For Bash users:
1) `brew install bash-completion` and follow the printed \"Caveats\" section. Example \"Caveats\" instructions:
Add the following line to your ~/.bash_profile:
# !! Note that paths may differ depending on your installation, so you should follow the Caveats section on your system.
[[ -r \"/home/ubuntu/.linuxbrew/etc/profile.d/bash_completion.sh\" ]] && . \"/home/ubuntu/.linuxbrew/etc/profile.d/bash_completion.sh\"
2) `source ~/.bash_profile`
EOS
end
end
if Hardware::CPU.arm? && !Hardware::CPU.is_64_bit?
url "{{ linux.arm.url }}"
sha256 "{{ linux.arm.sha256 }}"

def install
bin.install "marathon-cloud"
generate_completions_from_executable(bin/"marathon-cloud", "completions", base_name: "marathon-cloud")
man1.install Dir["*.1"]
end

def caveats; <<~EOS
⚠️ To have superior experience, enable autocompletion on Brew. ⚠️
You need to enable autocompletion just once for Brew. If it is already enabled, you can skip this part.
▪ For Zsh users:
Follow https://docs.brew.sh/Shell-Completion#configuring-completions-in-zsh
▪ For Bash users:
1) `brew install bash-completion` and follow the printed \"Caveats\" section. Example \"Caveats\" instructions:
Add the following line to your ~/.bash_profile:
# !! Note that paths may differ depending on your installation, so you should follow the Caveats section on your system.
[[ -r \"/home/ubuntu/.linuxbrew/etc/profile.d/bash_completion.sh\" ]] && . \"/home/ubuntu/.linuxbrew/etc/profile.d/bash_completion.sh\"
2) `source ~/.bash_profile`
EOS
end
end
end
end
21 changes: 21 additions & 0 deletions .github/marathon-cloud.sample.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"version": "1.0.0",
"darwin": {
"url": "A",
"sha256": "B"
},
"linux": {
"amd64": {
"url": "C",
"sha256": "D"
},
"arm64": {
"url": "E",
"sha256": "F"
},
"arm": {
"url": "G",
"sha256": "H"
}
}
}
Loading