Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add CI workflow to publish releases #31

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

Merged
MatteoPologruto merged 5 commits into arduino:master from MatteoPologruto:release-CI
Nov 21, 2022

Conversation

Copy link
Contributor

@MatteoPologruto MatteoPologruto commented Nov 17, 2022
edited
Loading

On every push of a tag named with a version format:

  • Build the project for all supported platforms.
  • Use gon to sign and notarize the macOS builds.
  • Create a GitHub release.
    • Builds and checksums are attached as release assets
    • A changelog generated by arduino/create-changelog from the commit history is added to the release description
    • If the tag has a pre-release version suffix, the GitHub release will be marked as a pre-release.
  • Upload the builds to Arduino's downloads server.

Additional information

The workflow has been modified to create parallel builds for each OS and calculate the relative checksums once, at the end of the process.
Test run: https://github.com/MatteoPologruto/arduinoOTA/actions/runs/3487993513
Test release: https://github.com/MatteoPologruto/arduinoOTA/releases/tag/99.99.99

Copy link
Contributor

@umbynos umbynos left a comment

Choose a reason for hiding this comment

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

I think we can remove also deploy.sh.

something is wrong with the version:

./arduinoOTA -version
1.3.0

Copy link
Contributor Author

MatteoPologruto commented Nov 17, 2022
edited
Loading

I think we can remove also deploy.sh.

something is wrong with the version:

./arduinoOTA -version
1.3.0

It should be okay now.

@@ -1,46 +0,0 @@
#!/bin/bash -xe
Copy link
Contributor

Choose a reason for hiding this comment

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

If we are removing this, and this is the only shell script, maybe we should remove also https://github.com/arduino/arduinoOTA/blob/ce63040f98ce22778810220179c0d9f234c6a440/.github/workflows/check-shell-task.yml

Copy link
Contributor

umbynos commented Nov 17, 2022

Version printing LGTM

Copy link
Contributor

umbynos commented Nov 18, 2022

The check markdown links is expected to fail, while the check markdown nope. @per1234 do you have an idea on why is failing?

Copy link
Contributor Author

MatteoPologruto commented Nov 18, 2022
edited
Loading

The check markdown links is expected to fail, while the check markdown nope. @per1234 do you have an idea on why is failing?

@umbynos I think it's because there are some problems with the downloaded schema. The file-url is actually different from the file url used in the assets repo. I could fix it in a separate PR.

umbynos reacted with thumbs up emoji

Copy link
Contributor

umbynos commented Nov 18, 2022

On every push of a tag named with a version format:
- Build the project for all supported platforms.
- Sign and notarize the macOS builds.
- Create a GitHub release.
 - Builds and checksums are attached as release assets
 - A changelog generated from the commit history is added to the release description
 - If the tag has a pre-release version suffix, the GitHub release will be marked as a pre-release.
- Upload the builds to Arduino's downloads server.
Introducing the use of a matrix, greatly improves time performances during the build making process, since each build task is performed simultaneously. To support this, a check has been added to avoid
creating the same changelog more than once.
The calculation of the checksums has also been modified. Previously, it was done three (3) times at different stages of the workflow. This is pointless, since the only checksums that matter are the ones
calculated when the files are in their final form. For this reason, it is now only done once during the release creation.
@MatteoPologruto MatteoPologruto merged commit 5a1cb73 into arduino:master Nov 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers

@facchinm facchinm facchinm approved these changes

@per1234 per1234 Awaiting requested review from per1234

+1 more reviewer

@umbynos umbynos umbynos approved these changes

Reviewers whose approvals may not affect merge requirements
Labels
topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

create release CI

AltStyle によって変換されたページ (->オリジナル) /