dashy/docs/release-workflow/index.html

19 lines
33 KiB
HTML

<!doctype html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-beta.2">
<link rel="search" type="application/opensearchdescription+xml" title="Dashy" href="/opensearch.xml">
<script src="https://no-track.as93.net/js/script.js" defer="defer" data-domain="dashy.to"></script><title data-react-helmet="true">Releases and Workflows | Dashy</title><meta data-react-helmet="true" property="og:url" content="https://dashy.to/docs/release-workflow"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:version" content="current"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-react-helmet="true" property="og:title" content="Releases and Workflows | Dashy"><meta data-react-helmet="true" name="description" content="- Release Schedule"><meta data-react-helmet="true" property="og:description" content="- Release Schedule"><link data-react-helmet="true" rel="shortcut icon" href="/img/favicon.ico"><link data-react-helmet="true" rel="canonical" href="https://dashy.to/docs/release-workflow"><link data-react-helmet="true" rel="alternate" href="https://dashy.to/docs/release-workflow" hreflang="en"><link data-react-helmet="true" rel="alternate" href="https://dashy.to/docs/release-workflow" hreflang="x-default"><link data-react-helmet="true" rel="preconnect" href="https://BH4D9OD16A-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.de060916.css">
<link rel="preload" href="/assets/js/runtime~main.ac7349e8.js" as="script">
<link rel="preload" href="/assets/js/main.d13b237a.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"dark")}()</script><div id="__docusaurus">
<div><a href="#main" class="skipToContent_OuoZ">Skip to main content</a></div><nav class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><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="/"><img src="/img/dashy.png" alt="Dashy Logo" class="themedImage_TMUO themedImage--light_4Vu1 navbar__logo"><img src="/img/dashy.png" alt="Dashy Logo" class="themedImage_TMUO themedImage--dark_uzRr navbar__logo"><b class="navbar__title">Dashy</b></a><a href="https://github.com/lissy93/dashy" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub</a><a href="https://demo.dashy.to" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Live Demo</a><a class="navbar__item navbar__link" href="/docs/quick-start">Quick Start</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs">Documentation</a></div><div class="navbar__items navbar__items--right"><div class="react-toggle displayOnlyInLargeViewport_cxYs react-toggle--checked react-toggle--disabled"><div class="react-toggle-track" role="button" tabindex="-1"><div class="react-toggle-track-check"><span class="toggle_iYfV">🌙</span></div><div class="react-toggle-track-x"><span class="toggle_iYfV">☀️</span></div><div class="react-toggle-thumb"></div></div><input type="checkbox" checked="" class="react-toggle-screenreader-only" aria-label="Switch between dark and light mode"></div><div class="searchBox_Bc3W"><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" aria-hidden="true"><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><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a class="navbar__brand" href="/"><img src="/img/dashy.png" alt="Dashy Logo" class="themedImage_TMUO themedImage--light_4Vu1 navbar__logo"><img src="/img/dashy.png" alt="Dashy Logo" class="themedImage_TMUO themedImage--dark_uzRr navbar__logo"><b class="navbar__title">Dashy</b></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a href="https://github.com/lissy93/dashy" target="_blank" rel="noopener noreferrer" class="menu__link">GitHub</a></li><li class="menu__list-item"><a href="https://demo.dashy.to" target="_blank" rel="noopener noreferrer" class="menu__link">Live Demo</a></li><li class="menu__list-item"><a class="menu__link" href="/docs/quick-start">Quick Start</a></li><li class="menu__list-item"><a aria-current="page" class="menu__link navbar__link--active" href="/docs">Documentation</a></li></ul></div></div></div></nav><div class="main-wrapper docs-wrapper doc-page"><div class="docPage_lDyR"><main class="docMainContainer_r8cw docMainContainerEnhanced_SOUu"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_zHA2"><div class="docItemContainer_oiyr"><article><div class="markdown"><header><h1 class="h1Heading_dC7a">Releases and Workflows</h1></header><ul><li><a href="#release-schedule">Release Schedule</a></li><li><a href="#deployment-process">Deployment Process</a></li><li><a href="#git-strategy">Git Strategy</a></li><li><a href="#automated-workflows">Automated Workflows</a></li></ul><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="release-schedule"></a>Release Schedule<a class="hash-link" href="#release-schedule" title="Direct link to heading">#</a></h2><p>We&#x27;re using <a href="https://semver.org/" target="_blank" rel="noopener noreferrer">Semantic Versioning</a>, to indicate major, minor and patch versions. You can find the current version number in the readme, and check your apps version under the config menu. The version number is pulled from the <a href="https://github.com/Lissy93/dashy/blob/master/package.json#L3" target="_blank" rel="noopener noreferrer">package.json</a> file.</p><p>Typically there is a new major release every 2 weeks, usually on Sunday, and you can view these under the <a href="https://github.com/Lissy93/dashy/releases" target="_blank" rel="noopener noreferrer">Releases Page</a>. Each new version will also have a corresponding <a href="https://github.com/Lissy93/dashy/tags" target="_blank" rel="noopener noreferrer">tag on GitHub</a>, and each major release will also result in the creation of a new <a href="https://hub.docker.com/r/lissy93/dashy/tags" target="_blank" rel="noopener noreferrer">tag on DockerHub</a>, so that you can fix your container to a certain version.</p><p>For a full breakdown of each change, you can view the <a href="https://github.com/Lissy93/dashy/blob/master/.github/CHANGELOG.md" target="_blank" rel="noopener noreferrer">Changelog</a>. Each new feature or significant change needs to be submitted through a pull request, which makes it easy to review and track these changes, and roll back if needed.</p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="deployment-process"></a>Deployment Process<a class="hash-link" href="#deployment-process" title="Direct link to heading">#</a></h2><p>All changes and new features are submitted as pull requests, which can then be tested, reviewed and (hopefully) merged into the master branch. Every time there is a change in the major version number, a new release is published. This usually happens every 2 weeks, on a Sunday.</p><p>When a PR is opened:</p><ul><li>The feature branch is built, and deployed as a Netlify instance. This can be accessed at: <code>https://deploy-preview-[pr-number]--dashy-dev.netlify.app</code>, and this URL as well as a link to the build logs are added as a comment on the PR by Netlify bot</li><li>Depending on what files were modified, the bot may also add a comment to remind the author of useful info</li><li>A series of checks will run on the new code, using GH Actions, and prevent merging if they fail. This includes: linting, testing, code quality and complexity checking, security scanning and a spell check</li><li>If a new dependency was added, liss-bot will comment with a summary of those changes, as well as the cost of the module, version, and any security concerns. If the bundle size has increased, this will also be added as a comment</li></ul><p>After the PR is merged:</p><ul><li>The app is build, and deployed to: <a href="https://dev.dashy.to" target="_blank" rel="noopener noreferrer">https://dev.dashy.to</a></li><li>A new tag in GitHub is created, using the apps version number (from the package.json)</li><li>The Docker container is built, and published under the <code>:latest</code> tag on DockerHub and GHCR</li></ul><p>When a new major version is released:</p><ul><li>A new GitHub release is created and published, under new versions tag, with info from the changelog</li><li>The container is built and published under a new tag will be created on DockerHub, called <code>:release-[version]</code></li><li>An announcement is opened in GitHub discussions, outlining the main changes, where users can comment and ask questions</li></ul><p><a href="https://app.netlify.com/sites/dashy-dev/deploys" target="_blank" rel="noopener noreferrer"><img src="https://api.netlify.com/api/v1/badges/3a0216c3-1ed0-40f5-ad90-ff68b1c96c09/deploy-status" alt="Netlify Status"></a></p><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="git-strategy"></a>Git Strategy<a class="hash-link" href="#git-strategy" title="Direct link to heading">#</a></h2><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="git-flow"></a>Git Flow<a class="hash-link" href="#git-flow" title="Direct link to heading">#</a></h3><p>Like most Git repos, we are following the <a href="https://guides.github.com/introduction/flow" target="_blank" rel="noopener noreferrer">Github Flow</a> standard.</p><ol><li>Create a branch (or fork if you don&#x27;d have write access)</li><li>Code some awesome stuff, then add and commit your changes</li><li>Create a Pull Request, complete the checklist and ensure the build succeeds</li><li>Follow up with any reviews on your code</li><li>Merge 🎉</li></ol><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="git-branch-naming"></a>Git Branch Naming<a class="hash-link" href="#git-branch-naming" title="Direct link to heading">#</a></h3><p>The format of your branch name should be something similar to: <code>[TYPE]/[TICKET]_[TITLE]</code>
For example, <code>FEATURE/420_Awesome-feature</code> or <code>FIX/690_login-server-error</code></p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="commit-emojis"></a>Commit Emojis<a class="hash-link" href="#commit-emojis" title="Direct link to heading">#</a></h3><p>Using a single emoji at the start of each commit message, to indicate the type task, makes the commit ledger easier to understand, plus it looks cool.</p><ul><li>🎨 <code>:art:</code> - Improve structure / format of the code.</li><li>⚡️ <code>:zap:</code> - Improve performance.</li><li>🔥 <code>:fire:</code> - Remove code or files.</li><li>🐛 <code>:bug:</code> - Fix a bug.</li><li>🚑️ <code>:ambulance:</code> - Critical hotfix</li><li><code>:sparkles:</code> - Introduce new features.</li><li>📝 <code>:memo:</code> - Add or update documentation.</li><li>🚀 <code>:rocket:</code> - Deploy stuff.</li><li>💄 <code>:lipstick:</code> - Add or update the UI and style files.</li><li>🎉 <code>:tada:</code> - Begin a project.</li><li><code>:white_check_mark:</code> - Add, update, or pass tests.</li><li>🔒️ <code>:lock:</code> - Fix security issues.</li><li>🔖 <code>:bookmark:</code> - Make a Release or Version tag.</li><li>🚨 <code>:rotating_light:</code> - Fix compiler / linter warnings.</li><li>🚧 <code>:construction:</code> - Work in progress.</li><li>⬆️ <code>:arrow_up:</code> - Upgrade dependencies.</li><li>👷 <code>:construction_worker:</code> - Add or update CI build system.</li><li>♻️ <code>:recycle:</code> - Refactor code.</li><li>🩹 <code>:adhesive_bandage:</code> - Simple fix for a non-critical issue.</li><li>🔧 <code>:wrench:</code> - Add or update configuration files.</li><li>🍱 <code>:bento:</code> - Add or update assets.</li><li>🗃️ <code>:card_file_box:</code> - Perform database schema related changes.</li><li>✏️ <code>:pencil2:</code> - Fix typos.</li><li>🌐 <code>:globe_with_meridians:</code> - Internationalization and translations.</li></ul><p>For a full list of options, see <a href="https://gitmoji.dev/" target="_blank" rel="noopener noreferrer">gitmoji.dev</a></p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="pr-guidelines"></a>PR Guidelines<a class="hash-link" href="#pr-guidelines" title="Direct link to heading">#</a></h3><p>Once you&#x27;ve made your changes, and pushed them to your fork or branch, you&#x27;re ready to open a pull request!</p><p>For a pull request to be merged, it must:</p><ul><li>Must be backwards compatible</li><li>The build, lint and tests (run by GH actions) must pass</li><li>There must not be any merge conflicts</li></ul><p>When you submit your PR, include the required info, by filling out the PR template. Including:</p><ul><li>A brief description of your changes</li><li>The issue, ticket or discussion number (if applicable)</li><li>For UI relate updates include a screenshot</li><li>If any dependencies were added, explain why it was needed, state the cost associated, and confirm it does not introduce any security issues</li><li>Finally, check the checkboxes, to confirm that the standards are met, and hit submit!</li></ul><hr><h2><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="automated-workflows"></a>Automated Workflows<a class="hash-link" href="#automated-workflows" title="Direct link to heading">#</a></h2><p>Dashy makes heavy use of <a href="https://github.com/features/actions" target="_blank" rel="noopener noreferrer">GitHub Actions</a> to fully automate the checking, testing, building, deploying of the project, as well as administration tasks like management of issues, tags, releases and documentation. The following section outlines each workflow, along with a link the the action file, current status and short description. A lot of these automations were made possible using community actions contributed to GH marketplace by some amazing people.</p><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="code-processing"></a>Code Processing<a class="hash-link" href="#code-processing" title="Direct link to heading">#</a></h3><table><thead><tr><th>Action</th><th>Description</th></tr></thead><tbody><tr><td><strong>Code Linter</strong><br><a href="https://github.com/Lissy93/dashy/actions/workflows/code-linter.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/code-linter.yml/badge.svg" alt="code-linter.yml"></a></td><td>After a pull request is created, all new code changes will be linted, and the CI will fail with a helpful message if the code has any formatting inconsistencies</td></tr><tr><td><strong>Code Spell Check</strong><br><a href="https://github.com/Lissy93/dashy/actions/workflows/code-spell-check.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/code-spell-check.yml/badge.svg" alt="code-spell-check.yml"></a></td><td>After a PR submitted, all auto-fixable spelling errors will be detected, then Liss-Bot will create a separate PR to propose the fixes</td></tr><tr><td><strong>Dependency Update Summary</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/dependency-updates-summary.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/dependency-updates-summary.yml/badge.svg" alt="dependency-updates-summary.yml"></a></td><td>After a PR is submitted, if any of the dependencies are modified, then Liss-Bot will add a comment, explaining which packages have been added, removed, updated or downgraded, as well as other helpful info</td></tr><tr><td><strong>Get Size</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/get-size.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/get-size.yml/badge.svg" alt="get-size.yml"></a></td><td>Adds comment to PR if the size of the built + bundled application has changed compared to the previous version</td></tr><tr><td><strong>Security Scan</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/security-scanning.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/security-scanning.yml/badge.svg" alt="security-scanning.yml"></a></td><td>Uses Snyk to scan the code and dependencies after a PR. Will add a comment and cause the build to fail if a new vulnerability or potential issue is present</td></tr></tbody></table><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="releases"></a>Releases<a class="hash-link" href="#releases" title="Direct link to heading">#</a></h3><table><thead><tr><th>Action</th><th>Description</th></tr></thead><tbody><tr><td><strong>Create Tag</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/auto-tag-pr.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/auto-tag-pr.yml/badge.svg" alt="auto-tag-pr.yml"></a></td><td>Whenever the version indicated in package.json is updates, a new GitHub tag will be created for that point in time</td></tr><tr><td><strong>Build App</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/build-app.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/build-app.yml/badge.svg" alt="build-app.yml"></a></td><td>After changes are merged into the master branch, the app will be build, with output pushed to the <code>dev-demo</code> branch</td></tr><tr><td><strong>Cache Artifacts</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/cache-artifacts.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/cache-artifacts.yml/badge.svg" alt="cache-artifacts.yml"></a></td><td>After build, returned files will be cached for future actions for that commit</td></tr><tr><td><strong>Docker Publish</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/docker-publish.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/docker-publish.yml/badge.svg" alt="docker-publish.yml"></a></td><td>After PR is merged, the multi-architecture Docker container will be built, and then published to GHCR</td></tr></tbody></table><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="issue-management"></a>Issue Management<a class="hash-link" href="#issue-management" title="Direct link to heading">#</a></h3><table><thead><tr><th>Action</th><th>Description</th></tr></thead><tbody><tr><td><strong>Close Incomplete Issues</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/close-incomplete-issues.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/close-incomplete-issues.yml/badge.svg" alt="close-incomplete-issues.yml"></a></td><td>Issues which do not match any of the issue templates will be closed, and a comment posted explaining why</td></tr><tr><td><strong>Close Stale Issues</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/close-stale-issues.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/close-stale-issues.yml/badge.svg" alt="close-stale-issues.yml"></a></td><td>Issues which have not been updated for 6 weeks will have a comment posted to them. If the author does not reply within the next week, then the issue will be marked as stale and closed. The original author may still reopen the issue at any time</td></tr><tr><td><strong>Close Potential Spam Issues</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/issue-spam-control.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/issue-spam-control.yml/badge.svg" alt="issue-spam-control.yml"></a></td><td>Auto-closes issues, and adds a comment if it was submitted by a user who hasn&#x27;t yet interacted with the repo, is new to GitHub and has not starred the repository. The comment will advise them to check their issue is complete, and then allow them to reopen it</td></tr><tr><td><strong>Issue Translator</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/issue-translator.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/issue-translator.yml/badge.svg" alt="issue-translator.yml"></a></td><td>Auto-translates any comments and issues that were written in any language other than English, and posts the translation as a comment below</td></tr><tr><td><strong>Label Sponsors</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/label-sponsors.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/label-sponsors.yml/badge.svg" alt="label-sponsors.yml"></a></td><td>Adds a special label to any issues or pull requests raised by users who are sponsoring the project via GitHub, so that they can get priority support</td></tr><tr><td><strong>LGTM Comment</strong><br><a href="https://github.com/Lissy93/dashy/actions/workflows/lgtm-comment.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/lgtm-comment.yml/badge.svg" alt="lgtm-comment.yml"></a></td><td>When a PR review contains the words LGTM (looks good to me), the Liss-Bot will reply with a random celebratory or thumbs up GIF, just as a bit of fun</td></tr><tr><td><strong>Mind your Language</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/mind-your-language.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/mind-your-language.yml/badge.svg" alt="mind-your-language.yml"></a></td><td>Replies to any comment (on issue or PR) that contains profanities, offensive or inappropriate language with a polite note reminding the user of the code of conduct</td></tr><tr><td><strong>Release Notifier</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/release-commenter.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/release-commenter.yml/badge.svg" alt="release-commenter.yml"></a></td><td>Once a release has been published which fixes an issue, a comment will be added to the relevant issues informing the user who raised it that it was fixed in the current release</td></tr><tr><td><strong>Update Issue after Merge</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/update-issue-after-pr.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/update-issue-after-pr.yml/badge.svg" alt="update-issue-after-pr.yml"></a></td><td>After a PR which fixes an issue is merged, Liss-Bot will add a comment to said issue based on the git commit message</td></tr><tr><td><strong>Auto Add Comment Based on Tag</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/add-comment-from-tag.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/add-comment-from-tag.yml/badge.svg" alt="add-comment-from-tag.yml"></a></td><td>Will add comment with useful info to certain issues, based on the tag applied</td></tr></tbody></table><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="pr-management"></a>PR Management<a class="hash-link" href="#pr-management" title="Direct link to heading">#</a></h3><table><thead><tr><th>Action</th><th>Description</th></tr></thead><tbody><tr><td><strong>PR Commenter</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/pr-commenter.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/pr-commenter.yml/badge.svg" alt="pr-commenter.yml"></a></td><td>Adds comment with helpful info to pull requests, based on which files have been changes</td></tr><tr><td><strong>Issue from Todo Code</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/raise-issue-from-todo.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/raise-issue-from-todo.yml/badge.svg" alt="raise-issue-from-todo.yml"></a></td><td>When a <code>todo</code> note is found in the code after a PR, then Liss-Bot will automatically raise an issue, so that the todo can be addressed/ implemented. The issue will be closed once the todo has been implemented or removed</td></tr></tbody></table><h3><a aria-hidden="true" tabindex="-1" class="anchor enhancedAnchor_WiXH" id="documentation--reports"></a>Documentation &amp; Reports<a class="hash-link" href="#documentation--reports" title="Direct link to heading">#</a></h3><table><thead><tr><th>Action</th><th>Description</th></tr></thead><tbody><tr><td><strong>Generate Credits</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/generate-credits.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/generate-credits.yml/badge.svg" alt="generate-credits.yml"></a></td><td>Generates a report, including contributors, collaborators, sponsors, bots and helpful users. Will then insert a markdown table with thanks to these GitHub users and links to their profiles into the Credits page, as well as a summary of sponsors and top contributors into the main readme</td></tr><tr><td><strong>Wiki Sync</strong> <br><a href="https://github.com/Lissy93/dashy/actions/workflows/wiki-sync.yml" target="_blank" rel="noopener noreferrer"><img src="https://github.com/Lissy93/dashy/actions/workflows/wiki-sync.yml/badge.svg" alt="wiki-sync.yml"></a></td><td>Generates and publishes the repositories wiki page using the markdown files within the docs directory</td></tr></tbody></table><hr></div><footer class="row docusaurus-mt-lg"><div class="col"><a href="https://github.com/Lissy93/dashy/edit/gh-pages/docs/docs/release-workflow.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_mS5F" 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_wj+Z"></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><div class="pagination-nav__item"></div><div class="pagination-nav__item pagination-nav__item--next"></div></nav></div></div><div class="col col--3"><div class="tableOfContents_vrFS thin-scrollbar"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#release-schedule" class="table-of-contents__link">Release Schedule</a></li><li><a href="#deployment-process" class="table-of-contents__link">Deployment Process</a></li><li><a href="#git-strategy" class="table-of-contents__link">Git Strategy</a><ul><li><a href="#git-flow" class="table-of-contents__link">Git Flow</a></li><li><a href="#git-branch-naming" class="table-of-contents__link">Git Branch Naming</a></li><li><a href="#commit-emojis" class="table-of-contents__link">Commit Emojis</a></li><li><a href="#pr-guidelines" class="table-of-contents__link">PR Guidelines</a></li></ul></li><li><a href="#automated-workflows" class="table-of-contents__link">Automated Workflows</a><ul><li><a href="#code-processing" class="table-of-contents__link">Code Processing</a></li><li><a href="#releases" class="table-of-contents__link">Releases</a></li><li><a href="#issue-management" class="table-of-contents__link">Issue Management</a></li><li><a href="#pr-management" class="table-of-contents__link">PR Management</a></li><li><a href="#documentation--reports" class="table-of-contents__link">Documentation &amp; Reports</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="footer footer--dark"><div class="container"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Intro</div><ul class="footer__items"><li class="footer__item"><a href="https://github.com/lissy93/dashy" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub</a></li><li class="footer__item"><a href="https://demo.dashy.to" target="_blank" rel="noopener noreferrer" class="footer__link-item">Live Demo</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/quick-start">Quick Start</a></li><li class="footer__item"><a class="footer__link-item" href="/docs">Documentation</a></li></ul></div><div class="col footer__col"><div class="footer__title">Setup Guide</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/deployment">Deploying</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/configuring">Configuring</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/management">Management</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/troubleshooting">Troubleshooting</a></li></ul></div><div class="col footer__col"><div class="footer__title">Feature Docs Pt 1</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/authentication">Authentication</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/alternate-views">Alternate Views</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/backup-restore">Backup &amp; Restore</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/icons">Icons</a></li></ul></div><div class="col footer__col"><div class="footer__title">Feature Docs Pt 2</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/multi-language-support">Language Switching</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/status-indicators">Status Indicators</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/searching">Searching &amp; Shortcuts</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/theming">Theming</a></li></ul></div><div class="col footer__col"><div class="footer__title">Community</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/developing">Developing</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/development-guides">Development Guides</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/contributing">Contributing</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/showcase">Showcase</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/credits">Credits</a></li></ul></div><div class="col footer__col"><div class="footer__title">Misc</div><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/privacy">Privacy &amp; Security</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/license">License</a></li><li class="footer__item"><a href="https://github.com/Lissy93/dashy/blob/master/.github/LEGAL.md" target="_blank" rel="noopener noreferrer" class="footer__link-item">Legal</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/code-of-conduct">Code of Conduct</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/changelog">Changelog</a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright"><a href="https://dashy.to">Dashy</a> - The Self-Hosted Dashboard for your Homelab<br>License under <a href="https://github.com/Lissy93/dashy/blob/master/LICENSE">MIT</a>. Copyright © 2024 <a href="https://aliciasykes.com">Alicia Sykes</a></div></div></div></footer></div>
<script src="/assets/js/runtime~main.ac7349e8.js"></script>
<script src="/assets/js/main.d13b237a.js"></script>
</body>
</html>