Skip to content

Commit

Permalink
Initial Commit (#3)
Browse files Browse the repository at this point in the history
  • Loading branch information
EngHabu authored Jul 9, 2020
1 parent ff172b9 commit 5e0c7ec
Show file tree
Hide file tree
Showing 19 changed files with 1,207 additions and 0 deletions.
25 changes: 25 additions & 0 deletions flytectl/.github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: goreleaser

on:
pull_request:
push:

jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Unshallow
run: git fetch --prune --unshallow
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.14
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 6 additions & 0 deletions flytectl/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dist/
.idea
vendor
bin
.DS_Store
_test
172 changes: 172 additions & 0 deletions flytectl/.goreleaser.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
before:
hooks:
- go mod download
builds:
- env:
- CGO_ENABLED=0
main: ./main.go
binary: flytectl
goos:
- linux
- windows
- darwin
ldflags:
- -s -w -X github.com/lyft/flytestdlib/version.Version={{.Version}} -X github.com/lyft/flytestdlib/version.Build={{.ShortCommit}} -X github.com/lyft/flytestdlib/version.BuildTime={{.Date}}
archives:
- replacements:
darwin: macOS
linux: Linux
windows: Windows
386: i386
amd64: x86_64
format_overrides:
- goos: windows
format: zip
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ .Tag }}-next"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
scoop:
# Default is "https://github.com/<repo_owner>/<repo_name>/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
# url_template: "http://github.mycompany.com/foo/bar/releases/{{ .Tag }}/{{ .ArtifactName }}"

# Repository to push the app manifest to.
bucket:
owner: lyft
name: flytectl

# Git author used to commit to the repository.
# Defaults are shown.
commit_author:
name: goreleaserbot
email: [email protected]

# Your app's homepage.
# Default is empty.
homepage: "https://godoc.org/github.com/lyft/flytectl"

# Your app's description.
# Default is empty.
description: "FlyteCtl is a command line tool to interact with a Flyte cluster."

# Your app's license
# Default is empty.
license: Apache-2.0

# Persist data between application updates
persist:
- "data"
- "config.toml"
brews:
- # Name template of the recipe
# Default to project name
name: flytectl

# IDs of the archives to use.
# Defaults to all.
# ids:
# - foo
# - bar

# GOARM to specify which 32-bit arm version to use if there are multiple versions
# from the build section. Brew formulas support atm only one 32-bit version.
# Default is 6 for all artifacts or each id if there a multiple versions.
goarm: 6

# NOTE: make sure the url_template, the token and given repo (github or gitlab) owner and name are from the
# same kind. We will probably unify this in the next major version like it is done with scoop.

# Github repository to push the tap to.
github:
owner: github-user
name: homebrew-tap

# OR Gitlab
# gitlab:
# owner: gitlab-user
# name: homebrew-tap

# Gitea is not supported yet, but the support coming

# Template for the url which is determined by the given Token (github or gitlab)
# Default for github is "https://github.com/<repo_owner>/<repo_name>/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
# Default for gitlab is "https://gitlab.com/<repo_owner>/<repo_name>/uploads/{{ .ArtifactUploadHash }}/{{ .ArtifactName }}"
url_template: "http://github.com/lyft/flytectl/releases/{{ .Tag }}/{{ .ArtifactName }}"

# Allows you to set a custom download strategy. Note that you'll need
# to implement the strategy and add it to your tap repository.
# Example: https://docs.brew.sh/Formula-Cookbook#specifying-the-download-strategy-explicitly
# Default is empty.
download_strategy: CurlDownloadStrategy.

# Allows you to add a custom require_relative at the top of the formula template
# Default is empty
custom_require: custom_download_strategy

# Git author used to commit to the repository.
# Defaults are shown.
commit_author:
name: goreleaserbot
email: [email protected]

# Folder inside the repository to put the formula.
# Default is the root folder.
folder: Formula

# Caveats for the user of your binary.
# Default is empty.
caveats: "How to use this binary"

# Your app's homepage.
# Default is empty.
homepage: "https://godoc.org/github.com/lyft/flytectl"

# Your app's description.
# Default is empty.
description: "FlyteCtl is a command line tool to interact with a Flyte cluster."

# Setting this will prevent goreleaser to actually try to commit the updated
# formula - instead, the formula file will be stored on the dist folder only,
# leaving the responsibility of publishing it to the user.
# If set to auto, the release will not be uploaded to the homebrew tap
# in case there is an indicator for prerelease in the tag e.g. v1.0.0-rc1
# Default is false.
skip_upload: auto

# Custom block for brew.
# Can be used to specify alternate downloads for devel or head releases.
# Default is empty.
# custom_block: |
# head "https://github.com/some/package.git"
# ...

# Packages your package depends on.
# dependencies:
# - name: git
# - name: zsh
# type: optional

# Packages that conflict with your package.
# conflicts:
# - svn
# - bash

# Specify for packages that run as a service.
# Default is empty.
# plist: |
# <?xml version="1.0" encoding="UTF-8"?>
# ...

# So you can `brew test` your formula.
# Default is empty.
test: system "#{bin}/program --version"

# Custom install script for brew.
# Default is 'bin.install "program"'.
install: bin.install "program"
3 changes: 3 additions & 0 deletions flytectl/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence.
* @kumare3 @enghabu @wild-endeavor
2 changes: 2 additions & 0 deletions flytectl/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
generate:
go test github.com/lyft/flytectl/cmd --update
21 changes: 21 additions & 0 deletions flytectl/cmd/config/config.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package config

import (
"github.com/lyft/flytestdlib/config"
)

//go:generate pflags Config

var (
defaultConfig = &Config{}
section = config.MustRegisterSection("root", defaultConfig)
)

type Config struct {
Project string `json:"project" pflag:",Specifies the project to work on."`
Domain string `json:"domain" pflag:",Specified the domain to work on."`
}

func GetConfig() *Config {
return section.GetConfig().(*Config)
}
47 changes: 47 additions & 0 deletions flytectl/cmd/config/config_flags.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 5e0c7ec

Please sign in to comment.