Skip to content

[skip changelog] New release process that doesn't use goreleaser #120

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
merged 11 commits into from
Dec 22, 2020

Conversation

silvanocerza
Copy link
Contributor

This PR supersedes #118.

This should be the new release process, it doesn't use goreleaser and the multiarch container to crosscompile but the elastic/golang-crossbuild containers to build for multiple platforms.

It's currently working and could be used as is, but it needs some documentation.

Ideally this way of building can be easily used for the arduino-cli with minimal changes.

@silvanocerza silvanocerza self-assigned this Dec 18, 2020
@per1234 per1234 force-pushed the scerza/new-release-process branch 2 times, most recently from 50a211a to a69dde8 Compare December 20, 2020 08:06
@per1234 per1234 marked this pull request as ready for review December 20, 2020 08:14
@per1234
Copy link
Contributor

per1234 commented Dec 20, 2020

The "Check documentation links" workflow failure is expected. It's caused by the repositories being private.

@per1234
Copy link
Contributor

per1234 commented Dec 20, 2020

Demonstration release using this system (using my certificate and identity and with the AWS upload step disabled) available here: https://github.com/per1234/arduino-lint/releases/tag/0.1.0

@per1234 per1234 force-pushed the scerza/new-release-process branch 2 times, most recently from 7b355a7 to ff251f8 Compare December 21, 2020 15:35
silvanocerza and others added 10 commits December 21, 2020 07:45
The previous case insensitive flag syntax is not supported in JavaScript regular expressions, resulting in an error from the `arduino/create-changelog` action:

Invalid regular expression: /^(?i)\[(skip|changelog)[ ,-](skip|changelog)\].*/: Invalid group

I couldn't find a valid way to specify the i flag, so I used the brute force approach to achieve case-insensitivity.
Although useful when used locally, when run in the headless GitHub Actions runner environment, this causes the command
to fail:

the input device is not a TTY
The "Build" step of the workflow relies on Task being installed. Without this step, the workflow fails:

task: command not found
Previously, the Windows executables produced by the dist:Windows_32bit and dist:Windows_64bit tasks were named
arduino-lint.
This is required for the correct output from `arduino-lint --version` with release versions of the tool.
The date in the filename would break the current installation script approach.
This is the naming convention established in Arduino CLI. Since neither format is superior to the other, and
arduino-lint is using Arduino CLI as a reference (and likely the other way around as well in the future), it's best to
be consistent.
@per1234 per1234 force-pushed the scerza/new-release-process branch from ff251f8 to 1058964 Compare December 21, 2020 15:46
Copy link
Contributor

@rsora rsora left a comment

Choose a reason for hiding this comment

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

Excellent job
I left a minor nitpick for @per1234 🐱

The rest is good!

Copy link
Contributor

@per1234 per1234 left a comment

Choose a reason for hiding this comment

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

Thanks Silvano!

@per1234 per1234 merged commit a58dfe9 into main Dec 22, 2020
@per1234 per1234 deleted the scerza/new-release-process branch December 22, 2020 03:37
@per1234 per1234 added topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement labels Sep 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants