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

packets_creation: add the icub packet creation via gh action #709

Merged
merged 2 commits into from
Jan 7, 2021

Conversation

Nicogene
Copy link
Member

@Nicogene Nicogene commented Jan 5, 2021

This PR adds the creation of the icub packet via gh action

See https://github.com/Nicogene/icub-main/actions/runs/463171210 for reference and here the deb uploaded

immagine

Copy link
Member

@pattacini pattacini left a comment

Choose a reason for hiding this comment

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

Nice addition @Nicogene 👍🏻

I've got a few points to address.

.github/workflows/ci.yml Outdated Show resolved Hide resolved
.github/workflows/packages_creation.yml Outdated Show resolved Hide resolved
.github/workflows/packages_creation.yml Outdated Show resolved Hide resolved
.github/workflows/packages_creation.yml Outdated Show resolved Hide resolved
.github/workflows/packages_creation.yml Outdated Show resolved Hide resolved
@pattacini
Copy link
Member

pattacini commented Jan 5, 2021

Another problem I can see is that we tend to modify the release tag a few times before carving it on the stone to fix some last minutes mistakes. Therefore, I'd avoid triggering the action upon the creation of just the tag.

Instead, I'd go for one of the following options:

  1. Trigger upon manual creation of the release.
  2. Make the job manual using the workflow_dispatch event.

cc @traversaro @Nicogene

@traversaro
Copy link
Member

Another problem I can see is that we tend to modify the release tag a few times before carving it on the stone to fix some last minutes mistakes.

No directly related to this PR, but I guess this is an residual related to when releases were "expensive". If the release process is completely automated, there is nothing particularly problematic in quickly releasing small patch releases that fix small bugs or problems.

Instead, I'd go for one of the following options:

1. Trigger upon manual creation of the release.

2. Make the job manual using the `workflow_dispatch` event.

cc @traversaro @Nicogene

The problem of using workflow_dispatch is that then you are executing the code on a given branch, that may be different from the code that was tagged in the release. The release event offers a lot of activity types (see https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#release) that I think can be used in this case.

.ci/packages_vars.sh Outdated Show resolved Hide resolved
# Probably this step is not needed anymore after cmake components/modernization
fix_relocatable_files
Copy link
Member

Choose a reason for hiding this comment

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

@pattacini
Copy link
Member

pattacini commented Jan 5, 2021

No directly related to this PR, but I guess this is an residual related to when releases were "expensive". If the release process is completely automated, there is nothing particularly problematic in quickly releasing small patch releases that fix small bugs or problems.

I didn't explain exactly what I meant. In the recent past, @Nicogene can confirm, we tagged the master and then craft the releases a few days afterward. In the time between, it (rarely) happened that the same tag was deleted and updated before announcing the "real" (corresponding) release. That's the point why I'm not really confident in triggering this workflow upon the creation of the tag but rather upon the creation of the actual release (and I'm pretty sure we can do that).

Generally speaking, I concur with you @traversaro that once we release a piece of software we can then easily fix possible bugs with subsequent patches, especially when the process is almost fully automatized.

That said, option 1 (triggering upon releases rather than tag) is obviously preferable over option 2 - which by the way I meant to be using at the very same time when the release is ready, although it's certainly not an atomic operation.

@Nicogene Nicogene marked this pull request as draft January 5, 2021 13:56
@Nicogene Nicogene force-pushed the feat/actioniCubPacketREADY branch 3 times, most recently from c6dfa13 to 9119203 Compare January 7, 2021 12:00
@Nicogene
Copy link
Member Author

Nicogene commented Jan 7, 2021

Update

@pattacini now the action is triggered by the creation of a new release 👍🏻
@traversaro the action uses now only docker, the yml is more slim 👍🏻

See https://github.com/Nicogene/icub-main/actions/runs/469222425 for reference and the relative release https://github.com/Nicogene/icub-main/releases/tag/v1.0.57

@Nicogene Nicogene marked this pull request as ready for review January 7, 2021 15:27
@pattacini pattacini merged commit c3227b9 into robotology:devel Jan 7, 2021
@Nicogene Nicogene deleted the feat/actioniCubPacketREADY branch January 7, 2021 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants