xmr-btc-swap/.github/workflows
bors[bot] 2c13a90073
Merge #412
412: Bump actions/setup-python from v2.2.1 to v2.2.2 r=thomaseizinger a=dependabot[bot]

Bumps [actions/setup-python](https://github.com/actions/setup-python) from v2.2.1 to v2.2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p>
<blockquote>
<h2>v2.2.2</h2>
<p>Address PyPy installation issues on Windows: <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/196">actions/setup-python#196</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="dc73133d4d"><code>dc73133</code></a> Fix PyPy installation on Windows to adopt new parameters format (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/201">#201</a>)</li>
<li><a href="a1121449a2"><code>a112144</code></a> Add on: pull_request trigger to CodeQL workflow (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/180">#180</a>)</li>
<li><a href="66319ca9fa"><code>66319ca</code></a> Use quotes around Python versions in README (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/175">#175</a>)</li>
<li>See full diff in <a href="https://github.com/actions/setup-python/compare/v2.2.1...dc73133d4da04e56a135ae2246682783cc7c7cb6">compare view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-14 00:56:28 +00:00
..
build-release-binaries.yml Bump actions/setup-python from v2.2.1 to v2.2.2 2021-04-13 07:46:17 +00:00
ci.yml Multiple swaps with the same peer 2021-04-13 18:16:19 +10:00
create-release.yml Add workflow for creating new releases 2021-03-25 11:12:01 +11:00
draft-new-release.yml Add workflow for drafting a new release 2021-03-25 11:12:01 +11:00
preview-release.yml Add CHANGELOG section to preview release 2021-03-25 11:12:01 +11:00
README.md Add workflow documentation 2021-03-25 11:12:02 +11:00

Workflow documentation

ci.yml

Defines the Continuous Integration workflow for merging into the master branch.

Releases

The workflows in this repository automate various things around releases. The functionality is composed in such a way that a human can easily start the workflow at various points, i.e. instead of being an all-or-nothing automation, we can step in where necessary.

Preview release

We have a rolling tag preview that always points to HEAD of master. The preview-release.yml workflow moves this tag to latest HEAD every time a PR gets merged. It also creates a corresponding GitHub "pre-release".

Building release binaries and attaching changelog

Whenever a new release is created, the build-release-binaries.yml workflow will build the swap and asb binaries in release mode and attach them to the release as artifacts.

Because this workflow is triggered on every release, it works for:

  • automatically created preview releases
  • releases created through the GitHub web interface
  • releases created by merging release branches into master

Making a new release

To create a new release, one has to:

  • Create a new branch
  • Update the version in the swap/Cargo.toml manifest file
  • Update the Changelog (convert Unreleased section to a release)
  • Make a commit
  • Open and merge a PR
  • Create a release from the resulting merge commit

To avoid errors in this process, we can automate it. The draft-new-release.yml workflow allows the user specify the desired version and the workflow will then open a PR that automates the above.

The created branch will follow the naming of release/X.Y.Z for the given version.

Any time a PR with such a branch name is merged, the create-release.yml workflow kicks in and creates a new release based on the resulting merge commit.

Because these two workflows are de-coupled, a user is free to create a release branch themselves if they wish to do so. They may also side-step both of these workflows by creating a release manually using the Github web interface.