11---
22version : ' 3'
3-
43includes :
54 ansible :
65 taskfile : ./.config/taskfiles/ansible/Taskfile.yml
@@ -311,9 +310,7 @@ includes:
311310 web:profile :
312311 taskfile : ./.config/taskfiles/web/Taskfile-profile.yml
313312 optional : true
314-
315313output : interleaved
316-
317314vars :
318315 DOCKERHUB_PROFILE :
319316 sh : |
@@ -366,11 +363,7 @@ vars:
366363 GROUP_EXEC_ASYNC : ' false'
367364 # yamllint disable rule:line-length
368365 IGNORE_FOLDERS : >-
369- -path './.autodoc/*' -o -path './.cache/*' -o -path './.common*' -o -path './.config/*' -o -path './.git/*' -o
370- -path './.modules/*' -o -path './.npm/*' -o
371- -path './.pnpm-store/*' -o -path './.shared/*' -o -path './.task/*' -o -path './.venv/*' -o -path './.vscode/*' -o
372- -path './build/*' -o -path './dist/*' -o -path './node_modules/*' -o -path './roles/*' -o -name pnpm-lock.yaml -o
373- -name package-lock.json -o -name poetry.lock -o -name '.variables.json' -o -name '.git'
366+ -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'
374367 INIT_SCRIPT : https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/scripts/update-init.sh
375368 LOG_FIX :
376369 sh : chmod +x .config/log
@@ -402,34 +395,13 @@ vars:
402395 fi
403396 PYTHON_VIRTUALENV : true
404397 REPOSITORY_SUBTYPE :
405- sh : |
406- if [ -n "$REPOSITORY_TYPE" ]; then REPO_SUBTYPE="$REPOSITORY_TYPE"; fi
407- if type jq &> /dev/null && [ -f package.json ]; then
408- VER="$(jq -r '.blueprint.subgroup' package.json)"
409- if [ "$VER" == 'null' ]; then
410- if [ -n "$REPO_SUBTYPE" ]; then echo "$REPO_SUBTYPE"; else echo "misc"; fi
411- else
412- echo "$VER"
413- fi
414- else
415- if [ -n "$REPO_SUBTYPE" ]; then echo "$REPO_SUBTYPE"; else echo "misc"; fi
416- fi
398+ 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
417399 REPOSITORY_TYPE :
418- sh : |
419- if [ -n "$GROUP_TYPE" ]; then REPO_TYPE="$GROUP_TYPE"; fi
420- if type jq &> /dev/null && [ -f package.json ]; then
421- VER="$(jq -r '.blueprint.group' package.json)"
422- if [ "$VER" == 'null' ]; then
423- if [ -n "$REPO_TYPE" ]; then echo "$REPO_TYPE"; else echo "misc"; fi
424- else
425- echo "$VER"
426- fi
427- else
428- if [ -n "$REPO_TYPE" ]; then echo "$REPO_TYPE"; else echo "misc"; fi
429- fi
400+ 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
430401 SEMANTIC_CONFIG : semantic-release-config
431402 TIMEZONE : America/New_York
432-
403+ includes :
404+ common:start : ./.config/taskfiles/common/Taskfile-start.yml
433405env :
434406 GOPATH :
435407 sh : |
462434 fi
463435 VOLTA_HOME :
464436 sh : echo "$HOME/.volta"
465-
466437profile : |
467438 if [[ "$OSTYPE" == 'linux-gnu'* ]] || [[ "$OSTYPE" == 'linux-musl'* ]]; then
468439 if [ -f /home/linuxbrew/.linuxbrew/bin/brew ] && ! type brew > /dev/null; then
@@ -481,7 +452,6 @@ profile: |
481452 if [ -f .venv/bin/activate ]; then
482453 . .venv/bin/activate
483454 fi
484-
485455tasks :
486456 build :
487457 deps :
@@ -510,7 +480,6 @@ tasks:
510480 else
511481 [[ $- == *i* ]] && task prepare || (.config/log error '{{.NONINTERACTIVE_MISSING_BUILD_CMD}}' && exit 1)
512482 fi
513-
514483 clean :
515484 desc : Removes optional folders that are cached during various tasks
516485 summary : |
@@ -521,13 +490,11 @@ tasks:
521490 which will re-generate the project from scratch. Ideally, this task and the reset task
522491 should never be necessary. The `start` task should be used instead.
523492 vars :
524- CLEAN_TARGETS : .autodoc .cache .task .venv node_modules tsconfig.tsbuildinfo venv
525- .variables.json
493+ CLEAN_TARGETS : .autodoc .cache .task .venv node_modules tsconfig.tsbuildinfo venv .variables.json
526494 cmds :
527495 - task : common:clean
528496 vars :
529497 CLEAN_TARGETS : ' {{.CLEAN_TARGETS}}'
530-
531498 commit :
532499 desc : Lint staged files, report spelling errors, and open a _required_ commit dialoge
533500 summary : |
@@ -544,7 +511,6 @@ tasks:
544511 to your regular `git commit -m` command to bypass the pre-commit hook.
545512 cmds :
546513 - task : common:commit
547-
548514 commit:all :
549515 deps :
550516 - install:software:git
@@ -582,24 +548,20 @@ tasks:
582548 git add --all
583549 git commit
584550 {{end}}
585-
586551 commit:quick :
587552 deps :
588553 - ci:commit:config
589554 cmds :
590555 - |
591556 task --list > /dev/null || (echo "ERROR: Invalid Taskfiles!" && exit 1)
592557 git add --all
593- - HUSKY=0 git commit -m '🔧 chore(tweak) : quick minor update' --no-verify
558+ - " HUSKY=0 git commit -m '\U0001F527 chore(tweak) " : quick minor update' --no-verify
594559 - git push origin master
595-
596560 devcontainer :
597561 deps :
598562 - install:npm:devcontainer
599563 - install:software:docker
600-
601564 donothing : ' true'
602-
603565 fix :
604566 desc : Run code auto-fixers / auto-formatters
605567 summary : |
@@ -610,7 +572,6 @@ tasks:
610572 an error so the auto-fixes still have to be validated.
611573 cmds :
612574 - task : fix:all
613-
614575 fresh :
615576 summary : Initialize a new project with only the Taskfile.yml present
616577 cmds :
@@ -622,7 +583,6 @@ tasks:
622583 - TMP="$(mktemp)" && jq -r 'del(.blueprint)' package.json > "$TMP" && mv "$TMP" package.json
623584 - bash start.sh
624585 - task : prepare
625-
626586 get:links :
627587 deps :
628588 - install:software:jq
@@ -635,7 +595,6 @@ tasks:
635595 cmds :
636596 - .config/log info 'GitHub -----> `{{.GITHUB_URL}}`'
637597 - .config/log info 'GitLab -----> `{{.GITLAB_URL}}`'
638-
639598 group:exec :
640599 desc : Execute group commands on any GitLab group (including repositories in sub-groups)
641600 summary : |
@@ -656,7 +615,6 @@ tasks:
656615 Be sure to wrap the command in quotes or you might observe some odd behavior.
657616 cmds :
658617 - task : git:gitlab:group:exec
659-
660618 init :
661619 deps :
662620 - install:software:jq
@@ -689,12 +647,10 @@ tasks:
689647 - git init
690648 - task : repair
691649 - task : prepare
692-
693650 jumpusb :
694651 desc : Creates a JumpUSB (https://jumpusb.com)
695652 cmds :
696653 - task : install:ventoy
697-
698654 lint :
699655 desc : Lints the project using all linters
700656 summary : |
@@ -708,7 +664,6 @@ tasks:
708664 `task lint`
709665 cmds :
710666 - task : lint:all
711-
712667 livereload :
713668 deps :
714669 - install:npm:nodemon
@@ -748,12 +703,10 @@ tasks:
748703 .config/log error '`Taskfile-project.yml` must exist and have a `livereload` task to use with `nodemon`' && exit 1
749704 fi
750705 - nodemon --config {{if .CLI_ARGS}}{{.CLI_ARGS}}{{else}}.config/nodemon.json{{end}}
751-
752706 new:project :
753707 desc : Create a new project
754708 cmds :
755709 - task : prepare
756-
757710 preload :
758711 desc : Set up your workstation in advance by installing commonly used programs
759712 summary : |
@@ -796,7 +749,6 @@ tasks:
796749 - task : install:pipx:bundle
797750 - task : install:python:requirements
798751 - task : install:modules:local
799-
800752 prepare :
801753 desc : Prepares the project for the normal start command
802754 summary : |
@@ -813,7 +765,6 @@ tasks:
813765 cmds :
814766 - task : boilerplate:check:package
815767 - task : boilerplate:clean
816-
817768 publish :
818769 desc : Publish a semantic release via `semantic-release`
819770 summary : |
@@ -861,7 +812,6 @@ tasks:
861812 success : Successfully ran `semantic-release` via `task publish`
862813 cmds :
863814 - task : publish:semantic-release
864-
865815 publish:force :
866816 desc : Force a `semantic-release` even if there are no new eligible commits
867817 summary : |
@@ -887,10 +837,8 @@ tasks:
887837 start : Publishing `semantic-release` update via `task publish:force`
888838 success : Successfully published update via `task publish:force`
889839 cmds :
890- - |
891- HUSKY=0 git commit -a --allow-empty -m '🔨 chore(bump): Forced semantic-release {{.UPDATE_LEVEL}}' -n
840+ - " HUSKY=0 git commit -a --allow-empty -m '\U0001F528 chore(bump): Forced semantic-release {{.UPDATE_LEVEL}}' -n\n "
892841 - task : publish
893-
894842 pull:upstream :
895843 desc : Pull from upstream repositories
896844 summary : |
@@ -907,7 +855,6 @@ tasks:
907855 success : Successfully pulled from `upstreamRemotes`
908856 cmds :
909857 - task : common:update:upstream:remotes:pull
910-
911858 repair :
912859 cmds :
913860 - task : common:repair
@@ -918,7 +865,6 @@ tasks:
918865 else
919866 curl -sSL {{.INIT_SCRIPT}} > "$TMP" && bash "$TMP" && rm "$TMP"
920867 fi
921-
922868 reset :
923869 desc : Resets the project by removing all caches and then re-generating templated files
924870 summary : |
@@ -930,7 +876,6 @@ tasks:
930876 updates, it re-generates any templated files.
931877 cmds :
932878 - task : common:reset
933-
934879 reset:force :
935880 desc : ' Aggressively reset the project (**WARNING** This will wipe uncommitted work)'
936881 summary : |
@@ -949,7 +894,6 @@ tasks:
949894 answer :
950895 cmds :
951896 - task : common:reset:force
952-
953897 scripts :
954898 interactive : true
955899 deps :
@@ -967,7 +911,6 @@ tasks:
967911 start : Running `NTL_RUNNER={{.NPM_PROGRAM}} ntl`
968912 cmds :
969913 - NTL_RUNNER={{.NPM_PROGRAM}} ntl
970-
971914 services :
972915 desc : Update elements of the repository that require API access
973916 summary : |
@@ -980,7 +923,6 @@ tasks:
980923 - task : common:update:services
981924 status :
982925 - ' [ -n "$GITLAB_CI" ] && [ "$REPOSITORY_UPDATE" != "true" ]'
983-
984926 shell :
985927 desc : Start a terminal session using Docker with any Linux operating system
986928 compile : |
@@ -1014,13 +956,11 @@ tasks:
1014956 * ubuntu-21.04
1015957 cmds :
1016958 - task : common:shell
1017-
1018959 ssh-keys :
1019960 deps :
1020961 - cloud:heroku:ssh-keys
1021962 - git:github:ssh-keys
1022963 - git:gitlab:ssh-keys
1023-
1024964 start :
1025965 desc : Start the project by installing / updating dependencies, repairing issues, and opening a tutorial
1026966 summary : |
@@ -1044,7 +984,6 @@ tasks:
1044984 success : Project started!
1045985 cmds :
1046986 - task : common:start
1047-
1048987 synchronize :
1049988 desc : Set up the project and refresh it with the latest changes
1050989 summary : |
@@ -1065,7 +1004,6 @@ tasks:
10651004 success : Successfully synchronized the project with upstream file changes and also bootstrapped the project
10661005 cmds :
10671006 - task : upstream:{{.PROJECT_TYPE}}
1068-
10691007 tag:deps :
10701008 desc : Inject a new command in the `Taskfile.yml` that includes all tasks matching a given tag as deps
10711009 summary : |
@@ -1094,7 +1032,6 @@ tasks:
10941032 ```
10951033 cmds :
10961034 - task : common:util:task:tag:deps
1097-
10981035 template :
10991036 deps :
11001037 - install:npm:liquidjs
@@ -1116,7 +1053,6 @@ tasks:
11161053 preconditions :
11171054 - sh : test -f .variables.json
11181055 msg : This task requires that you have already spun up the project by running `task start`
1119-
11201056 test :
11211057 deps :
11221058 - install:software:jq
@@ -1147,7 +1083,6 @@ tasks:
11471083 else
11481084 [[ $- == *i* ]] && task prepare || (.config/log error '{{.NONINTERACTIVE_MISSING_TEST_CMD}}' && exit 1)
11491085 fi
1150-
11511086 update :
11521087 desc : Fully update the repository
11531088 summary : |
@@ -1174,9 +1109,7 @@ tasks:
11741109 cmds :
11751110 - task : common:start
11761111 env :
1177- UPDATE_PROJECT : ' true'
1178- - task : common:update:finish
1179-
1112+ UPDATE_PROJECT : " true"
11801113 yubikey :
11811114 desc : Create an OpenGPG-enabled YubiKey
11821115 summary : |
0 commit comments