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

ci: publish: Move to release tag triggered publishing #611

Merged
merged 7 commits into from
Jul 30, 2024

Conversation

lread
Copy link
Collaborator

@lread lread commented Jul 30, 2024

I still prefer my old GitHub UI triggered release. It feels much less complicated to me. But this project is part of clj-commons, and here I defer to the larger team's preference for release triggered publishing.

I brought over this work from other projects, mostly rewrite-clj and pomegranate. These incude:

  • using neil to track/bump/store version in deps.edn
  • automatically including date in changelog release headers

One refinement for Etaoin is avoiding the duplicate test run on Publish. The release tag triggered strategy includes a commit and tag from the person doing the publish. This commit triggers the normal Test workflow but the Publish workflow also triggers the Test workflow to ensure all is good before releasing. To avoid the duplicate test run, I've added a new check-for-skip job in the Test workflow to skip tests when appropriate. I'd love to skip the independent Test workflow on Publish entirely, but don't think the GitHub Actions YAML magic to do so exists.

Closes #529

Please complete and include the following checklist:

  • I have read CONTRIBUTING and the Etaoin Developer Guide.

  • This PR corresponds to an issue that the Etaoin maintainers have agreed to address.

  • This PR contains test(s) to protect against future regressions

  • I have updated CHANGELOG.adoc with a description of the addressed issue.

lread added 7 commits July 30, 2024 15:05
I still prefer my old GitHub UI triggered release. It feels much less
complicated to me. But this project is part of clj-commons, and here
I defer to the larger team's preference for release triggered publishing.

I brought over this work from other projects, mostly rewrite-clj and
pomegranate. These incude:

- using neil to track/bump/store version in deps.edn
- automatically including date in changelog release headers

One refinement for Etaoin is avoiding the duplicate test run on
Publish. The release tag triggered strategy includes a commit and tag
from the person doing the publish. This commit triggers the normal
Test workflow but the Publish workflow also triggers the Test workflow
to ensure all is good before releasing. To avoid the duplicate test run,
I've added a new `check-for-skip` job in the Test workflow to skip tests
when appropriate. I'd love to skip the independent Test workflow on Publish
entirely, but don't think the GitHub Actions YAML magic to do so exists.

Closes #529
Since the check-for-skip work needs pretty much the same setup as the
setup job, merge the two and avoid the extra job.
On a PR the commit message is the merge commit.
That's not important to me, I care about behaviour on master, the branch
from which we publish.
@lread lread merged commit bb56708 into master Jul 30, 2024
53 checks passed
@lread
Copy link
Collaborator Author

lread commented Jul 30, 2024

GitHub manual Config:

  • deleted "release" environment.
  • added "publish" environment. Populated with appropriate secrets.

lread added a commit to dgr/etaoin that referenced this pull request Aug 13, 2024
* master:
  Move to w3c WebDriver spec (clj-commons#616)
  minor breaking: Remove support for PhantomJS (clj-commons#614)
  ci: publish: Move to release tag triggered publishing (clj-commons#611)
  docs: review & update changelog (clj-commons#610)
  Minimal safari driver logging (clj-commons#601)
  Ignore emacs backup files (clj-commons#609)
@lread lread deleted the lread-ci-release-workflow2 branch August 17, 2024 17:26
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.

ci chore: move to version tag triggered release scheme
1 participant