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

[ci] Automate release publishing #4428

Merged
merged 4 commits into from
Mar 9, 2022

Conversation

frostming
Copy link
Collaborator

@frostming frostming commented Mar 2, 2022

Fix #1674

Changed the workflow for publishing releases, to be more automated. Details as below:

  • Add a version.txt in the project root as the single source of truth of the taichi version.
  • Production release MUST be triggered by workflow_dispatch event, with version as the required input. It is similar to the following screenshot:
  • Production builds will read the version from the input, while nightly builds(triggered by crontab) will read it from version.txt
  • Tag, changelog, and a GitHub release will be created automatically after all builds and uploads are successful. After that, maintainers can review the release note and append contents if necessary.
  • Then, the version.txt content will be updated to the next patch version by the workflow, a PR will be created for the change. For example:
    inputs.version: 0.9.0
    version.txt updated to : 0.9.1

@netlify
Copy link

netlify bot commented Mar 2, 2022

✔️ Deploy Preview for docsite-preview ready!

🔨 Explore the source changes: 1a488eb

🔍 Inspect the deploy log: https://app.netlify.com/sites/docsite-preview/deploys/622866973cd1bf000730567a

😎 Browse the preview: https://deploy-preview-4428--docsite-preview.netlify.app

Copy link
Collaborator

@rexwangcc rexwangcc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is cool! I have one question but lgtm in general

.github/workflows/release.yml Outdated Show resolved Hide resolved
@frostming frostming force-pushed the ci/auto-publish-release branch from 7c409fe to 045dd4b Compare March 8, 2022 06:56
Copy link
Contributor

@ailzhang ailzhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome!! Thanks!
(btw have you tested this in test_actions repo? :P
One really useful followup is to trigger upload after all 18 jobs finishes (instead of right after each job finishes) just in case some failures are valid and we need to send a new patch.

@frostming frostming force-pushed the ci/auto-publish-release branch from 045dd4b to 1a488eb Compare March 9, 2022 08:34
@frostming
Copy link
Collaborator Author

One really useful followup is to trigger upload after all 18 jobs finishes (instead of right after each job finishes) just in case some failures are valid and we need to send a new patch.

Updated the workflow, now there is only one upload step that uploads all built wheels at once.

(btw have you tested this in test_actions repo? :P

Yeah, but it is still ongoing.

Copy link
Contributor

@ailzhang ailzhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!
Now that we've released 0.9.1 I guess it's safe to merge this PR. cc next release oncall @Leonz5288 just in case.

@ailzhang ailzhang merged commit be843e4 into taichi-dev:master Mar 9, 2022
@frostming frostming deleted the ci/auto-publish-release branch March 9, 2022 11:38
@qiao-bo
Copy link
Contributor

qiao-bo commented Mar 10, 2022

@frostming any idea why last night's nightly test and release was not executed?

@frostming
Copy link
Collaborator Author

@qiao-bo Because the first step is skipped which is the dependency of all subsequent jobs. I will submit a fix soon.

@qiao-bo
Copy link
Contributor

qiao-bo commented Mar 11, 2022

@frostming seems another problem here on last night's build ;/ (https://github.com/taichi-dev/taichi/runs/5504453927?check_suite_focus=true).

Here

/home/dev/${{ github.event.repository.name }}/.github/workflows/scripts/unix_build.sh

github.event.repository.name becomes empty and hence the path is not found, this is only on linux.

@frostming
Copy link
Collaborator Author

@qiao-bo It seems the problem exists before, the line 89 is interpreted as:

tar -cf - ../ --mode u=+rwx,g=+rwx,o=+rwx --owner 1000 --group 1000 | docker cp - taichi_build:/home/dev/

I am suprised that tar -cf - ../taichi and tar -cf - ../ work the same.

@qiao-bo
Copy link
Contributor

qiao-bo commented Mar 11, 2022

I am suprised that tar -cf - ../taichi and tar -cf - ../ work the same.

this is indeed a bit mysterious ;/

Sign up for free to 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.

[Workflow] Automatic version releases
4 participants