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

Shift the GitHub action to CLI repository #396

Open
Shurtu-gal opened this issue Jun 14, 2024 · 33 comments
Open

Shift the GitHub action to CLI repository #396

Shurtu-gal opened this issue Jun 14, 2024 · 33 comments
Assignees
Labels
bounty AsyncAPI Bounty program related label enhancement New feature or request

Comments

@Shurtu-gal
Copy link
Collaborator

Shurtu-gal commented Jun 14, 2024

Why do we need this improvement?

Currently the versions, releases and other stuff are isolated from CLI which is directly coupled with this CLI. However, this creates problems in bumping of versions and keeping code updated as well.

Furthermore, any change in CLI spec could be easily made here as well.

How will this change help?

This will help in automation of releases of CLI and tie them together properly.

How could it be implemented/designed?

This issue can be resolved through the following steps:-

  • Transfer the source code of this action in a github-action folder.
  • Put the test workflow in its proper place in .github directory.
  • Tie the version at these steps:
    if [ -n "$CLI_VERSION" ] && [ ! "$CLI_VERSION" == "latest" ]; then

    RUN npm install --ignore-scripts -g @asyncapi/cli
  • Add automation for release of new version of action with bump in CLI version.
  • Put action.yml in root folder.

Additional steps:

  1. Instead of installing the asyncapi cli, dockerise the code from parent directory itself.

Important

The action and bump of version would need to be tested in your personal repo or account. From my past experience would suggest using an alternate account itself.

🚧 Breaking changes

Yes

@Shurtu-gal Shurtu-gal added the enhancement New feature or request label Jun 14, 2024
@Shurtu-gal
Copy link
Collaborator Author

bounty/candidate

@akshatnema
Copy link
Member

@Shurtu-gal I wish to work on this issue. Basically, want to try something new, apart from website 😅

@Shurtu-gal
Copy link
Collaborator Author

@Shurtu-gal I wish to work on this issue. Basically, want to try something new, apart from website 😅

Great, however would need to wait for it to be accepted before assigning.

@asyncapi-bot asyncapi-bot added the bounty AsyncAPI Bounty program related label label Jun 17, 2024
@aeworxet
Copy link

aeworxet commented Jun 17, 2024

Bounty Issue's service comment

Text labels: bounty/2024-Q3, bounty/advanced, bounty/coding
First assignment to third-party contributors: 2024-06-21 00:00:00 UTC+12:00
End Of Life after: 2024-07-31 23:59:59 UTC-12:00

@asyncapi/bounty_team

The Bounty Program is not a Mentorship Program. The accepted level of Bounty Program Participants is Middle/Senior.
Third-party contributors should coherently articulate how they are going to approach the resolution process when expressing a desire to work on this Bounty Issue.

@Shurtu-gal
Copy link
Collaborator Author

@asyncapi/bounty_team as per the rules with maintainers having more preference, I have assigned @akshatnema the issue.

Copy link
Member

Thanks @Shurtu-gal 😄 👍

@aeworxet
Copy link

Bounty Issue's Timeline

Complexity Level Assignment Date (by GitHub) Start Date (by BP Rules) End Date (by BP Rules) Draft PR Submission Final PR Merge Start Final PR Merge End
Medium 2024-06-17 2024-07-01 2024-08-11 2024-07-14 2024-07-28 2024-08-11
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

@aeworxet aeworxet moved this from No Assignee to In Progress in Bounty Program Jun 17, 2024
@akshatnema
Copy link
Member

Hey @aeworxet,
Can you please extend the deadline of bounty issue by 2 weeks, as I caught Dengue in the previous week?

@aeworxet
Copy link

Upon request of the Bounty Program Participant (@akshatnema), all remaining target dates of the Bounty Issue's Timeline are extended by two calendar weeks.

Bounty Issue's Timeline Extended

Complexity Level Assignment Date (by GitHub) Start Date (by BP Rules) End Date (by BP Rules) Draft PR Submission Final PR Merge Start Final PR Merge End
Medium 2024-06-17 2024-07-01 2024-08-25 2024-07-28 2024-08-11 2024-08-25
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

@akshatnema
Copy link
Member

Thanks @aeworxet

@Shurtu-gal
Copy link
Collaborator Author

@akshatnema do you need any help on this ?

@aeworxet
Copy link

aeworxet commented Aug 6, 2024

@akshatnema, please provide an update to the PR.

1 similar comment
@aeworxet
Copy link

@akshatnema, please provide an update to the PR.

@aeworxet
Copy link

@akshatnema had scheduled a call with @derberg on 2024-08-27 to clarify some final details on this Bounty Issue before merging asyncapi/cli#1487.

@aeworxet
Copy link

Response, critical for technical resolution of this Bounty Issue (clarification on implementation) was delayed for one period of three consecutive working days
#396 (comment)

so all remaining target dates of the Bounty Issue's Timeline are extended by two calendar weeks.

Bounty Issue's Timeline Extended

Complexity Level Assignment Date (by GitHub) Start Date (by BP Rules) End Date (by BP Rules) Draft PR Submission Final PR Merge Start Final PR Merge End
Medium 2024-06-17 2024-07-01 2024-09-08 2024-07-28 2024-08-25 2024-09-08
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

@akshatnema
Copy link
Member

Hey @aeworxet ,
after discussion this with @Shurtu-gal and Lukasz, I find that this may get delayed for the completion. Can you please extend the bounty deadlines by 2 weeks?

@aeworxet
Copy link

aeworxet commented Sep 6, 2024

Upon request of the Bounty Program Participant (@akshatnema), all remaining target dates of the Bounty Issue's Timeline are extended by two calendar weeks.

Bounty Issue's Timeline Extended

Complexity Level Assignment Date (by GitHub) Start Date (by BP Rules) End Date (by BP Rules) Draft PR Submission Final PR Merge Start Final PR Merge End
Medium 2024-06-17 2024-07-01 2024-09-22 2024-07-28 2024-08-11 2024-09-22
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

@aeworxet
Copy link

@akshatnema, please provide an update to the PR.

@aeworxet
Copy link

There is no update as I'm researching around the fact on how to manage GitHub Action for CLI.

@Shurtu-gal and @derberg proposals require different configurations, which in fact means we need to have the same package.json for both CLI and it's respective GitHub action.

I'm currently looking at how to use only one configuration and one package.json.

Although the matter looks simple, it will take time to try different approaches, so if I don't achieve a break-through in the nearest couple of days, I'll ask for the Timeline Extension.

asyncapi/cli#1487 (comment)

@aeworxet
Copy link

The latest conversation with @akshatnema took place on Friday 2024-09-20 in Slack, where he stated that the solution to this Bounty Issue will be merged later because it requires thorough testing, as it is a complete repo being moved into an existing one, and then became unresponsive.

Reasons for sudden silence after a lively conversation can be numerous, so I'm waiting for the clarification on this matter before taking any action.

@akshatnema
Copy link
Member

Hey @aeworxet Sorry for the late reply.

The solution requires thorough testing, as this is a complete repo being moved into an existing one, so I need an extension by 2 weeks. But most probably, I will do everything on this weekend.

@aeworxet
Copy link

Upon request of the Bounty Program Participant (@akshatnema), all remaining target dates of the Bounty Issue's Timeline are extended by two calendar weeks.

Bounty Issue's Timeline Extended

Complexity Level Assignment Date (by GitHub) Start Date (by BP Rules) End Date (by BP Rules) Draft PR Submission Final PR Merge Start Final PR Merge End
Medium 2024-06-17 2024-07-01 2024-10-06 2024-07-28 2024-09-22 2024-10-06
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

@Shurtu-gal
Copy link
Collaborator Author

@aeworxet the versions automation task will be done in another PR.

@Shurtu-gal
Copy link
Collaborator Author

@aeworxet this issue is pretty complicated as some things related to containerizing part is still not working and we still have to do the automation of version locking and bumping. @akshatnema is also pretty new to the CLI repo so is it possible to reclassify this bounty as advanced and extend it for 1-2 weeks.

P.S: Original Source: asyncapi/cli#1487 (comment)

@aeworxet
Copy link

aeworxet commented Oct 7, 2024

Upon request of the AsyncAPI Maintainer (@Shurtu-gal, githubID 100484401), the Complexity Level of this Bounty Issue was reclassified to Advanced (upgraded), and all remaining target dates of its Timeline were extended by two calendar weeks.

Bounty Issue was Reclassified and its Timeline Extended

Complexity Level Assignment Date (by GitHub) Start Date (by BP Rules) End Date (by BP Rules) Draft PR Submission Final PR Merge Start Final PR Merge End
Advanced 2024-06-17 2024-07-01 2024-10-20 2024-07-28 2024-09-22 2024-10-20
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

@aeworxet
Copy link

Implementation of #396 (comment)

the versions automation task

is the PR

asyncapi/cli#1543

@aeworxet
Copy link

Timeline for this Bounty Issue has run out. Knowing it is quite complex, and taking into account that both @akshatnema and @Shurtu-gal have remained responsive during its resolution, I must first ask what should be done with it moving forward? Is more time needed to complete it, is it in the final stages, or is there something else?

@Shurtu-gal
Copy link
Collaborator Author

Timeline for this Bounty Issue has run out. Knowing it is quite complex, and taking into account that both @akshatnema and @Shurtu-gal have remained responsive during its resolution, I must first ask what should be done with it moving forward? Is more time needed to complete it, is it in the final stages, or is there something else?

It's in the final stages, just need to get the automation in place.

@Shurtu-gal
Copy link
Collaborator Author

This bounty is still in progress. We have been discussing possible solutions and have come with two plausible ones:-

  • Using docker image directly to forego the github relase overhead.
  • Using changeset to bump action.yml before release

cc: @aeworxet

@Shurtu-gal
Copy link
Collaborator Author

@aeworxet @akshatnema is exploring the above mentioned solutions and would be giving any updates he finds out here.

@aeworxet
Copy link

This Bounty Issue is still in progress and is encountering many restrictions and limitations related to GitHub Actions, AsyncAPI infrastructure, and the release process.

@akshatnema
Copy link
Member

I tried to create release workflow using changeset here - https://github.com/akshatnema/cli/actions/runs/11999463258/job/33447396874. Currently debugging in it to create a changeset in the fork repo, and test the workflow.

@Shurtu-gal
Copy link
Collaborator Author

Update: this weekend we got the the changeset workflow to work regarding bump so it seems promising enough to fulfill all the requirements. The PR for mentioned workflow will be coming soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty AsyncAPI Bounty program related label enhancement New feature or request
Projects
Status: In Progress
Development

No branches or pull requests

4 participants