|
|
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/nocodb-full-color.png" alt="NocoDB" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/nocodb-full-color.png" alt="NocoDB" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate"></b></a></div><div class="navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a aria-current="page" class="navbar__link active" aria-haspopup="true" aria-expanded="false" role="button" href="/0.109.7/">0.109.7 - Old UI</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/engineering/builds-and-releases">Latest</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/0.109.7/engineering/builds-and-releases">0.109.7 - Old UI</a></li></ul></div><a href="https://github.com/nocodb/nocodb" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-github-link" aria-label="GitHub repository"></a><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/0.109.7/">Welcome</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="true" href="/0.109.7/getting-started/installation">Getting Started</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/0.109.7/getting-started/installation">Installation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/0.109.7/getting-started/environment-variables">Environment Variables</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/0.109.7/getting-started/upgrading">Upgrading</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/0.109.7/getting-started/demos">Demos</a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/0.109.7/setup-and-usages/dashboard">Product</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/0.109.7/developer-resources/accessing-apis">Developer Resources</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/0.109.7/engineering/architecture">Engineering</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/0.109.7/engineering/architecture">Architecture Overview</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/0.109.7/engineering/repository-structure">Repository structure</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/0.109.7/engineering/development-setup">Development Setup</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/0.109.7/engineering/unit-testing">Writing Unit Tests</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/0.109.7/engineering/playwright">Playwright E2E Testing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/0.109.7/engineering/builds-and-releases">Releases & Builds</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/0.109.7/engineering/translation">i18n translation</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/0.109.7/FAQs">FAQs</a></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="theme-doc-version-banner alert alert--warning margin-bottom--md" role="alert"><div>This is documentation for <!-- -->NocoDB<!-- --> <b>0.109.7 - Old UI</b>, which is no longer actively maintained.</div><div class="margin-top--md">For up-to-date documentation, see the <b><a href="/engineering/builds-and-releases">latest version</a></b> (<!-- -->Latest<!-- -->).</div></div><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Engineering</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Releases & Builds</span><meta itemprop="position" content="2"></li></ul></nav><span class="theme-doc-version-badge badge badge--secondary">Version: 0.109.7 - Old UI</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Releases & Builds</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="builds-of-nocodb">Builds of NocoDB<a href="#builds-of-nocodb" class="hash-link" aria-label="Direct link to Builds of NocoDB" title="Direct link to Builds of NocoDB"></a></h2><p>There are 3 kinds of docker builds in NocoDB</p><ul><li>Release builds <a href="https://hub.docker.com/r/nocodb/nocodb" target="_blank" rel="noopener noreferrer">nocodb/nocodb</a> : built during NocoDB release. </li><li>Daily builds <a href="https://hub.docker.com/r/nocodb/nocodb-daily" target="_blank" rel="noopener noreferrer">nocodb/nocodb-daily</a> : built every 6 hours from Develop branch.</li><li>Timely builds <a href="https://hub.docker.com/r/nocodb/nocodb-timely" target="_blank" rel="noopener noreferrer">nocodb/nocodb-timely</a>: built for every PR and manually triggered PRs.</li></ul><p>Below is an overview of how to make these builds and what happens behind the scenes.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="release-builds">Release builds<a href="#release-builds" class="hash-link" aria-label="Direct link to Release builds" title="Direct link to Release builds"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-make-a-release-build--">How to make a release build ?<a href="#how-to-make-a-release-build--" class="hash-link" aria-label="Direct link to How to make a release build ?" title="Direct link to How to make a release build ?"></a></h3><ul><li><p>Click <a href="https://github.com/nocodb/nocodb/actions/workflows/release-nocodb.yml" target="_blank" rel="noopener noreferrer">NocoDB release action</a></p></li><li><p>You should see the below screen</p><p><img loading="lazy" src="https://user-images.githubusercontent.com/35857179/167240353-a02f690f-c865-4ade-8645-64382405c9ea.png" alt="image" class="img_ev3q"></p></li><li><p>Change <code>Use workflow from</code> to <code>Branch: master</code>. If you choose the wrong branch, the workflow will be ended.</p><p><img loading="lazy" src="https://user-images.githubusercontent.com/35857179/167240383-dda05f76-8323-4f4a-b3e7-9db886dbd68d.png" alt="image" class="img_ev3q"></p></li><li><p>Then there would be two cases - you can either leave target tag and pervious tag blank or manually input some values</p></li><li><p>Target Tag means the target deployment version, while Previous Tag means the latest version as of now. Previous Tag is used for Release Note only - showing the file / commit differences between two tags.</p></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="tagging">Tagging<a href="#tagging" class="hash-link" aria-label="Direct link to Tagging" title="Direct link to Tagging"></a></h3><p>The naming convention would be following given the actual release tag is <code>0.100.0</code></p><ul><li><code>0.100.0-beta.0</code> (first version of pre-release)</li><li><code>0.100.0-beta.1</code> (include bug fix changes on top of the previous version)</li><li><code>0.100.0-beta.2</code>(include bug fix changes on top of the previous version)</li><li>and so on ...</li><li><code>0.100.0</code> (actual release)</li><li><code>0.100.1</code> (minor bug fix release)</li><li><code>0.100.2</code> (minor bug fix release)</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="case-1-leaving-inputs-blank">Case 1: Leaving inputs blank<a href="#case-1-leaving-inputs-blank" class="hash-link" aria-label="Direct link to Case 1: Leaving inputs blank" title="Direct link to Case 1: Leaving inputs blank"></a></h3><ul><li>If Previous Tag is blank, then the value will be fetched from <a href="https://github.com/nocodb/nocodb/releases/latest" target="_blank" rel="noopener noreferrer">latest</a></li><li>If Target Tag is blank, then the value will be Previous Tag plus one. Example: 0.90.11 (Previous Tag) + 0.0.1 = 0.90.12 (Target Tag)</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="case-2-manually-input">Case 2: Manually Input<a href="#case-2-manually-input" class="hash-link" aria-label="Direct link to Case 2: Manually Input" title="Direct link to Case 2: Manually Input"></a></h3><p>Why? Sometimes we may mess up in NPM deployment. As NPM doesn't allow us to redeploy to the same tag again, in this case we cannot just use the previous tag + 1. Therefore, we need to use previous tag + 2 instead and we manually configure it.</p><ul><li>After that, click <code>Run workflow</code> to start</li><li>You can see Summary for the overall job status.</li><li>Once <code>release-draft-note</code> and <code>release-executables</code> is finished, then go to <a href="https://github.com/nocodb/nocodb/releases" target="_blank" rel="noopener noreferrer">releases</a>, edit the draft note and save as draft for time being.<ul><li>Example: Adding header, update content if necessary, and click <code>Auto-generate release notes</code> to include more info.</li></ul></li><li>Once <code>release-docker</code> is finished, then test it locally first. You'll be expected to see <code>Upgrade Available</code> notification in UI as we haven't published the release note. (the version is retrieved from there)</li><li>Once everything is finished, then publish the release note and the deployment is considered as DONE.</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="how-does-release-action-work-">How does release action work ?<a href="#how-does-release-action-work-" class="hash-link" aria-label="Direct link to How does release action work ?" title="Direct link to How does release action work ?"></a></h3><h4 class="anchor anchorWithStickyNavbar_LWe7" id="validate-branch">validate-branch<a href="#validate-branch" class="hash-link" aria-label="Direct link to validate-branch" title="Direct link to validate-branch"></a></h4><p>To check if <code>github.ref</code> is master. Otherwise, other branches will be not accepted.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="process-input">process-input<a href="#process-input" class="hash-link" aria-label="Direct link to process-input" title="Direct link to process-input"></a></h4><p>To enrich target tag or previous tag if necessary.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="pr-to-master">pr-to-master<a href="#pr-to-master" class="hash-link" aria-label="Direct link to pr-to-master" title="Direct link to pr-to-master"></a></h4><p>Automate a PR from develop to master branch so that we know the actual differences between the previous tag and the current tag. We choose master branch for a deployment base.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="release-npm">release-npm<a href="#release-npm" class="hash-link" aria-label="Direct link to release-npm" title="Direct link to release-npm"></a></h4><p>Build frontend and backend and release them to NPM. The changes during built such as version bumping will be committed and pushed to a temporary branch and an automated PR will be created and merged to master branch.</p><p>Note that once you publish with a certain tag, you cannot publish with the same tag again.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="release-draft-note">release-draft-note<a href="#release-draft-note" class="hash-link" aria-label="Direct link to release-draft-note" title="Direct link to release-draft-note"></a></h4><p>Generate a draft release note. Some actions need to be done after this step.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="release-docker">release-docker<a href="#release-docker" class="hash-link" aria-label="Direct link to release-docker" title="Direct link to release-docker"></a></h4><p>Build docker image and publish it to Docker Hub. It may take around 15 - 30 mins.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="close-issues">close-issues<a href="#close-issues" class="hash-link" aria-label="Direct link to close-issues" title="Direct link to close-issues"></a></h4><p>Open issues marked with label <code>Status: Fixed</code> and <code>Status: Resolved</code> will be closed by bot automatically with comment mentioning the fix is included in which version.</p><p>Example:</p><p><img loading="lazy" src="https://user-images.githubusercontent.com/35857179/167241574-f8f7061f-c689-444a-b761-0a727974c53f.png" alt="image" class="img_ev3q"></p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="publish-docs">publish-docs<a href="#publish-docs" class="hash-link" aria-label="Direct link to publish-docs" title="Direct link to publish-docs"></a></h4><p>Publish Documentations</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="update-sdk-path">update-sdk-path<a href="#update-sdk-path" class="hash-link" aria-label="Direct link to update-sdk-path" title="Direct link to update-sdk-path"></a></h4><p><code>nocodb-sdk</code> is used in frontend and backend. However, in develop branch, the value would be <code>file:../nocodb-sdk</code> for development purpose (so that the changes done in nocodb-sdk in develop will be included in frontend and backend). During the deployment, the value will be changed to the target tag. This job is to update them back.</p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="sync-to-develop">sync-to-develop<a href="#sync-to-develop" class="hash-link" aria-label="Direct link to sync-to-develop" title="Direct link to sync-to-develop"></a></h4><p>Once the deployment is finished, there would be some new changes being pushed to master branch. This job is to sync the changes back to develop so that both branch won't have any difference.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="daily-builds">Daily builds<a href="#daily-builds" class="hash-link" aria-label="Direct link to Daily builds" title="Direct link to Daily builds"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-daily-builds-">What are daily builds ?<a href="#what-are-daily-builds-" class="hash-link" aria-label="Direct link to What are daily builds ?" title="Direct link to What are daily builds ?"></a></h3><ul><li>NocoDB creates every 6 hours from develop branches and publishes as nocodb/nocodb-daily</li><li>This is so that we can easily try what is in the develop branch easily.</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="docker-images">Docker images<a href="#docker-images" class="hash-link" aria-label="Direct link to Docker images" title="Direct link to Docker images"></a></h3><ul><li>The docker images will be built and pushed to Docker Hub (See <a href="https://hub.docker.com/r/nocodb/nocodb-daily/tags" target="_blank" rel="noopener noreferrer">nocodb/nocodb-daily</a> for the full list). </li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="timely-builds">Timely builds<a href="#timely-builds" class="hash-link" aria-label="Direct link to Timely builds" title="Direct link to Timely builds"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-timely-builds-">What are timely builds ?<a href="#what-are-timely-builds-" class="hash-link" aria-label="Direct link to What are timely builds ?" title="Direct link to What are timely builds ?"></a></h3><p>NocoDB has github actions which creates docker and binaries for each PR! And these can be found as a <strong>comment on the last commit</strong> of the PR. </p><p>Example shown below</p><ul><li><p>Go to a PR and click on the comment.</p><img loading="lazy" width="1111" alt="Screenshot 2023-01-23 at 15 46 36" src="https://user-images.githubusercontent.com/5435402/214083736-80062398-3712-430f-9865-86b110090c91.png" class="img_ev3q"></li><li><p>Click on the link to copy the docker image and run it locally.</p><img loading="lazy" width="1231" alt="Screenshot 2023-01-23 at 15 46 55" src="https://user-images.githubusercontent.com/5435402/214083755-945d9485-2b9e-4739-8408-068bdf4a84b7.png" class="img_ev3q"></li></ul><p>This is to</p><ul><li>reduce pull request cycle time</li><li>allow issue reporters / reviewers to verify the fix without setting up their local machines</li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="docker-images-1">Docker images<a href="#docker-images-1" class="hash-link" aria-label="Direct link to Docker images" title="Direct link to Docker images"></a></h3><p>When a non-draft Pull Request is created, reopened or synchronized, a timely build for Docker would be triggered for the changes only included in the following paths.</p><ul><li><code>packages/nocodb-sdk/**</code></li><li><code>packages/nc-gui/**</code></li><li><code>packages/nc-plugin/**</code></li><li><code>packages/nocodb/**</code></li></ul><p>The docker images will be built and pushed to Docker Hub (See <a href="https://hub.docker.com/r/nocodb/nocodb-timely/tags" target="_blank" rel="noopener noreferrer">nocodb/nocodb-timely</a> for the full list). Once the image is ready, Github bot will add a comment with the command in the pull request. The tag would be <code><NOCODB_CURRENT_VERSION>-pr-<PR_NUMBER>-<YYYYMMDD>-<HHMM></code>.</p><p><img loading="lazy" src="https://user-images.githubusercontent.com/35857179/175012097-240dab05-da93-4c4e-87c1-1c36fb1350bd.png" alt="image" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="executables-or-binaries">Executables or Binaries<a href="#executables-or-binaries" class="hash-link" aria-label="Direct link to Executables or Binaries" title="Direct link to Executables or Binaries"></a></h2><p>Similarly, we provide a timely build for executables for non-docker users. The source code will be built, packaged as binary files, and pushed to Github (See <a href="https://github.com/nocodb/nocodb-timely/releases" target="_blank" rel="noopener noreferrer">nocodb/nocodb-timely</a> for the full list).</p><p>Currently, we only support the following targets:</p><ul><li><code>node16-linux-arm64</code></li><li><code>node16-macos-arm64</code></li><li><code>node16-win-arm64</code></li><li><code>node16-linux-x64</code></li><li><code>node16-macos-x64</code></li><li><code>node16-win-x64</code></li></ul><p>Once the executables are ready, Github bot will add a comment with the commands in the pull request.</p><p><img loading="lazy" src="https://user-images.githubusercontent.com/35857179/175012070-f5f3e7b8-6dc5-4d1c-9f7e-654bc5039521.png" alt="image" class="img_ev3q"></p><p>NocoDB creates Docker and Binaries for each PR.</p><p>This is to</p><ul><li>reduce pull request cycle time</li><li>allow issue reporters / reviewers to verify the fix without setting up their local machines</li></ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/nocodb/nocodb/tree/develop/packages/noco-docs/docs/versioned_docs/version-0.109.7/050.engineering/060.builds-and-releases.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/0.109.7/engineering/playwright"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Playwright E2E Testing</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/0.109.7/engineering/translation"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">i18n translation</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#builds-of-nocodb" class="table-of-contents__link toc-highlight">Builds of NocoDB</a></li><li><a href="#release-builds" class="table-of-contents__link toc-highlight">Release builds</a><ul><li><a href="#how-to-make-a-release-build--" class="table-of-contents__link toc-highlight">How to make a release build ?</a></li><li><a href="#tagging" class="table-of-contents__link toc-highlight">Tagging</a></li><li><a href="#case-1-leaving-inputs-blank" class="table-of-contents__link toc-highlight">Case 1: Leaving inputs blank</a></li><li><a href="#case-2-manually-input" class="table-of-contents__link toc-highlight">Case 2: Manually Input</a></li><li><a href="#how-does-release-action-work-" class="table-of-contents__link toc-highlight">How does release action work ?</a></li></ul></li><li><a href="#daily-builds" class="table-of-contents__link toc-highlight">Daily builds</a><ul><li><a href="#what-are-daily-builds-" class="table-of-contents__link toc-highlight">What are daily builds ?</a></li><li><a href="#docker-images" class="table-of-contents__link toc-highlight">Docker images</a></li></ul></li><li><a href="#timely-builds" class="table-of-contents__link toc-highlight">Timely builds</a><ul><li><a href="#what-are-timely-builds-" class="table-of-contents__link toc-highlight">What are timely builds ?</a></li><li><a href="#docker-images-1" class="table-of-contents__link toc-highlight">Docker images</a></li></ul></li><li><a href="#executables-or-binaries" class="table-of-contents__link toc-highlight">Executables or Binaries</a></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__links text--center"><div class="footer__links"><a href="https://github.com/facebook/docusaurus" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><span class="footer__link-separator">·</span><a href="https://nocodb.com/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Website<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><span class="footer__link-separator">·</span><a href="https://community.nocodb.com/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Community<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><span class="footer__link-separator">·</span><a href="https://discord.gg/5RgZmkW" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><span class="footer__link-separator">·</span><a href="https://twitter.com/nocodb" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><img src="/img/icon.png" alt="NocoDB" class="themedImage_ToTc themedImage--light_HNdA footer__logo" width="50"><img src="/img/icon.png" alt="NocoDB" class="themedImage_ToTc themedImage--dark_i4oU footer__logo" width="50"></div><div class="footer__copyright">Copyright © 2023 NocoDB</div></div></div></footer></div> |