11---
22version : ' 3'
3-
43includes :
54 ansible :
65 taskfile : ./.config/taskfiles/ansible/Taskfile.yml
@@ -185,7 +184,6 @@ includes:
185184 local :
186185 taskfile : ./../../../Taskfile-local.yml
187186 optional : true
188-
189187 log :
190188 optional : true
191189 taskfile : ./.config/taskfiles/log/Taskfile.yml
@@ -316,7 +314,6 @@ includes:
316314 taskfile : ./.config/taskfiles/web/Taskfile-profile.yml
317315 optional : true
318316output : interleaved
319-
320317vars :
321318 DOCKERHUB_PROFILE :
322319 sh : |
@@ -369,11 +366,7 @@ vars:
369366 GROUP_EXEC_ASYNC : ' false'
370367 # yamllint disable rule:line-length
371368 IGNORE_FOLDERS : >-
372- -path './.autodoc/*' -o -path './.cache/*' -o -path './.common*' -o -path './.config/*' -o -path './.git/*' -o
373- -path './.modules/*' -o -path './.npm/*' -o
374- -path './.pnpm-store/*' -o -path './.shared/*' -o -path './.task/*' -o -path './.venv/*' -o -path './.vscode/*' -o
375- -path './build/*' -o -path './dist/*' -o -path './node_modules/*' -o -path './roles/*' -o -name pnpm-lock.yaml -o
376- -name package-lock.json -o -name poetry.lock -o -name '.variables.json' -o -name '.git'
369+ -path './.autodoc/*' -o -path './.cache/*' -o -path './.common*' -o -path './.config/*' -o -path './.git/*' -o -path './.modules/*' -o -path './.npm/*' -o -path './.pnpm-store/*' -o -path './.shared/*' -o -path './.task/*' -o -path './.venv/*' -o -path './.vscode/*' -o -path './build/*' -o -path './dist/*' -o -path './node_modules/*' -o -path './roles/*' -o -name pnpm-lock.yaml -o -name package-lock.json -o -name poetry.lock -o -name '.variables.json' -o -name '.git'
377370 INIT_SCRIPT : https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/scripts/update-init.sh
378371 LOG_FIX :
379372 sh : chmod +x .config/log
@@ -405,34 +398,13 @@ vars:
405398 fi
406399 PYTHON_VIRTUALENV : true
407400 REPOSITORY_SUBTYPE :
408- sh : |
409- if [ -n "$REPOSITORY_TYPE" ]; then REPO_SUBTYPE="$REPOSITORY_TYPE"; fi
410- if type jq &> /dev/null && [ -f package.json ]; then
411- VER="$(jq -r '.blueprint.subgroup' package.json)"
412- if [ "$VER" == 'null' ]; then
413- if [ -n "$REPO_SUBTYPE" ]; then echo "$REPO_SUBTYPE"; else echo "misc"; fi
414- else
415- echo "$VER"
416- fi
417- else
418- if [ -n "$REPO_SUBTYPE" ]; then echo "$REPO_SUBTYPE"; else echo "misc"; fi
419- fi
401+ sh : if type jq &> /dev/null && [ -f package.json ]; then VER="$(jq -r .blueprint.subgroup package.json)"; if [ "$VER" == null ]; then echo "$REPOSITORY_TYPE"; else echo "$VER"; fi; else echo "$REPOSITORY_TYPE"; fi
420402 REPOSITORY_TYPE :
421- sh : |
422- if [ -n "$GROUP_TYPE" ]; then REPO_TYPE="$GROUP_TYPE"; fi
423- if type jq &> /dev/null && [ -f package.json ]; then
424- VER="$(jq -r '.blueprint.group' package.json)"
425- if [ "$VER" == 'null' ]; then
426- if [ -n "$REPO_TYPE" ]; then echo "$REPO_TYPE"; else echo "misc"; fi
427- else
428- echo "$VER"
429- fi
430- else
431- if [ -n "$REPO_TYPE" ]; then echo "$REPO_TYPE"; else echo "misc"; fi
432- fi
403+ sh : if type jq &> /dev/null && [ -f package.json ]; then VER="$(jq -r .blueprint.group package.json)"; if [ "$VER" == null ]; then echo "$GROUP_TYPE"; else echo "$VER"; fi; else echo "$GROUP_TYPE"; fi
433404 SEMANTIC_CONFIG : semantic-release-config
434405 TIMEZONE : America/New_York
435-
406+ includes :
407+ common:start : ./.config/taskfiles/common/Taskfile-start.yml
436408env :
437409 GOPATH :
438410 sh : |
465437 fi
466438 VOLTA_HOME :
467439 sh : echo "$HOME/.volta"
468-
469440profile : |
470441 if [[ "$OSTYPE" == 'linux-gnu'* ]] || [[ "$OSTYPE" == 'linux-musl'* ]]; then
471442 if [ -f /home/linuxbrew/.linuxbrew/bin/brew ] && ! type brew > /dev/null; then
@@ -484,7 +455,6 @@ profile: |
484455 if [ -f .venv/bin/activate ]; then
485456 . .venv/bin/activate
486457 fi
487-
488458tasks :
489459 build :
490460 deps :
@@ -513,7 +483,6 @@ tasks:
513483 else
514484 [[ $- == *i* ]] && task prepare || (.config/log error '{{.NONINTERACTIVE_MISSING_BUILD_CMD}}' && exit 1)
515485 fi
516-
517486 clean :
518487 desc : Removes optional folders that are cached during various tasks
519488 summary : |
@@ -524,13 +493,11 @@ tasks:
524493 which will re-generate the project from scratch. Ideally, this task and the reset task
525494 should never be necessary. The `start` task should be used instead.
526495 vars :
527- CLEAN_TARGETS : .autodoc .cache .task .venv node_modules tsconfig.tsbuildinfo venv
528- .variables.json
496+ CLEAN_TARGETS : .autodoc .cache .task .venv node_modules tsconfig.tsbuildinfo venv .variables.json
529497 cmds :
530498 - task : common:clean
531499 vars :
532500 CLEAN_TARGETS : ' {{.CLEAN_TARGETS}}'
533-
534501 commit :
535502 desc : Lint staged files, report spelling errors, and open a _required_ commit dialoge
536503 summary : |
@@ -547,7 +514,6 @@ tasks:
547514 to your regular `git commit -m` command to bypass the pre-commit hook.
548515 cmds :
549516 - task : common:commit
550-
551517 commit:all :
552518 deps :
553519 - install:software:git
@@ -585,26 +551,20 @@ tasks:
585551 git add --all
586552 git commit
587553 {{end}}
588-
589554 commit:quick :
590555 deps :
591556 - ci:commit:config
592557 cmds :
593558 - |
594559 task --list > /dev/null || (echo "ERROR: Invalid Taskfiles!" && exit 1)
595560 git add --all
596- - |
597- .config/log info 'Bypassing git hooks for git commit'
598- HUSKY=0 git commit -m "🔧 chore(tweak): quick minor update" --no-verify
561+ - " .config/log info 'Bypassing git hooks for git commit'\n HUSKY=0 git commit -m \"\U0001F527 chore(tweak): quick minor update\" --no-verify\n "
599562 - git push origin master
600-
601563 devcontainer :
602564 deps :
603565 - install:npm:devcontainer
604566 - install:software:docker
605-
606567 donothing : ' true'
607-
608568 fix :
609569 desc : Run code auto-fixers / auto-formatters
610570 summary : |
@@ -615,7 +575,6 @@ tasks:
615575 an error so the auto-fixes still have to be validated.
616576 cmds :
617577 - task : fix:all
618-
619578 fresh :
620579 summary : Initialize a new project with only the Taskfile.yml present
621580 cmds :
@@ -627,7 +586,6 @@ tasks:
627586 - TMP="$(mktemp)" && jq -r 'del(.blueprint)' package.json > "$TMP" && mv "$TMP" package.json
628587 - bash start.sh
629588 - task : prepare
630-
631589 get:links :
632590 deps :
633591 - install:software:jq
@@ -640,7 +598,6 @@ tasks:
640598 cmds :
641599 - .config/log info 'GitHub -----> `{{.GITHUB_URL}}`'
642600 - .config/log info 'GitLab -----> `{{.GITLAB_URL}}`'
643-
644601 group:exec :
645602 desc : Execute group commands on any GitLab group (including repositories in sub-groups)
646603 summary : |
@@ -661,7 +618,6 @@ tasks:
661618 Be sure to wrap the command in quotes or you might observe some odd behavior.
662619 cmds :
663620 - task : git:gitlab:group:exec
664-
665621 init :
666622 deps :
667623 - install:software:jq
@@ -694,12 +650,10 @@ tasks:
694650 - git init
695651 - task : repair
696652 - task : prepare
697-
698653 jumpusb :
699654 desc : Creates a JumpUSB (https://jumpusb.com)
700655 cmds :
701656 - task : install:ventoy
702-
703657 lint :
704658 desc : Lints the project using all linters
705659 summary : |
@@ -713,7 +667,6 @@ tasks:
713667 `task lint`
714668 cmds :
715669 - task : lint:all
716-
717670 livereload :
718671 deps :
719672 - install:npm:nodemon
@@ -753,12 +706,10 @@ tasks:
753706 .config/log error '`Taskfile-project.yml` must exist and have a `livereload` task to use with `nodemon`' && exit 1
754707 fi
755708 - nodemon --config {{if .CLI_ARGS}}{{.CLI_ARGS}}{{else}}.config/nodemon.json{{end}}
756-
757709 new:project :
758710 desc : Create a new project
759711 cmds :
760712 - task : prepare
761-
762713 preload :
763714 desc : Set up your workstation in advance by installing commonly used programs
764715 summary : |
@@ -801,7 +752,6 @@ tasks:
801752 - task : install:pipx:bundle
802753 - task : install:python:requirements
803754 - task : install:modules:local
804-
805755 prepare :
806756 desc : Prepares the project for the normal start command
807757 summary : |
@@ -818,7 +768,6 @@ tasks:
818768 cmds :
819769 - task : boilerplate:check:package
820770 - task : boilerplate:clean
821-
822771 publish :
823772 desc : Publish a semantic release via `semantic-release`
824773 summary : |
@@ -866,7 +815,6 @@ tasks:
866815 success : Successfully ran `semantic-release` via `task publish`
867816 cmds :
868817 - task : publish:semantic-release
869-
870818 publish:force :
871819 desc : Force a `semantic-release` even if there are no new eligible commits
872820 summary : |
@@ -892,11 +840,8 @@ tasks:
892840 start : Publishing `semantic-release` update via `task publish:force`
893841 success : Successfully published update via `task publish:force`
894842 cmds :
895- - |
896- .config/log info 'Bypassing git hooks for git commit'
897- HUSKY=0 git commit -a --allow-empty -m '🔨 chore(bump): Forced semantic-release {{.UPDATE_LEVEL}}' --no-verify
843+ - " .config/log info 'Bypassing git hooks for git commit'\n HUSKY=0 git commit -a --allow-empty -m '\U0001F528 chore(bump): Forced semantic-release {{.UPDATE_LEVEL}}' --no-verify\n "
898844 - task : publish
899-
900845 pull:upstream :
901846 desc : Pull from upstream repositories
902847 summary : |
@@ -913,7 +858,6 @@ tasks:
913858 success : Successfully pulled from `upstreamRemotes`
914859 cmds :
915860 - task : common:update:upstream:remotes:pull
916-
917861 repair :
918862 cmds :
919863 - task : common:repair
@@ -924,7 +868,6 @@ tasks:
924868 else
925869 curl -sSL {{.INIT_SCRIPT}} > "$TMP" && bash "$TMP" && rm "$TMP"
926870 fi
927-
928871 reset :
929872 desc : Resets the project by removing all caches and then re-generating templated files
930873 summary : |
@@ -936,7 +879,6 @@ tasks:
936879 updates, it re-generates any templated files.
937880 cmds :
938881 - task : common:reset
939-
940882 reset:force :
941883 desc : ' Aggressively reset the project (**WARNING** This will wipe uncommitted work)'
942884 summary : |
@@ -955,7 +897,6 @@ tasks:
955897 answer :
956898 cmds :
957899 - task : common:reset:force
958-
959900 scripts :
960901 interactive : true
961902 deps :
@@ -973,7 +914,6 @@ tasks:
973914 start : Running `NTL_RUNNER={{.NPM_PROGRAM}} ntl`
974915 cmds :
975916 - NTL_RUNNER={{.NPM_PROGRAM}} ntl
976-
977917 services :
978918 desc : Update elements of the repository that require API access
979919 summary : |
@@ -986,7 +926,6 @@ tasks:
986926 - task : common:update:services
987927 status :
988928 - ' [ -n "$GITLAB_CI" ] && [ "$REPOSITORY_UPDATE" != "true" ]'
989-
990929 shell :
991930 desc : Start a terminal session using Docker with any Linux operating system
992931 compile : |
@@ -1020,13 +959,11 @@ tasks:
1020959 * ubuntu-21.04
1021960 cmds :
1022961 - task : common:shell
1023-
1024962 ssh-keys :
1025963 deps :
1026964 - cloud:heroku:ssh-keys
1027965 - git:github:ssh-keys
1028966 - git:gitlab:ssh-keys
1029-
1030967 start :
1031968 desc : Start the project by installing / updating dependencies, repairing issues, and opening a tutorial
1032969 summary : |
@@ -1050,7 +987,6 @@ tasks:
1050987 success : Project started!
1051988 cmds :
1052989 - task : common:start
1053-
1054990 synchronize :
1055991 desc : Set up the project and refresh it with the latest changes
1056992 summary : |
@@ -1071,7 +1007,6 @@ tasks:
10711007 success : Successfully synchronized the project with upstream file changes and also bootstrapped the project
10721008 cmds :
10731009 - task : upstream:{{.PROJECT_TYPE}}
1074-
10751010 tag:deps :
10761011 desc : Inject a new command in the `Taskfile.yml` that includes all tasks matching a given tag as deps
10771012 summary : |
@@ -1100,7 +1035,6 @@ tasks:
11001035 ```
11011036 cmds :
11021037 - task : common:util:task:tag:deps
1103-
11041038 template :
11051039 deps :
11061040 - install:npm:liquidjs
@@ -1122,7 +1056,6 @@ tasks:
11221056 preconditions :
11231057 - sh : test -f .variables.json
11241058 msg : This task requires that you have already spun up the project by running `task start`
1125-
11261059 test :
11271060 deps :
11281061 - install:software:jq
@@ -1134,16 +1067,6 @@ tasks:
11341067
11351068 This task calls `npm run test` which functions differently based on the
11361069 definition made in `package.json` under the `.scripts.test` key.
1137- ## Ansible Project Functionality
1138-
1139- For Ansible projects, this task wraps all the supported test methods for Ansible plays into a
1140- convenient multi-question prompt system that supports:
1141-
1142- 1. Docker tests
1143- 2. Headless VirtualBox tests
1144- 3. VirtualBox Desktop tests which are not automatically destroyed
1145- 4. Running the play locally
1146- 5. Running the play over SSH on a remote target
11471070 vars :
11481071 NONINTERACTIVE_MISSING_TEST_CMD : There must be a `.scripts.test` definition in `package.json`!
11491072 cmds :
@@ -1153,7 +1076,6 @@ tasks:
11531076 else
11541077 [[ $- == *i* ]] && task prepare || (.config/log error '{{.NONINTERACTIVE_MISSING_TEST_CMD}}' && exit 1)
11551078 fi
1156-
11571079 update :
11581080 desc : Fully update the repository
11591081 summary : |
@@ -1180,9 +1102,7 @@ tasks:
11801102 cmds :
11811103 - task : common:start
11821104 env :
1183- UPDATE_PROJECT : ' true'
1184- - task : common:update:finish
1185-
1105+ UPDATE_PROJECT : " true"
11861106 yubikey :
11871107 desc : Create an OpenGPG-enabled YubiKey
11881108 summary : |
0 commit comments