Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a GitHub Action #48

Open
mgeisler opened this issue Aug 14, 2023 · 3 comments
Open

Add a GitHub Action #48

mgeisler opened this issue Aug 14, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@mgeisler
Copy link
Collaborator

We should publish our own GitHub Action to make it easy to use mdbook-i18n-helpers.

This will move logic from the YAML file (such as publish.yml) to the action. The action is probably written in TypeScript (I'm not sure we can write an action in Rust?) and this will be a more comfortable language than what we can do with scripts in the YAML file.

@mgeisler mgeisler added the enhancement New feature or request label Aug 14, 2023
@mgeisler mgeisler added the help wanted Extra attention is needed label Aug 24, 2023
@mgeisler
Copy link
Collaborator Author

What should a GitHub action do?

  • it should download a pre-compiled mdbook-gettext binary so that mdbook build can be fast.
  • when Build translations from mdbook #84 is done, the action should also download a pre-compiled version of the new binary there.

Where do these pre-compiled binaries come from? We will need to generate and publish them as part of a release workflow for this repository. See #78 for another issue about releasing binaries.

I would like us to use mgeisler/rust-release-gh-action to do the releases — it's the release flow I'm using for all my Rust crates these days. This release workflow needs to be integrated and it needs to be extended to generate binaries. It should probably also be rewritten as a Rust binary instead (which we will execute via a Dockerfile GitHub action.

So, all in all, there is a fair amount of steps to be tackled here by someone... it will involve touching several interesting technologies 😄

@trooper2013
Copy link

@mgeisler Could you please assign this task to me.

@mgeisler
Copy link
Collaborator Author

mgeisler commented Oct 2, 2023

Hey @trooper2013, thanks a lot for looking at this!

I would love for you to start simple here: building a fully automatic publishing pipeline is complicated, but making a very simple GitHub action is not.

See https://github.com/dprint/check as a good example of how to get started. The action.yml file there installs the dprint command line and runs it. In our case, "installing" means running cargo install mdbook-i18n-helpers at first 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants