Skip to content

Commit

Permalink
Merge pull request #23 from eapolinario/prepare-monorepo--flytectl
Browse files Browse the repository at this point in the history
Prepare monorepo  flytectl
  • Loading branch information
eapolinario authored Apr 30, 2024
2 parents bcd81b6 + 973f694 commit 1202625
Show file tree
Hide file tree
Showing 537 changed files with 55,306 additions and 0 deletions.
1 change: 1 addition & 0 deletions flytectl/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docs/**/**/*rst linguist-generated=true
32 changes: 32 additions & 0 deletions flytectl/.github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
## Read then delete

- Make sure to use a concise title for the pull-request.
- Use #patch, #minor #majora or #none in the pull-request title to bump the corresponding version. Otherwise, the patch version
will be bumped. [More details](https://github.com/marketplace/actions/github-tag-bump)

# TL;DR
_Please replace this text with a description of what this PR accomplishes._

## Type
- [ ] Bug Fix
- [ ] Feature
- [ ] Plugin

## Are all requirements met?

- [ ] Code completed
- [ ] Smoke tested
- [ ] Unit tests added
- [ ] Code documentation added
- [ ] Any pending items have an associated Issue

## Complete description
_How did you fix the bug, make the feature etc. Link to any design docs etc_

## Tracking Issue
https://github.com/flyteorg/flyte/issues/<number>

## Follow-up issue
_NA_
OR
_https://github.com/flyteorg/flyte/issues/<number>_
165 changes: 165 additions & 0 deletions flytectl/.github/workflows/checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
name: Flytectl Checks

on:
workflow_dispatch:
pull_request:
branches:
- master
paths-ignore:
- "docs/**"
- "boilerplate/**"
push:
branches:
- master
paths-ignore:
- "docs/**"
- "boilerplate/**"

jobs:
lint:
name: Lint
uses: flyteorg/flytetools/.github/workflows/lint.yml@master
with:
go-version: 1.19

tests:
name: Unit Tests
uses: flyteorg/flytetools/.github/workflows/tests.yml@master
secrets:
FLYTE_BOT_PAT: ${{ secrets.FLYTE_BOT_PAT }}
with:
go-version: 1.19

generate:
name: Check Go Gennerate
uses: flyteorg/flytetools/.github/workflows/go_generate.yml@master
with:
go-version: 1.19

dry_run_goreleaser:
name: Dry Run Goreleaser
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: "2"
- uses: actions/cache@v2
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }}
- uses: actions/setup-go@v3
with:
go-version: '1.19'
- name: Run GoReleaser dry run
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: --snapshot --skip-publish --rm-dist

sandbox:
name: Test Getting started
runs-on: ubuntu-latest
steps:
- uses: insightsengineering/disk-space-reclaimer@v1
- name: Checkout
uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }}
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.19
- name: Build Flytectl binary
run: make compile
- name: Create a sandbox cluster
run: |
bin/flytectl demo start
# Sleep is necessary here since `flyte-proxy` might not be ready
# to serve requests when the above command exits successfully.
# Fixed in: https://github.com/flyteorg/flyte/pull/4348
# TODO (jeev): Remove this when ^ is released.
sleep 10
- name: Setup flytectl config
run: bin/flytectl config init
- name: Register cookbook
run: bin/flytectl register examples -d development -p flytesnacks
- name: Teardown Sandbox cluster
run: bin/flytectl sandbox teardown

bump_version:
name: Bump Version
if: ${{ github.event_name != 'pull_request' }}
needs: [ lint, tests, generate, dry_run_goreleaser, sandbox ] # Only to ensure it can successfully build
uses: flyteorg/flytetools/.github/workflows/bump_version.yml@master
secrets:
FLYTE_BOT_PAT: ${{ secrets.FLYTE_BOT_PAT }}

generate_docs:
name: Generate documentation
needs: [ bump_version ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
lfs: true
- uses: actions/setup-go@v1
with:
go-version: '1.19'
- uses: actions/setup-python@v1
with:
python-version: 3.8
- uses: actions/cache@v2
with:
path: ~/.cache/pip
key: docs-pip-${{ runner.os }}-${{ hashFiles('doc-requirements.txt') }}-${{ hashFiles('doc-requirements.in') }}
restore-keys: docs-pip-
- uses: crazy-max/ghaction-import-gpg@v3
with:
gpg-private-key: ${{ secrets.FLYTE_BOT_GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.FLYTE_BOT_GPG_PASSPHRASE }}
git-user-signingkey: true
git-commit-gpgsign: true
- name: Install Dependencies
run: |
# Install all requirments
pip install -r doc-requirements.txt
- name: Generate documentation
run: |
make -C docs gendocs
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.FLYTE_BOT_PAT }}
commit-message: Update documentation
committer: Flyte-Bot <[email protected]>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
signoff: true
branch: flyte-bot-update-documentation
delete-branch: true
title: 'Update documentation'
body: |
Update documentation
- Auto-generated by [flyte-bot]
labels: |
documentation
draft: false

goreleaser:
name: Goreleaser
needs: [ bump_version ] # Only to ensure it can successfully build
uses: flyteorg/flytetools/.github/workflows/goreleaser.yml@master
with:
# https://github.com/docker/cli/issues/4437 describes an issue that affects the latest
# version of go 1.19 and 1.20, so pinning to latest known good version for now.
go-version: "1.19.10"
secrets:
FLYTE_BOT_PAT: ${{ secrets.FLYTE_BOT_PAT }}

54 changes: 54 additions & 0 deletions flytectl/.github/workflows/monodocs_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Monodocs Build

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
docs:
name: Monodocs Build
runs-on: ubuntu-latest
steps:
- name: Fetch flytectl code
uses: actions/checkout@v4
with:
path: "${{ github.workspace }}/flytectl"
- name: Fetch flyte code
uses: actions/checkout@v4
with:
repository: flyteorg/flyte
path: "${{ github.workspace }}/flyte"
- uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
python-version: 3.9
- shell: bash -el {0}
working-directory: ${{ github.workspace }}/flyte
run: |
conda install -c conda-forge conda-lock
conda-lock install -n monodocs-env monodocs-environment.lock.yaml
- shell: bash -el {0}
working-directory: ${{ github.workspace }}/flyte
run: |
conda activate monodocs-env
pip install ./flyteidl
conda info
conda list
conda config --show-sources
conda config --show
printenv | sort
- name: Build the documentation
working-directory: ${{ github.workspace }}/flyte
shell: bash -el {0}
env:
FLYTECTL_LOCAL_PATH: ${{ github.workspace }}/flytectl
run: |
conda activate monodocs-env
make -C docs clean html SPHINXOPTS="-W -vvv"
21 changes: 21 additions & 0 deletions flytectl/.github/workflows/upgrade_automation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Upgrade Automation
on:
workflow_dispatch:
inputs:
component:
description: "Name of Flyte component"
required: true
default: "boilerplate"
type: choice
options:
- boilerplate
- flyteidl
- flytestdlib
jobs:
trigger-upgrade:
name: ${{ github.event.inputs.component }} Upgrade
uses: flyteorg/flytetools/.github/workflows/flyte_automation.yml@master
with:
component: ${{ github.event.inputs.component }}
secrets:
FLYTE_BOT_PAT: ${{ secrets.FLYTE_BOT_PAT }}
12 changes: 12 additions & 0 deletions flytectl/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
dist/
.idea
vendor
bin
.DS_Store
_test
./config.yaml
docs/build/*
cmd/upgrade/flyte.ext
.vscode
# direnv
.envrc
30 changes: 30 additions & 0 deletions flytectl/.golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# WARNING: THIS FILE IS MANAGED IN THE 'BOILERPLATE' REPO AND COPIED TO OTHER REPOSITORIES.
# ONLY EDIT THIS FILE FROM WITHIN THE 'FLYTEORG/BOILERPLATE' REPOSITORY:
#
# TO OPT OUT OF UPDATES, SEE https://github.com/flyteorg/boilerplate/blob/master/Readme.rst

run:
skip-dirs:
- pkg/client

linters:
disable-all: true
enable:
- deadcode
- errcheck
- gas
- goconst
- goimports
- golint
- gosimple
- govet
- ineffassign
- misspell
- nakedret
- staticcheck
- structcheck
- typecheck
- unconvert
- unparam
- unused
- varcheck
Loading

0 comments on commit 1202625

Please sign in to comment.