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 release process, support NPM publishing #179

Merged
merged 4 commits into from
Dec 31, 2023
Merged

Conversation

Siegrift
Copy link
Collaborator

Closes #164
Closes #165
Closes #167

Rationale

We agreed on call to publish the packages with the same version (similarly to Airnode). I looked for potential solutions that do this, because such workspace versioning not natively supported by PNPM nor NPM. We can use changesets (what Airnode does) or do this ourselves. I did a small pros/cons:

  • Changesets

    • (-) Need to write changesets manually
    • (-) Process to follow
    • (+) Bumps version and does release for projects automatically
    • (+) When done by CI it generates Github release notes per project
    • (+) Generated changelog for each project
    • (+) Tested by many projects in the wild
  • Custom Script

    • (-) Code and maintenance overhead
    • (+) Simpler process to follow
    • (+) Single git tag for both projects
    • (+-) Common Github release for both project generated from PR titles

    and ended up with implementing a version script.

    Related

  • I've renamed api workspace to signed-api so that the package is the same as on NPM.
  • Published packages are @api3/signed-api and @api3/airnode-feed.
  • I've tested the publishing locally with Verdaccio. The imports looked good, but I only exported a limited functionality (mostly configuration utils and schemas).

@Siegrift Siegrift requested a review from andreogle December 21, 2023 12:05
@Siegrift Siegrift self-assigned this Dec 21, 2023
@Siegrift Siegrift changed the title Release process2 Automate release process, allow NPM publishing Dec 21, 2023
@Siegrift Siegrift changed the title Automate release process, allow NPM publishing Automate release process, support NPM publishing Dec 21, 2023
package.json Outdated Show resolved Hide resolved
packages/airnode-feed/src/npm-exports.ts Show resolved Hide resolved
@api3dao api3dao deleted a comment from andreogle Dec 21, 2023
Base automatically changed from async-errors to main December 31, 2023 07:23
@Siegrift Siegrift merged commit eb6ab20 into main Dec 31, 2023
4 checks passed
@Siegrift Siegrift deleted the release-process2 branch December 31, 2023 07:29
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.

Publish the packages on NPM Fix release instructions Document Docker release instuctions on macOS
2 participants