Skip to content

ci: add-snapshots-to-ci #490

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

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open

ci: add-snapshots-to-ci #490

wants to merge 1 commit into from

Conversation

ryanbas21
Copy link
Contributor

JIRA Ticket

Description

Just threw together something, unconfirmed if this works. I stole this from some other action workflows i found via github issues/questions.

Type of Change

Please Delete options that are not relevant

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Definition of Done

Check all that apply

  • Acceptance criteria is met.
  • All tasks listed in the user story have been completed.
  • Coded to standards.
  • Code peer-reviewed.
  • Ensure backward compatibility (special attention).
  • API reference docs is updated.
  • Unit tests are written.
  • Integration tests are written.
  • e2e tests are written.
  • CI build passing on the feature branch.
  • Functional spec is written/updated
  • contains example code snippets.
  • Change log updated.
  • Documentation story is created and tracked.
  • UI is completed or ticket is created.
  • Demo to PO and team.
  • Tech debts and remaining tasks are tracked in separated ticket(s).

Documentation

  • Acceptance criteria met
  • Spell-check run
  • Peer reviewed
  • Proofread

Copy link

changeset-bot bot commented Nov 13, 2024

⚠️ No Changeset found

Latest commit: 8edb3b1

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@@ -11,7 +11,7 @@
"clean": "shx rm -rf ./{coverage,dist,docs,node_modules,tmp}/ ./{packages,e2e}/*/{dist,node_modules}/ && git clean -fX -e \"!.env*,nx-cloud.env\"",
"ci:release": "pnpm publish -r --no-git-checks && changeset tag",
"ci:version": "changeset version && pnpm install --no-frozen-lockfile",
"changeset": "pnpm changeset",
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was causing recursion of the changeset command 🤦

Copy link

nx-cloud bot commented Nov 13, 2024

☁️ Nx Cloud Report

CI is running/has finished running commands for commit 8edb3b1. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this CI Pipeline Execution


✅ Successfully ran 2 targets

Sent with 💌 from NxCloud.


- name: snapshot release
if: ${{ steps.changesets.outputs.published == 'false' }}
run: |
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is an output of the above changesets action.

So the thought process here is

-if we dont release, we can release a snapshot

  • so we checkout the develop branch (currently)

  • then run changeset version passing snapshot we can name a snapshot by passing the name to it (in this case i called it snapshot).

  • then call pnpm publish -r ... -r causes pnpm to create the topological graph of the packages so it should be in order

  • tag is passed and called snapshot for sanity and so we arent overwriting latest in any registry

  • no-git-checks is a pnpm feature so that if we have git files uncommitted it will commit.

Questions I am unsure of with this flow:

If there is no changeset, i'd imagine it wouldn't publish. I say this because if i run the following locally i would get this

pnpm changeset version --snapshot snapshot                                                                                                                                                                                                                                                             ✔  7749  16:31:50

> forgerock-javascript-sdk@ changeset /Users/ryan.basmajian/programming/forgerock-javascript-sdk
> changeset "version" "--snapshot" "snapshot"

🦋  warn No unreleased changesets found, exiting.

So it exits, but i'm not really sure about the next step. it feels like maybe we would want a more sophisticated script written in JS that says if we get a process exit here or if we get that text output, then we just exist the script.

Thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

1 participant