Skip to content

Update GitHub Action for MarkBind - #1880

Merged
kaixin-hc merged 9 commits into
MarkBind:masterfrom
tlylt:update-deploy-docs
Apr 5, 2022
Merged

Update GitHub Action for MarkBind#1880
kaixin-hc merged 9 commits into
MarkBind:masterfrom
tlylt:update-deploy-docs

Conversation

@tlylt

@tlylttlylt commented Apr 5, 2022

Copy link
Copy Markdown
Contributor

What is the purpose of this pull request?

  • Documentation update
  • Bug fix
  • Feature addition or enhancement
  • Code maintenance
  • Others, please explain:
    DevOps

This PR is a copy of #1839 to reorg master branch commit history

Overview of changes:
Fixes#1461
Fixes#1004
(Supercedes and therefore) closes#1426

Although there is an existing GitHub Action markbind-action, it has certain limitations (e.g cannot specify the version of MarkBind to build files or prevent force-pushing when updating the gh-pages branch). Thus, in view of the work that I am doing to facilitate creation of GitHub workflows for PR-Preview, I am making this new GitHub Action markbind-deploy to be the "upgraded" version of 'markbind-action'.

The details of what it does can be found in the readme. In gist, it is a composite action that

  • allows deployment with gh-pages and Surge
  • can specify the version of MarkBind, including 'master' to choose the latest development MarkBind
  • can be used for pr preview when following a branching workflow (for forking workflow, I am proposing two reusable workflows to tackle that, in view of security concerns. It's currently work-in-progress)
  • can pass in markbind build arguments to handle cases of markbind site not at the root level (e.g. in /docs)
  • will not force-push

Anything you'd like to highlight / discuss:

  • The new GitHub Action should probably reside in MarkBind, whether to override 'markbind-action' or create a new repo 'markbind-deploy', up for discussion.
  • Feedback on the approach, the configuration provided, the docs... is welcomed.
  • Although the versioned docs feature is not ready, I feel that this is a standalone Action that does not need to wait for the versioning to work.
  • The docs changes in this PR are not final, because the current workflow example is still using 'tlylt/markbind-deploy@main', which needs to be updated later on.
  • There is one issue with site.json reported in Unable to serve/build with a site config file from another directory #1825, also affects this action
  • This action is not published yet, but can be used for testing with 'tlylt/markbind-deploy@main'

Testing instructions:
I have tested a few scenarios, but please feel free to help test as well:
Referencing some of the Action runs I did to test this feature:

Proposed commit message: (wrap lines at 72 characters)
Update documentation on MarkBind GitHub Actions

The existing GitHub Action "markbind-action" has been
revamped to improve its functionalities.

Let's add a reference to "markbind-action" in our
user guide to highlight this helper workflow. Let's also
include a section in our developer guide to explain how
to develop and maintain the "markbind-action" repo.

This helps users discover "markbind-action" and use it in
their CI/CD workflow. The dev docs will help developers
continue to improve "markbind-action"


Checklist: ☑️

  • Updated the documentation for feature additions and enhancements
  • Added tests for bug fixes or features
  • Linked all related issues
  • No unrelated changes

@kaixin-hc
kaixin-hc merged commit 7673e66 into MarkBind:masterApr 5, 2022
@kaixin-hckaixin-hc added this to the 4.0 milestone Apr 5, 2022
kaixin-hc added a commit to kaixin-hc/markbind that referenced this pull request Apr 18, 2022
commit 32f2e64
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Mon Apr 18 01:11:00 2022 +0800
Fix typos in docs (MarkBind#1902)
commit cac6027
Author: Liu YongLiang <41845017+tlylt@users.noreply.github.com>
Date: Sun Apr 17 22:34:15 2022 +0800
Remove package-lock file in packages/core (MarkBind#1908)
commit 6a7ea88
Merge: 30e36378106d48
Author: Jonah Tan <47470981+jonahtanjz@users.noreply.github.com>
Date: Fri Apr 15 23:52:47 2022 +0800
Migrate Bootstrap to v5.1.3 (MarkBind#1882)
commit 8106d48
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Fri Apr 15 23:31:54 2022 +0800
Prevent Navbars from being printed (MarkBind#1906)
commit 30e3637
Author: Liu YongLiang <41845017+tlylt@users.noreply.github.com>
Date: Fri Apr 15 18:40:55 2022 +0800
Update CI steps to set up Graphviz and Java for PlantUML support (MarkBind#1905)
PlantUML feature requires both Java and Graphviz to be installed.
Current CI steps do not guarantee the presence of these
dependencies. This means some PlantUML diagrams were
unable to be generated correctly.
Let's update our CI steps to ensure both Java and Graphviz are
available in the build image to support PlantUML syntax.
This will ensure usage of PlantUML syntax can be supported in
our tests and our documentation.
commit d7c6819
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Fri Apr 15 12:35:54 2022 +0800
Migrate Bootswatch themes to v5.1.3 (MarkBind#1898)
commit aadc9b6
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Wed Apr 13 16:25:34 2022 +0800
Refactor includePanelProcessor and MdAttributeRenderer (MarkBind#1896)
commit 33383ca
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Wed Apr 13 01:11:23 2022 +0800
Migrate horizontal rules (MarkBind#1901)
In Bootstrap 5, `<hr>` elements now use height instead of border to
better support the size attribute. However, since MarkBind's hr styles
support dotted/dashed/double lines, `<hr>` needs a border-based
implementation.
Let's minimally override Bootstrap 5's `<hr>` styling to continue
supporting styled horizontal rules.
commit eef4089
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Wed Apr 13 01:10:58 2022 +0800
Fix spacing for navbars and searchbars (MarkBind#1900)
commit 84099ac
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Tue Apr 12 15:05:17 2022 +0800
Migrate MarkBind's quizzes and questions (MarkBind#1890)
commit 5485206
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Tue Apr 12 13:23:14 2022 +0800
Namespace Bootstrap data attributes with data-bs- (MarkBind#1892)
commit 0ad144d
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Tue Apr 12 11:57:14 2022 +0800
Migrate dropdown components (MarkBind#1888)
commit 5f9cc95
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Tue Apr 12 00:02:32 2022 +0800
Remove jumbotron class (MarkBind#1885)
commit c1436a1
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Sat Apr 9 11:53:07 2022 +0800
Migrate close buttons (MarkBind#1886)
commit 7bc7878
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Thu Apr 7 15:46:51 2022 +0800
Migrate breaking changes for badges (MarkBind#1884)
commit e35c32b
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Tue Apr 5 21:15:24 2022 +0800
Migrate utilities to Bootstrap V5 (MarkBind#1834)
commit 9d1dcdd
Author: Liu YongLiang <41845017+tlylt@users.noreply.github.com>
Date: Tue Apr 12 11:56:53 2022 +0800
Update GitHub issue template checkbox to dropdown (MarkBind#1897)
commit 950b422
Author: Liu YongLiang <41845017+tlylt@users.noreply.github.com>
Date: Sat Apr 9 18:15:17 2022 +0800
Fix UG display issues when using the outputBox boilerplate (MarkBind#1889)
commit 7608553
Author: Liu YongLiang <41845017+tlylt@users.noreply.github.com>
Date: Thu Apr 7 15:10:37 2022 +0800
Add an explanation on how to use JavaScript chart libraries (MarkBind#1872)
Charts can be useful in MarkBind sites to display data.
Let's include a section in our UG to highlight the existing
(basic) support for JavaScript chart libraries in MarkBind.
This is the most flexible option that MarkBind users can
go for to utilize a JavaScript chart library of their choice.
commit f14ea43
Author: Liu YongLiang <41845017+tlylt@users.noreply.github.com>
Date: Wed Apr 6 01:59:22 2022 +0800
Fix edge cases of link validation and conversion (MarkBind#1875)
Invalid intralinks have been reported in MarkBind docs. The
reasons are 1. actual invalid link 2. file path contains a space
3. Email link wrongly validated.
Let's fix all three link validation & conversion errors.
File paths with %20 will be correctly checked for
existence. Email(tel) links will no longer be appended
with the base URL or validated as intralink.
The removal of invalid link behavior will allow
the link & link validation mechanism to function
properly.
commit 4f060c6
Author: Liu YongLiang <41845017+tlylt@users.noreply.github.com>
Date: Tue Apr 5 21:50:39 2022 +0800
Update CI to run on all PR events (MarkBind#1878)
commit 7673e66
Author: Liu YongLiang <41845017+tlylt@users.noreply.github.com>
Date: Tue Apr 5 21:44:19 2022 +0800
Update documentation on MarkBind GitHub Actions (MarkBind#1880)
The existing GitHub Action "markbind-action" has been
revamped to improve its functionalities.
Let's add a reference to "markbind-action" in our
user guide to highlight this helper workflow. Let's also
include a section in our developer guide to explain how
to develop and maintain the "markbind-action" repo.
This helps users discover "markbind-action" and use it in
their CI/CD workflow. The dev docs will help developers
continue to improve "markbind-action"
commit feee60a
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Tue Apr 5 11:19:51 2022 +0800
Remove bootstrap-vue (MarkBind#1873)
bootstrap-vue is no longer used in MarkBind as it relies on Vue 2 and
Bootstrap 4, both which we plan to upgrade. Its components have been
migrated to other libraries.
Let's remove all mentions and instances of bootstrap-vue from MarkBind
to fully remove this dependency.
commit 1bd81ff
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Mon Apr 4 13:35:06 2022 +0800
Add Components page to developer guide (MarkBind#1865)
Add Writing Components page to dev docs
commit dac728d
Author: Jovyn Tan <61113575+jovyntls@users.noreply.github.com>
Date: Mon Apr 4 12:00:48 2022 +0800
Migrate popovers and tooltips to floating-vue (MarkBind#1868)
Popovers and tooltips are implemented using bootstrap-vue.
bootstrap-vue has dependencies on both Vue and Bootstrap, and has not
migrated the latest versions. This is a blocker for MarkBind's
migration of these dependencies.
Let's use floating-vue's Menu and Tooltip components for Popovers and
Tooltips respectively. floating-vue supports both Vue 2 and Vue 3, and
has fewer dependencies. This allows us to migrate to Vue 3 and
Bootstrap 5 more easily in the future.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The markbind-action workflow should not always force push Leverage GitHub actions

2 participants

@tlylt@kaixin-hc