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

Automate uploading of package_esp8266_index.json, add release process doc #4999

Merged
merged 2 commits into from
Aug 3, 2018

Conversation

igrr
Copy link
Member

@igrr igrr commented Aug 2, 2018


4. Check that the package index downloaded from http://arduino.esp8266.com/stable/package_esp8266_index.json contains an entry for the new version (it may not be the first one).

5. Edit release description, paste release notes. Remove "draft" status of the release and publish it.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I assume this means in github, in the "Releases" tab -> Edit button?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, i'll update the wording

@earlephilhower
Copy link
Collaborator

I won't be able to review this deeply until tonight, but doesn't the including of a SSH key in the scripts mean that anyone can now upload to the server just by copying the key? I'm thinking of recent hacks where miscreants were able to put up malicious packages in real repos...

@igrr
Copy link
Member Author

igrr commented Aug 2, 2018

@earlephilhower Included in the repo are:

  • encrypted private key, for the SSH client. Encryption key is stored in Travis CI variables and is not accessible outside (see https://docs.travis-ci.com/user/encrypting-files/). This is decrypted when it's time to deploy.

  • public key of the SSH server. This is to prevent MITM where SSH client would be connecting to someone who is pretending to be arduino.esp8266.com. Since this is the public key, no harm in revealing it. This is similar to including server public key (or fingerprint) into an HTTPS sketch.

@earlephilhower
Copy link
Collaborator

Great, @igrr. Thanks for the info. I'll read it thru tonight, but if @devyte thinks its OK then we're probably good to go anyway.

Copy link
Collaborator

@d-a-v d-a-v left a comment

Choose a reason for hiding this comment

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

¡ Thank you for all those details and automation !

@igrr igrr force-pushed the feature/deploy_json_index branch from df6855e to d4ccf5e Compare August 2, 2018 22:25
Copy link
Collaborator

@earlephilhower earlephilhower left a comment

Choose a reason for hiding this comment

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

Step 6 I don't understand, but since @d-a-v and @devyte know what to do I can bug them in a private channel to figure it out. Thanks!


5. Travis CI also uploads package index .json file to `http://arduino.esp8266.com/stable/package_esp8266_index.json`, i.e. well-known URL used by most users.

6. When the draft release is created, maintainer edits release description and inserts changelog into the description field, unmarks the release as draft, and publishes the release.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think I understand everything except this. How/where is this draft release created?

@igrr igrr merged commit 1dba69d into master Aug 3, 2018
@igrr igrr deleted the feature/deploy_json_index branch August 3, 2018 06:51
devyte pushed a commit that referenced this pull request Aug 8, 2018
* ci: work around tagging issue in Travis CI deployment

When `draft: true` is set, incorrect commit/tag information is sent to
Github. Override tag/target fields for correct behavior.

Ref. https://github.com/travis-ci/travis-ci/issues/9852

* doc: clarify some points in the release process
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.

4 participants