InnerSourceCommons / InnerSourcePatterns

Proven approaches that can guide you through applying open source best practices within your organization
https://patterns.innersourcecommons.org
Creative Commons Attribution Share Alike 4.0 International
743 stars 183 forks source link

Process for porting pattern improvements into Japanese book #448

Closed spier closed 1 year ago

spier commented 2 years ago

Our fantastic Japanese InnerSource community has translated all current Level 2+ patterns to Japanese. 🇯🇵 🥳

Now what if the original English patterns are improved further?

Common changes are:

Identify to-be-translated content

First we have to identify the changes to the English patterns and book files that have not been translated to Japanese yet. We can do this with a bit more elaborate git log query. Here I am assuming that all changes up to date 2022-07-28 have been translated already:

git log --stat --after=2022-07-28 -- patterns/2-structured/ book/en/

Note: This query does not quite do what I would expect yet but you get the idea I guess :)

Trigger process for translations

We could create a GHA that creates an issue automatically, if new to-be-translated content is identified. Then the Japanese InnerSource community could review those issues periodically and determine how they want to go about creating the translations for those.

spier commented 2 years ago

@yuhattor would be great to get your thoughts on how to go about this. Also if you have somebody in the JP community that knows git and GitHub actions really well, that would really benefit us as well.

yuhattor commented 2 years ago

@spier

Thank you for summarizing the idea of continuous improvement of the book translation. Well, actually, we do not yet have many community members for InnerSource patterns. I think we need more Japanese contributors for the pattern book.

If each change could be divided into small issues, it would be easier for Japanese members to start making contributions. I think this is an opportunity to increase the number of people willing to become TC:)

I think I know more about GitHub Actions than most people. And since there are many GitHub employees in the community, they might be able to tell me how to do it better...

A quick thought came to my mind: If everyone, including TC, develops using Pull Request and does not push to main, then basically the unit of major changes/updates would be a one Pull Request, and it must be clean. How about running a diff command, and if the PR contains changes under the /patterns/2-structured directory, then automatically create a new Issue for translation.

GH Actions look like this

on:
  pull_request:
    branches:
      - main
    types: [closed]

steps:
  - name: get diff 
    run: git diff branchA main --name-only  --relative=patterns/2-structured/
  - name: 
    run: <Get the result from the output above and get info> 
  - name: Issue Creation
    if:  <If there are changes >
   run: <Create an issue>

If you have any ideas or information, please le us know @yuichielectric

spier commented 2 years ago

@yuhattor this sounds nice.

I understand where you are going with that GHA. FYI I made a minor fix in the GHA pseudo code above.

That way we would automatically create an issue backlog of to-be-translated content. If that backlog grows too large, then we know that we have to invest more time in looking for contributors.

yuhattor commented 2 years ago

That's great! Thank you:) I may need a little verification at my end.I'm thinking of translating innersourcecommons.org in the community right now. Maybe the implementation here can be applied to that as well. But I think innersourcecommons.org has a lot of commits, so we need to make sure it doesn't become noise.

spier commented 2 years ago

Yeah, I also think that innersourcecommons.org will require a different approach.

Let's solve one challenge at a time ;)

spier commented 1 year ago

This has been implemented for a while already. Last changes to the GHA that does the consistency checks happened in https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/580.

Closing this issue.