Difference between revisions of "Github Actions"

From Mudlet
Jump to navigation Jump to search
(Plug in new changelog generation workflow)
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
They're automations that help Mudlet reduce administrative overhead. See Github's [https://github.com/features/actions excellent overview] for them.
 
They're automations that help Mudlet reduce administrative overhead. See Github's [https://github.com/features/actions excellent overview] for them.
 
= Which have we got? =
 
= Which have we got? =
# Compile Mudlet in macOS. When: on every Git push.
+
# [https://github.com/Mudlet/Mudlet/blob/development/.github/workflows/build-mudlet.yml Compile Mudlet], builds Mudlet to be available as stand-alone zips for every pull request. When: on every Git push.
# Update 3rdparty libraries used with Mudlet. When: every Friday night or manually. (This is: IRE Mapping script, Lua code formatter, character width algorithm, and our forks of edbee, sparkle-glue, dblsqd, qtkeychain. Note that fork updates don't check the origin repository but rather our forked version to ensure the main repo is up to date with it.)  
+
# [https://github.com/Mudlet/Mudlet/tree/development/.github/workflows#:~:text=25%20days%20ago-,update-3rdparty.yml,-Actually%20disable%20widechar_width Update 3rdparty libraries] used with Mudlet. When: every Friday night or manually. (This is: IRE Mapping script, Lua code formatter, character width algorithm, and our forks of edbee, sparkle-glue, dblsqd, qtkeychain. Note that fork updates don't check the origin repository but rather our forked version to ensure the main repo is up to date with it.)
# Update autocompletion information in Mudlet. When: every Friday night or manually.
+
# [https://github.com/Mudlet/Mudlet/blob/development/.github/workflows/update-autocompletion.yml Update autocompletion information] in Mudlet. When: every Friday night or manually.
# Update [[Translating_Mudlet|text available in Crowdin]] for translation. When: every Friday night or manually.
+
# [https://github.com/Mudlet/Mudlet/blob/development/.github/workflows/update-translations.yml Update] [[Translating_Mudlet|text available in Crowdin]] for translation. When: every Friday night or manually.
# Remove extra whitespace from commit. When: whenever called by typing <code>/wslint</code> in a PR comment.
+
# [https://github.com/Mudlet/Mudlet/blob/development/.github/workflows/clangtidy-diff-analysis.yml Clang-tidy code analysis], checks Mudlet code for common coding issues. When: on every Git push.
 +
# [https://github.com/Mudlet/Mudlet/blob/development/.github/workflows/codeql-analysis.yml CodeQL code analysis], similarly checks Mudlet code for issues, using a different tool. When: on every Git push.
 +
# [https://github.com/Mudlet/Mudlet/blob/development/.github/workflows/codespell-analysis.yml Codespell], checks Mudlet code for common typos. Not necessarily a spellchecker, more of a typo checker. When: on every Git push.
 +
# [https://github.com/Mudlet/Mudlet/blob/development/.github/workflows/link-ptbs-to-dblsqd.yml Links PTBs to dblsqd], ensures that [https://make.mudlet.org/snapshots/?platform=all&source=ptb daily Public Test Builds] are linked to the update service (see [https://github.com/Mudlet/Mudlet/issues/4843 why]). When: daily, an hour after PTB builds have started.
 +
# [https://github.com/Mudlet/Mudlet/blob/development/.github/workflows/update-geyser-docs.yml Upload Geyser docs] to the website. When: every Friday night or manually.
 +
# [https://github.com/Mudlet/Mudlet/actions/workflows/generate-changelog.yml Generate a changelog] of the latest improvements. When: every Friday night or manually.
  
  

Latest revision as of 07:28, 14 March 2022

What are they

They're automations that help Mudlet reduce administrative overhead. See Github's excellent overview for them.

Which have we got?

  1. Compile Mudlet, builds Mudlet to be available as stand-alone zips for every pull request. When: on every Git push.
  2. Update 3rdparty libraries used with Mudlet. When: every Friday night or manually. (This is: IRE Mapping script, Lua code formatter, character width algorithm, and our forks of edbee, sparkle-glue, dblsqd, qtkeychain. Note that fork updates don't check the origin repository but rather our forked version to ensure the main repo is up to date with it.)
  3. Update autocompletion information in Mudlet. When: every Friday night or manually.
  4. Update text available in Crowdin for translation. When: every Friday night or manually.
  5. Clang-tidy code analysis, checks Mudlet code for common coding issues. When: on every Git push.
  6. CodeQL code analysis, similarly checks Mudlet code for issues, using a different tool. When: on every Git push.
  7. Codespell, checks Mudlet code for common typos. Not necessarily a spellchecker, more of a typo checker. When: on every Git push.
  8. Links PTBs to dblsqd, ensures that daily Public Test Builds are linked to the update service (see why). When: daily, an hour after PTB builds have started.
  9. Upload Geyser docs to the website. When: every Friday night or manually.
  10. Generate a changelog of the latest improvements. When: every Friday night or manually.


All of Mudlet's Github actions are available in the repository.

Running actions manually

As a member of the Mudlet core dev team, visit the list of actions at https://github.com/Mudlet/Mudlet/actions. Once there, pick an action, and use the Run workflow menu:

Running an action manually.png

You can also select a particular branch you'd like the action to run against. Press the button and your workflow will start running.