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

chore(taskfile): replace makefiles with taskfile #290

Merged
merged 1 commit into from
Mar 21, 2025

Conversation

Fral738
Copy link
Collaborator

@Fral738 Fral738 commented Jan 15, 2025

global tasks list looks like this

task -l
task: Available tasks for this project:
* format:                                Run all formattes in parallel.
* lint:                                  Run all linters.
* sign:                                  Sign last version tag + origin/main and push signatures.
* build:dev:all:                         Build all dev binaries.
* build:dist:all:                        Build all release binaries.
* build:image:builder:                   Build trdl builder image. Important vars: "imageName".
* ci:install:3p-git-signatures:          Install 3p-git-signatires.
* ci:setup:git-config:                   Setup git config.
* client:build:                          Build client dev binary.
* client:build-with-coverage:            Build client binary to run E2E tests with coverage.
* client:build:all:                      Build all client binaries.
* client:build:dev:                      Build all client dev binaries.
* client:build:dev:darwin:amd64:         Build client dev binary for darwin/amd64.
* client:build:dev:darwin:arm64:         Build client dev binary for darwin/arm64.
* client:build:dev:linux:amd64:          Build client dev binary for linux/amd64.
* client:build:dev:linux:arm64:          Build client dev binary for linux/arm64.
* client:build:dev:windows:amd64:        Build client dev binary for windows/amd64.
* client:build:dist:                     Build all client release binaries.
* client:build:dist:darwin:amd64:        Build client release binary for darwin/amd64.
* client:build:dist:darwin:arm64:        Build client release binary for darwin/arm64.
* client:build:dist:linux:amd64:         Build client release binary for linux/amd64.
* client:build:dist:linux:arm64:         Build client release binary for linux/arm64.
* client:build:dist:windows:amd64:       Build client release binary for windows/amd64.
* client:format:                         Run all code formatters. Important vars: "paths".
* client:format:gci:                     Format code with gci. Important vars: "paths".
* client:format:gofumpt:                 Format code with gofumpt. Important vars: "paths".
* client:format:prettier:                Format with prettier.
* client:format:prettier:yaml:           Check if yaml files are prettier-formatted.
* client:lint:                           Run all linters in parallel. Important vars: "paths".
* client:lint:golangci-lint:             Lint with golangci-lint. Important vars: "paths".
* client:lint:golangci-lint:go:          Lint with golangci-lint. Important vars: "paths".
* client:lint:prettier:                  Check if prettier-formatted.
* client:lint:prettier:yaml:             Check if yaml files are prettier-formatted.
* client:verify:dist:binaries:           Verify that the distributable binaries are built and have correct platform/arch.
* deps:install:                          Install all dependencies.
* deps:install:gci:                      Install gci binary.
* deps:install:ginkgo:                   Install ginkgo binary.
* deps:install:gofumpt:                  Install gofumpt binary.
* deps:install:golangci-lint:            Install golangci-lint binary.
* docs:build:trdl-docs:                  Build jekyll image for check broken urls
* docs:check-broken-links:               Check if links in docs is broken
* docs:format:                           Run all code formatters. Important vars: "paths".
* docs:format:prettier:                  Format with prettier.
* docs:format:prettier:yaml:             Check if yaml files are prettier-formatted.
* docs:gen:                              Generate reference
* docs:jekyll:build:                     Build Jekyll site
* docs:jekyll:check-links:               Run link checker
* docs:jekyll:cleanup:                   Run cleanup
* docs:jekyll:run-container:             Run jekyll/builder:3 container.
* docs:lint:                             Run all linters in parallel. Important vars: "paths".
* docs:lint:prettier:                    Check if prettier-formatted.
* docs:lint:prettier:yaml:               Check if yaml files are prettier-formatted.
* e2e:format:                            Run all code formatters. Important vars: "paths".
* e2e:format:gci:                        Format code with gci. Important vars: "paths".
* e2e:format:gofumpt:                    Format code with gofumpt. Important vars: "paths".
* e2e:lint:                              Run all linters in parallel. Important vars: "paths".
* e2e:lint:golangci-lint:                Lint with golangci-lint. Important vars: "paths".
* e2e:lint:golangci-lint:go:             Lint with golangci-lint. Important vars: "paths".
* e2e:test:e2e:                          Run client e2e test.
* server:build:                          Build server dev binary.
* server:build-with-coverage:            Build server binary to run E2E tests with coverage.
* server:build:all:                      Build all server binaries.
* server:build:dev:                      Build all server dev binaries.
* server:build:dev:darwin:amd64:         Build server dev binary for darwin/amd64.
* server:build:dev:darwin:arm64:         Build server dev binary for darwin/arm64.
* server:build:dev:linux:amd64:          Build server dev binary for linux/amd64.
* server:build:dev:linux:arm64:          Build server dev binary for linux/arm64.
* server:build:dev:windows:amd64:        Build server dev binary for windows/amd64.
* server:build:dist:                     Build all server release binaries.
* server:build:dist:darwin:amd64:        Build server release binary for darwin/amd64.
* server:build:dist:darwin:arm64:        Build server release binary for darwin/arm64.
* server:build:dist:linux:amd64:         Build server release binary for linux/amd64.
* server:build:dist:linux:arm64:         Build server release binary for linux/arm64.
* server:build:dist:windows:amd64:       Build server release binary for windows/amd64.
* server:clean:                          Clean up build artifacts and stop services.
* server:configure-vault-plugin:         Enable and configure TRDL Vault plugin.
* server:format:                         Run all code formatters. Important vars: "paths".
* server:format:gci:                     Format code with gci. Important vars: "paths".
* server:format:gofumpt:                 Format code with gofumpt. Important vars: "paths".
* server:format:prettier:                Format with prettier.
* server:format:prettier:yaml:           Check if yaml files are prettier-formatted.
* server:lint:                           Run all linters in parallel. Important vars: "paths".
* server:lint:golangci-lint:             Lint with golangci-lint. Important vars: "paths".
* server:lint:golangci-lint:go:          Lint with golangci-lint. Important vars: "paths".
* server:lint:prettier:                  Check if prettier-formatted.
* server:lint:prettier:yaml:             Check if yaml files are prettier-formatted.
* server:logs:                           Get Vault logs
* server:restart:                        Restart Minio and Vault
* server:setup-minio:                    Set up MinIO container and create bucket.
* server:setup-vault:                    Run Vault server in development mode.
* server:setup:dev-environment:          Set up Vault with TRDL plugin and MinIO.
* server:test:unit:                      Run server unit tests.
* server:verify:dist:binaries:           Verify that the distributable binaries are built and have correct platform/arch.

@Fral738 Fral738 marked this pull request as ready for review January 15, 2025 13:29
Copy link
Member

@alexey-igrychev alexey-igrychev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Follow the same name convention for tasks.

$ task -l
task: Available tasks for this project:
* _compile: 				Compile reference sidebar
* _regen_reference_cli: 		Regenerate CLI reference
* _regen_reference_vault_plugin: 	Regenerate Vault Plugin reference
* build: 				build vault plugin
* configure_minio: 			Configure MinIO buckets and policies
* configure_vault: 			Enable and configure Vault secrets plugins
* deps:install:golangci-lint: 		Install golangci-lint binary.
* deps:install:prettier: 		Install prettier.
* format: 				Run all code formatters. Important vars: "paths".
* format:client: 			Format client code
* format:e2e: 				Format e2e code
* format:server: 			Format server code
* lint:golangci-lint: 			Lint with golangci-lint
* lint:prettier: 			Check if prettier-formatted.
* lint:prettier:yaml: 			Check if yaml files are prettier-formatted.
* regen_reference: 			Regenerate references
* restart: 				restart dev trdl server
* run: 					Set up MinIO and Vault development environment
* setup_minio: 				Set up and configure MinIO
* setup_vault: 				Set up and configure Vault
* sign: 				Sign last version tag + origin/main and push signatures. Important vars: "refs".

@alexey-igrychev alexey-igrychev marked this pull request as draft January 15, 2025 14:09
@Fral738 Fral738 force-pushed the chore/taskfile/convert-makefile-to-taskfile branch 2 times, most recently from d6198ff to bd7c8e1 Compare January 16, 2025 13:48
@Fral738 Fral738 marked this pull request as ready for review January 16, 2025 14:04
@Fral738 Fral738 force-pushed the chore/taskfile/convert-makefile-to-taskfile branch from 61b8d22 to c3380df Compare January 20, 2025 08:59
@Fral738 Fral738 marked this pull request as draft January 23, 2025 13:07
@Fral738 Fral738 force-pushed the chore/taskfile/convert-makefile-to-taskfile branch from 9ebcae0 to fafbfba Compare March 20, 2025 15:44
Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update workflow

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): add task install

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): make var optional

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): update binaries path .gitignore

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update workflow

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): refactor taskfile

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): refactor

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): fix format

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): lint

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): fix syntax remove unnecessary var

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): rename tasks

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update task name

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): rename tasks add desc

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update workflow update taskfile

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): add missing env add working directory

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add dir

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update step

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): add missing step

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update lint

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update env

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): try with paths

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): fix

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): remove race

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): fix path

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): try without cover

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): update taskfile

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): remove race

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): add trdl binary

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): add trdl.test binary build

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

test

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

test

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

test

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): add actions

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore: refactor

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): fix workflow

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): refactor taskfile

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add missing dir

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update steps

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): return gocoverdir

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update action

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add dir

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update notification

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): rename jobs pin ubuntu version

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): refactor taskfile

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): fix deps

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): fix deps

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): revert trdl binary build for docs

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): refactor format tasks replace deps with cmds

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add server build task refactor build tasks update docs task

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(trdl, taskfile): update global taskfile add separate taskfiles to projects

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add client build update docs taskfile

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): update workflows

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add server binary build update client binary build

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): use cmds instead of deps for lint

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add ci tasks update workflows

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add check if links are broken update workflow

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add tests update other taskfiles

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): fix test workflow pin ubuntu version

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): fix git-signatures install

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add docker image

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): refactor tests workflow

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): add upload coverage

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): update client binary build

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): add missing env

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): fix dir path

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(release): add release builder image

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(ci): uncomment notification

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add dist binaries verify update desc in taskfile

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(script): fix path

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore: make script executable disable cgo for server

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(trdl): update release image and commands

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): add defaults and allow overriding template variables

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore(taskfile): update taskfiles

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>

chore: lint

Signed-off-by: Evgeniy Frolov <evgeniy.frolov@flant.com>
@Fral738 Fral738 force-pushed the chore/taskfile/convert-makefile-to-taskfile branch from bafc740 to e7f2482 Compare March 21, 2025 07:34
@Fral738 Fral738 marked this pull request as ready for review March 21, 2025 07:35
@Fral738 Fral738 merged commit b773118 into main Mar 21, 2025
14 checks passed
@Fral738 Fral738 deleted the chore/taskfile/convert-makefile-to-taskfile branch March 21, 2025 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants