\u003Cbr /> \u003Cimg width=\"502\" alt=\"Screen Shot 2022-03-25 at 2 57 18 PM\" src=\"https://user-images.githubusercontent.com/734428/160080618-1320d0f9-5674-4133-9a57-9fd7f6e77ce2.png\"> | **3m** \u003Cbr />\u003Cbr /> \u003Cimg width=\"498\" alt=\"Screen Shot 2022-03-25 at 2 54 50 PM\" src=\"https://user-images.githubusercontent.com/734428/160080718-4f3fad38-71e5-4793-a839-797a0f87b65e.png\">\r\nInstall Deps in Actions | [1m 25s](https://github.com/kodadot/nft-gallery/runs/5676422402?check_suite_focus=true#step:4:35) | [**28s**](https://github.com/kodadot/nft-gallery/runs/5687650302?check_suite_focus=true#step:6:467)\r\n\r\n\r\nimpressive time savings.\r\nCurious if you would be keen to write an article on how we've migrated from yarn to pnpm? \r\nSome people might find it interesting as we are still early! \r\nThis morning found friends deciding between npm and yarn 😅.\r\n\r\nWe are usually publishing at https://medium.com/kodadot :)\r\n\r\nIssue is reserved for @preschian \r\n\r\n_Originally posted by @yangwao in https://github.com/kodadot/nft-gallery/issues/2643#issuecomment-1078864547_\r\n\r\n### Ref \r\n- https://medium.com/pnpm/why-should-we-use-pnpm-75ca4bfe7d93#:~:text=pnpm%20is%20not%20only%20faster,them%20from%20the%20global%20store.\r\n- https://rushjs.io/pages/maintainer/package_managers/\r\n- https://blog.logrocket.com/javascript-package-managers-compared/\r\n- [What does make pnpm special?](https://twitter.com/moo9000/status/1507297097070043184)\r\n- PNPM is the only option that solves the [NPM doppelgangers](https://rushjs.io/pages/advanced/npm_doppelgangers/) problem. In a complex monorepo, doppelgangers sometimes cause a lot of trouble, so PNPM has an important advantage in this regard.\r\n- we can push KodaDot logo to https://pnpm.io/users",[2865,2868,2871],{"name":2866,"color":2867},"$$","0E8A16",{"name":2869,"color":2870},"p3","D4C5F9",{"name":2872,"color":2873},"A-writing-✍️","FBCA04",2671,"kodadot","nft-gallery","open","How we've migrated from yarn to pnpm","2023-05-18T11:23:54Z","https://github.com/kodadot/nft-gallery/issues/2671",0.80059755,{"description":2883,"labels":2884,"number":2891,"owner":2875,"repository":2876,"state":2877,"title":2892,"updated_at":2893,"url":2894,"score":2895},"- workflow to preview histoire component with netlify",[2885,2888,2890],{"name":2886,"color":2887},"enhancement","a2eeef",{"name":2889,"color":2867},"$",{"name":2869,"color":2870},4464,"Github CI: deploy preview for histoire","2023-01-09T08:41:50Z","https://github.com/kodadot/nft-gallery/issues/4464",0.80103713,{"description":2897,"labels":2898,"number":2905,"owner":2875,"repository":2876,"state":2906,"title":2907,"updated_at":2908,"url":2909,"score":2910},"Currently, there is this config, BUT would be perfect to abstract Netlify builds where Netlify serves to check if everything is OK!\r\n\r\nWith Github Actions as it's free, we don't need to pay for every build success or fail tho.\r\n\r\n### Actions to do\r\n- Configure Github Actions build as workflow, really basic one, just to tell us if stuff builds or not\r\n- Add to Renovate bot config `[skip ci]` to commit message https://docs.renovatebot.com/configuration-options/#commitmessage\r\n- Check if your Github Actions builds even there is `[skip ci]`\r\n\r\nhttps://github.com/kodadot/nft-gallery/blob/main/.github/renovate.json\r\n\r\n_Originally posted by @yangwao in https://github.com/kodadot/nft-gallery/issues/1500#issuecomment-1017718653_",[2899,2900,2902],{"name":2866,"color":2867},{"name":2901,"color":2870},"p2",{"name":2903,"color":2904},"v2.2","6AC658",1974,"closed","Set Github Actions building","2022-01-27T12:56:00Z","https://github.com/kodadot/nft-gallery/issues/1974",0.75887907,{"description":2912,"labels":2913,"number":2916,"owner":2875,"repository":2876,"state":2906,"title":2917,"updated_at":2918,"url":2919,"score":2920},"It's related to the deploy environment\r\n\r\nnew one: https://deploy-preview-11317--polkadot.netlify.app/ahp/collection/244\r\n\r\noriginal: https://deploy-preview-11317--koda-canary.netlify.app/ahp/collection/244\r\n\r\n_Originally posted by @Jarsen136 in https://github.com/kodadot/nft-gallery/issues/11318#issuecomment-2566997713_\r\n \r\n\r\n\u003Cimg width=\"821\" alt=\"image\" src=\"https://github.com/user-attachments/assets/1dd14728-f326-4886-a4eb-dab719c9ed45\" />\r\n\u003Cimg width=\"857\" alt=\"image\" src=\"https://github.com/user-attachments/assets/e103dc3a-e5c8-4f76-82c9-180a483a3628\" />\r\n\r\nIt looks like every PR has these double deployment. We should only keep one netlify deployment env.\r\n\r\n@vikiival Do you have access to the netlify dashboard?\r\n",[2914],{"name":2915,"color":2873},"A-maintenance",11326,"Double deploy on netlify for all the branchs","2025-02-13T16:33:26Z","https://github.com/kodadot/nft-gallery/issues/11326",0.764232,{"description":2922,"labels":2923,"number":2934,"owner":2875,"repository":2876,"state":2906,"title":2935,"updated_at":2936,"url":2937,"score":2938},"Time has come and I need to work on other stuff so we've decided to step up automatization\r\n\r\n- [x] check on GitHub workflow and write one in JS/Rust as GH workflow\r\n- [x] generate a new address (and setup identity for the new address)\r\n- [x] parse from pull request, if there is a KSM address of the original author, prefer payout format or we should invent our own URI for this?\r\n- [ ] publish on GitHub marketplace\r\n- [ ] ???\r\n- [ ] PROFIT\r\n- [ ] make the private key as gh secret for now? later as env at netlify?\r\n\r\nCandidates we've found we're in Rust or we can use for now [Probot](https://github.com/probot/probot) as it's few Polkadotjs calls, like sign stuff etc\r\n\r\n### Ref\r\n- [Secrets are not passed to workflows that are triggered by a pull request from a fork. Learn more.](https://docs.github.com/en/actions/security-guides/encrypted-secrets)\r\n- [PolkadotJS](https://polkadot.js.org/docs/api/examples/promise/simple-connect) -- [SimpleConnect](https://polkadot.js.org/docs/api/examples/promise/simple-connect)\r\n- [Make Simple Transfer](https://polkadot.js.org/docs/api/examples/promise/make-transfer)\r\n\r\n\r\n\r\n",[2924,2926,2928,2931],{"name":2925,"color":2867},"$$$",{"name":2927,"color":2870},"p5",{"name":2929,"color":2930},"hackathon","91962A",{"name":2932,"color":2933},"experimental","B09211",1565,"Payout LGTM bot v0","2023-04-25T10:53:32Z","https://github.com/kodadot/nft-gallery/issues/1565",0.771639,{"description":2940,"labels":2941,"number":2945,"owner":2875,"repository":2876,"state":2906,"title":2946,"updated_at":2947,"url":2948,"score":2949},"idk what has happend but I recall it wasn't happening with first integration so need review tho",[2942],{"name":2943,"color":2944},"p1","D93F0B",2168,"Remove netlify extra comment on pull requests","2022-02-03T11:49:36Z","https://github.com/kodadot/nft-gallery/issues/2168",0.7824836,{"description":2951,"labels":2952,"number":2958,"owner":2875,"repository":2876,"state":2906,"title":2959,"updated_at":2960,"url":2961,"score":2962},"> We recommend you [update your SDK from sentry.javascript.browser@v6.19.7 to sentry.javascript.browser@v7.29.0](https://docs.sentry.io/platforms/javascript) (All sentry packages should be updated and their versions should match)\r\n\r\nSeems we are using not so latest sentry version.\r\n\r\nRecent is 7.0.2 - https://www.npmjs.com/package/@nuxtjs/sentry\r\n\r\nhttps://github.com/kodadot/nft-gallery/blob/main/package.json#L75\r\n\r\nhttps://sentry.nuxtjs.org/guide/migration\r\n\r\n\r\n\r\nMaybe enable lazy-loading? \r\n- https://sentry.nuxtjs.org/sentry/lazy-loading",[2953,2954,2955],{"name":2889,"color":2867},{"name":2901,"color":2870},{"name":2956,"color":2957},"error-tracking","DA1128",4661,"Bump Sentry to recent version, enrich reported events","2023-01-11T15:42:22Z","https://github.com/kodadot/nft-gallery/issues/4661",0.7897611,{"description":2964,"labels":2965,"number":2967,"owner":2875,"repository":2876,"state":2906,"title":2968,"updated_at":2969,"url":2970,"score":2971},"Check netlify for webhooks",[2966],{"name":2901,"color":2870},2044,"Add to Deploys channel only alarm when build is not successfull","2022-04-08T09:57:29Z","https://github.com/kodadot/nft-gallery/issues/2044",0.7992766,{"description":2973,"labels":2974,"number":2979,"owner":2875,"repository":2876,"state":2906,"title":2980,"updated_at":2981,"url":2982,"score":2983},"https://app.warp.dev/block/7KXK80penFP5ospiPyJ2Ml\r\n\r\n_Originally posted by @preschian in https://github.com/kodadot/nft-gallery/issues/10630#issuecomment-2230208674_\r\n \r\nNeed manual fix. Command: `pnpm run lint:quiet`",[2975,2976],{"name":2886,"color":2887},{"name":2977,"color":2978},"good first issue","5319e7",10631,"Fix leftover eslint issues","2024-07-24T14:48:12Z","https://github.com/kodadot/nft-gallery/issues/10631",0.8029469,{"description":2985,"labels":2986,"number":2992,"owner":2875,"repository":2876,"state":2906,"title":2993,"updated_at":2994,"url":2995,"score":2996},"As started in\r\n- nuxt/framework#2911\r\n\r\nI was unsuccessful to implement cypress as GH action / Netlify plugin, we got the tests available to run locally right now, but the ultimate idea is to move this into automated thing which will run with every PR. @preschian you look like an ideal candidate for this one and it would help us a lot 👀 \r\n\r\nNot sure if any of these references help:\r\n\r\n- https://github.com/cypress-io/netlify-plugin-cypress\r\n- https://docs.cypress.io/guides/continuous-integration/github-actions",[2987,2988,2989,2990],{"name":2886,"color":2887},{"name":2889,"color":2867},{"name":2943,"color":2944},{"name":2991,"color":2873},"A-tests",3679,"Connect Cypress tests into CI/CD pipeline","2023-01-19T17:35:30Z","https://github.com/kodadot/nft-gallery/issues/3679",0.80424875,["Reactive",2998],{},["Set"],["ShallowReactive",3001],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fud1bmZ-u_vBM9e3k9gRZeucKtU_yBuBcE936BenWt5M":-1},"/kodadot/nft-gallery/4679"]