From 1b7f92a1202d88d82af5399def6b35d64cbfbe12 Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 23 Oct 2024 12:55:26 -0300 Subject: [PATCH] chore: setup ci workflow update workflows update workflows update workflows update workflows update config add cog config --- .forgejo/workflows/publish.yaml | 48 +++++++++++++++++++++++++++++++ bun.lockb | Bin 80360 -> 81120 bytes bunfig.toml | 4 +++ cog.toml | 39 +++++++++++++++++++++++++ package.json | 12 ++++++-- packages/components/package.json | 7 +++-- packages/core/package.json | 7 +++-- packages/website/package.json | 7 +++-- 8 files changed, 114 insertions(+), 10 deletions(-) create mode 100644 .forgejo/workflows/publish.yaml create mode 100644 bunfig.toml create mode 100644 cog.toml diff --git a/.forgejo/workflows/publish.yaml b/.forgejo/workflows/publish.yaml new file mode 100644 index 0000000..836dec5 --- /dev/null +++ b/.forgejo/workflows/publish.yaml @@ -0,0 +1,48 @@ +name: Publish package +on: + push: + workflow_dispatch: +env: + NPM_TAG: ${{ github.ref == 'refs/heads/main' && 'latest' || 'next' }} + +# Variables reference: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs#about-contexts +# Syntax reference: https://forgejo.org/docs/latest/user/actions/ +jobs: + build_and_publish: + runs-on: docker + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Cache Bun dependencies + id: cache + uses: actions/cache@v4 + with: + path: ~/.bun/install/cache + key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }} + restore-keys: | + ${{ runner.os }}-bun- + + - name: Setup Bun + id: "setup_bun" + uses: oven-sh/setup-bun@v2 + + - name: Setup Cog + uses: https://github.com/oknozor/cocogitto-action@v3 + with: + release: false + git-user: 'Cog Bot' + git-user-email: 'cog@alecodes.page' + + - name: Create release + env: + NPM_REGISTRY_TOKEN: ${{ secrets.NPM_TOKEN_FORGEJO }} + run: "cog bump --auto --hook-profile ${{ env.NPM_TAG }}" + + - name: Summary + run: | + echo "Bun executable chache found:\t${{ steps.setup_bun.outputs.cache-hit }}"; + echo "Bun dependencies chache found:\t${{ steps.cache.outputs.cache-hit }}"; + echo "Package published:\t${{ steps.publish.outcome }}"; diff --git a/bun.lockb b/bun.lockb index 74b89ee5e786f7d5853ae637dd256b0630573d6c..9e0278b62e7849ba7b46b3465518c9bacf5878f5 100755 GIT binary patch delta 5333 zcmeHLYgkm(8s2MUkU>WsP?=#sphO^bWJd0zT$FI+%)hDNz&|J~IX3mf5=|?@!`El0syx;q-@B3!& zJ!`FfS>LVuPS+kftuh7q{v$m8`@Lran*+ms=r^TLY);3Z=iLr_T}}%vOIlMjYUr>& zOyKQoq3EM>t=>MTp_OG3`mTbI-T!Gp(16ExwfC+5_Wo;WGbX$?BYC;=9VXz!l}8_?eh?gGvSe><iMr@-F@2!apzgv=j+ z`R@zlej1pcXC&At2wB+!Ahd8yPn$Vw{LGm`Q7?Nx56rJ~TJp5C)Cqzxac0Ww)F~5$ zkrqMlfIk}C85}6Ho6L{RcK>(aPKciacLX1hd5g?8iL-?4T-lK(^B9>2$Q%N8#{v9g zZYT4jV7tE-?1uP7nJZ*2m$_8t7chMMj}Eok|3Elcp9M!32tL#*Fdv#5QT8FO0Q0GN zA1nLtD~@b$55ros$K&%T2gmge1o15 zgb|Xj1Zu3L9zvx`Dy6$1BunZDls)R(Ll9n;d`qDwN~#`eoTL(aD(V9$`!8CX6yGE$ z`xP935=m?Bh*B;qvai}n(I(~q(La`6t3xx^%8Def&dLPtiNp;5fjFD72RI;SbLZwQ|+E)<9OX_W?iIQp+t>jIBvLEj=sBu!%Ge$Y` zOep)2&p_Gp{9~2q0;sXlFTR4Z=Y_>7XDf!XM;}1hkNkW;IZv|_}89*KMaLVd|ZE( z?dSiUgx~t%pX87Kl`G?}&M=%kEiylZYDIhZw6;k zPKHQ%bG7tMMk320^IVZ4=4olo+(ed3*XN3C5k<}u*WO-B!n@^3f z%V^MikrhxW?CbOpb~z<25ZMaa47-w8mdIAoXxKv94qHT;Y>^Qq!>*>?uxm({BeJ!W z3TvZ7IU=1{s3re}iL98?7m73|S4-#7TStDmA}gT`*te)ASEMf&X(@D3B3n;6i$u18 zF2R=C*Sdz2yzMOHzD zu*awt_Bh2AiR=Uw!=9wZB9VS1Ej>?(>@<~;@NgIzA8Ez~jL^+8Jq6 zrp%r$2(7TmXkVVZmY9^-cB6~I8=qPH>z2P)mA%C{_}UKUefM%a}*YoLmXYr-{GpsoVfsIn$Y%?IK$8g$mj_23tfXk9PiBD!IAi_cc6hU|nV1y~I5 z_iv`$pATLD%mwBEi-25UA&>)P18)Jvz*1ldK-8V=uGV}y|VdMwn!>wHknPmE!2D~jJn+R^a{j+#oT0%y?8mTB%Woc*h>~um(;3T1kmL=i)v&5wX4?~l@0XHC-qIPo~QhsScu7j za|l8K#nl_|d>B)2Fe=;ca(}0>!M7H>JF>o`mGy=&WxHOm^5>FWPwQ?w;>w2p$Crv1 zgp{0m;)o;$(iL2QQUM4L*cxGZRGr{R$S2($10F}+?--0q{UD}w(xe%ACnq?vZqm3r z1}~-F(Edh^xyR$vj~#LEAXs+lxHa{#BVmlW=$<}Q zsWcoG?hfcytBQ5Rm0HACxswviYcC&iL~QizJ%dpxUZiw>tZDDl@qr_b2lG7xJ4fq~ zrIbG2HU{rGS3Caij;zO2b9 zQhli@?cjYhuy&{;!4hdNgZN$x7@=G59VE?HFrTmZNSe~1R}GJ(B@L5QC^Fn_&>NMS zL)fiPy&tFhnw@Z`gh%l7mE_lGz{}3sXfP@zi<8~_e|lqquZtt=Dy20V!juxnkPW-0 zEMTFF9C4)x(l^sqG5w3iHyx3{DB9ns4^^rrdzuG!%vw>8K~gS2sjFm>=h@u!?NyG* zENataFcw7F>o6zxcHY}F<4Ce2{yxPt8N!sh&8GDFHvYF}UvR{g%FekbIU(-d_joxX zDl4sM(uXOfpmSb_owrQ5w9%0uRg3W8XvjHgo8ng-;fM^i(!ZOsU4tJ;PbXpe1DbTd zAH8?KpX&zMRTov>bf3D~NY9M6G#zuc4e(&?Rc4E=(3|<#vOJilb8m}j*2{BuE!MO7 zKCXdQJm%4Yt+uui>}j_fn=)TnB2LbnBm2v&wtf+8n(LQxzd_3DYP%A_JY6H?;^eSC JHdQ41_7@Th@k0Or delta 5088 zcmeHLX;f547Jk*xYGW{AQM+keP=X+_ZPY+R8$jYXPB0oV=81_5Br(CbA!>{wG(i+& zT;L)I>WOW}Ni>*#D5G86R26VE>5d;yBI%jmgdP~1w$q(nunIALnocn!W z-Fxf3>Z!4D8!aJqho)ZNTwCLLpM*zx7c`Xy_BDqY>@>f)zo zKlam6qg3up)8O;3^;DO*x-~r$z;C^6H;Ycvg^Ha(X zg5>911DgdQ)6oFoiG&67(-ys&mL>!YmCL=sy#4c%=FLxeO%PsBOJ1BZ=QZJ4m>~3q z|1`K4xI$s4!fO>?0`7@;GT0Y9Ug0Q(gCx!r9NvoKfmKdyR=7do6JQ_QV6Vd46n;

8bsm@xK`NMc@rz(SG~r;W3zfJV znD@Z1kx~~rYQaX7E5Q6d+rd1ZtN7=E{ZO6^Hi2zme&4>}9z5U%fw6Ej+o+~Xkav?! zo-y^{9&lIL%5`1uxRrP7-Wb4^Q_7GS-H(B^dq}jw?@2*Gl7mrL&j^-4A(j}!dic;l zhmOj;BlO?$3~K3XXWi*KqEj*2yoQca2S@0fK{R`4w7wd1>t&id)UFQ<5rjlZt$>n! z7ojFezRZrNnLiS$RTQlLMS=f z2_-jRyhRX1Uc;~x$}auN)cz5=Mhi6$kJei-J>zK46L!M_sF6~*tY?Jb2udSRa-%T6 z2;IG*)I1_ue;-q9JhhCl>&FfggmIE8aH&R@dTO{DT?+M_ly@9ztfV|}Us)x%REbMn zb*aHmt9c7u>WE9}!UbWB+!mKw?^5So$}d6?MoW3qU22C*{p?bMF`QB!%b@E~G5Ssn zzDO-mcKtYXTB4+OLcJ_0-cw1EN`gv}R1MUtk{a?1A1_`vA4<;afRgX`Tr?jg9^C~c z-&q%<-gz37oVOoJj(W!O5#}{!L&+`p8cKdz@F+E!10~=2?@)4HOdJN1hV-->(x66T zNV`#)PlT=_j&{dJ>wbx&=GbVx=~>Kn8scZyPl7@}^swuSo-N-!D%m|#F9<>AZ-sQ9Q46a?N@9{^|HK&9orzr(unK5;kQ{yzc#BNO$1eFFCXor%ZixNmvn1m95l z=dyU(yv&m(FOO%L-4WE<%nU>?;0^C{$Akr8D93+NJX z6NP1qtdQ0Ki>N7Eq}*&z`oqe2R!n&-MY65*q)wE!(5M`dZKY!1HfqliX>$&K$*Oqv z0XbKRY&+cpI%(o+k?o*ezz>P#itNvn2;50!z`u}TjmSQtB;dz%7`ThP-V@nwN&$XC zRlrg*trgiGN(FvO)xggv;C+$prFVd3R0rHgA?rj|PFcYHbP0HX!q$uIAguvbP!sSF zMQ#w;Vafv@q3gh-G-{*Bj!`l2b7}{EL4V2<*_Y%5R?TzhJVA^^_7x=p zzos(aH)JRf*?Bp8^yVf{da^K{ou<@6k&K0&bOEKa zrAXn3FQ=o!M#ift2A)W&$-i2kG;%Dtx@Wt_Y1l zod9*oUy8MqT2Ed6x5C#Qsb{5BLs}BH47lc%J9l;&+?`E1!%O(zpCRAcSW2kv71B@k z2-RRdb$KfWD83rS=LQa;yjq`^N|gxz0P}4A5y#qCx=sVRuM2FwQi zorQ5md+H;otv;O=o%i?Hd=4&LZ4JB)7@4Z` zXLYgV@Fc^sVJl$iN_h$RU04>(0pstw4A>S}5iAF`5=KqmnW^nNy}pn;$Z*l_wHj&_ ztOQmJ+f0)$ieB5Gw!(Phc=w&6&o7Dt4nXaPVc{p7gz={ENB92@fa{eGvRn!(pK|FV z@2)!8MO|*Z;6FEIUdr5*v_-`~6datm>SwEtO%JmSvtVtD-E8FzqpmWLF5eiYs|lnY zE&0q&&Xxc+o=&uE(KQ6o%+_K4%C^&S)VG)Sv<=1Yy0a0MVPO`mu^$A{r>#b_x=)>0 z(%Krkz3zdQ5J^p~CMME9T221yF4xw!d_s>WR@Z4+n+B2frZHUI7T=v-oH1f+%|k6g z-8la|>d9`M&yM~|i`*SV88?k)b*G)5<)4_bq%&Ac7)fO}O>8QiylL`R_vw9>O<+Hz zUvOwy8-w%PjJncb@@pH$deif5CbPPy4!!WGNYo)<2o&}%}RaSjp6Fv zIoG}P%^6-%OSJ@bciqh^I`j}LIHg4ztTdVZN+bZw}AAFq$JEN2)kxP`GsKlZ}^<&!Zf(-y`I+Nvd}XB2a0?s(XccX*T*xfVuW zplTI1Pgv$V`Zo@m6>h?E8Fd974WTVGAW|^B&)r6|m zYp#6U*mUyq1+qkKZtVbt zyKY64FS|p56&Yr>qMwJ=hSx7Ho2^K1X9InOt2@)*S|!d-cPN3qHbyO-enpe*Y?4Q# b;=C(o7hSM3bN5)~hz>_}QfAMQ?Bu@y%SWgK diff --git a/bunfig.toml b/bunfig.toml new file mode 100644 index 0000000..63cb7c5 --- /dev/null +++ b/bunfig.toml @@ -0,0 +1,4 @@ +[install.scopes] + +"@alecodes" = { token = "$NPM_REGISTRY_TOKEN", url = "https://git.alecodes.page/api/packages/alecodes/npm/" } +"@mini-strap" = { token = "$NPM_REGISTRY_TOKEN", url = "https://git.alecodes.page/api/packages/alecodes/npm/" } diff --git a/cog.toml b/cog.toml new file mode 100644 index 0000000..8303a52 --- /dev/null +++ b/cog.toml @@ -0,0 +1,39 @@ +from_latest_tag = true +ignore_merge_commits = false +disable_changelog = false +disable_bump_commit = false +tag_prefix = "v" +generate_mono_repository_global_tag = true +branch_whitelist = [] +skip_ci = "[skip ci]" +skip_untracked = false +pre_bump_hooks = [] +post_bump_hooks = [] +pre_package_bump_hooks = [ + "echo 'bump package {{package}} to {{version}}'", + "sed -E -i 's/(\"version\":) \"[0-9.]{5}\"/\\1 \"{{version}}\"/gi' package.json", +] +post_package_bump_hooks = [] + +[git_hooks] + +[commit_types] + +[changelog] +path = "CHANGELOG.md" +authors = [] + +[bump_profiles.latest] +pre_package_bump_hooks = [ + "bun run ci:publish --tag latest", +] + +[bump_profiles.next] +pre_package_bump_hooks = [ + "bun run ci:publish --tag next", +] + +[packages] +"@mini-strap/core" = { path = "packages/core" } +"@mini-strap/components" = { path = "packages/components" } +"@mini-strap/website" = { path = "packages/website", public_api = false } diff --git a/package.json b/package.json index 5b82e52..cd42aea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,8 @@ { - "name": "mini-strap", + "name": "@alecodes/mini-strap", + "version": "0.0.1", "module": "index.ts", + "private": true, "devDependencies": { "@eslint/js": "^9.10.0", "@types/bun": "latest", @@ -14,8 +16,12 @@ "typescript": "^5.0.0" }, "scripts": { - "dev": "bun --filter '*' dev" + "dev": "bun --filter '*' dev", + "ci:publish": "bun --filter '**/core' ci:publish", + "bump": "cog bump --auto --skip-untracked" }, "type": "module", - "workspaces": ["packages/*"] + "workspaces": [ + "packages/*" + ] } diff --git a/packages/components/package.json b/packages/components/package.json index 5dcfbc8..35b8200 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,7 +1,11 @@ { - "name": "mini-strap-components", + "name": "@mini-strap/components", + "version": "0.0.1", "module": "src/components.scss", "type": "module", + "scripts": { + "ci:publish": "bun publish --production --frozen-lockfile" + }, "devDependencies": { "@types/bun": "latest" }, @@ -9,4 +13,3 @@ "typescript": "^5.0.0" } } - diff --git a/packages/core/package.json b/packages/core/package.json index dce323a..379bddc 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,11 @@ { - "name": "mini-strap-core", + "name": "@mini-strap/core", + "version": "0.0.1", "module": "src/style.scss", "type": "module", + "scripts": { + "ci:publish": "bun publish --production --frozen-lockfile --silent" + }, "devDependencies": { "@types/bun": "latest" }, @@ -9,4 +13,3 @@ "typescript": "^5.0.0" } } - diff --git a/packages/website/package.json b/packages/website/package.json index 2114401..1facccc 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,12 +1,13 @@ { - "name": "mini-strap-website", + "name": "@mini-strap/website", "private": true, - "version": "0.0.0", + "version": "0.0.1", "type": "module", "scripts": { "dev": "vite --port 3000", "build": "tsc && vite build", - "preview": "vite preview" + "preview": "vite preview", + "ci:publish": "echo 'no publish workflow defined to this package...'" }, "devDependencies": { "sass-embedded": "^1.78.0",