Skip to content

Commit

Permalink
ci: update publish workflows, removing old workflow, tweaking main wo…
Browse files Browse the repository at this point in the history
…rkflow for usability, and updating release docs (#151)
  • Loading branch information
aaronsteers authored Dec 6, 2024
1 parent 59505ff commit 0f40e22
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 207 deletions.
178 changes: 0 additions & 178 deletions .github/workflows/publish_sdm_connector.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/pypi_publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:
workflow_dispatch:
inputs:
version:
description: "Version. The version to publish, ie 1.0.0 or 1.0.0-dev1. In most cases, you can leave this blank. If run from a release tag (recommended), the version number will be inferred from the git tag."
description: "Note that this workflow is intended for prereleases. For public-facing stable releases, please use the GitHub Releases workflow instead: https://github.com/airbytehq/airbyte-python-cdk/blob/main/docs/RELEASES.md. If running this workflow from main or from a dev branch, please enter the desired version number here, for instance 1.2.3dev0 or 1.2.3rc1."
required: false
publish_to_pypi:
description: "Publish to PyPI. If true, the workflow will publish to PyPI."
Expand All @@ -30,7 +30,7 @@ on:
description: "Update Connector Builder. If true, the workflow will create a PR to bump the CDK version used by Connector Builder."
type: boolean
required: true
default: true
default: false

jobs:
build:
Expand Down
36 changes: 9 additions & 27 deletions docs/RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Airbyte Python CDK - Release Management Guide

## Publishing stable releases of the CDK
## Publishing stable releases of the CDK and SDM

A few seconds after any PR is merged to `main` , a release draft will be created or updated on the releases page here: https://github.com/airbytehq/airbyte-python-cdk/releases. Here are the steps to publish a CDK release:

Expand All @@ -13,34 +13,16 @@ A few seconds after any PR is merged to `main` , a release draft will be created

- *Only maintainers can see release drafts. Non-maintainers will only see published releases.*
- If you create a tag on accident that you need to remove, contact a maintainer to delete the tag and the release.
- You can monitor the PyPi release process here in the GitHub Actions view: https://github.com/airbytehq/airbyte-python-cdk/actions/workflows/pypi_publish.yml
- You can monitor the PyPI release process here in the GitHub Actions view: https://github.com/airbytehq/airbyte-python-cdk/actions/workflows/pypi_publish.yml

- **_[▶️ Loom Walkthrough](https://www.loom.com/share/ceddbbfc625141e382fd41c4f609dc51?sid=78e13ef7-16c8-478a-af47-4978b3ff3fad)_**

## Publishing Pre-Release Versions of the CDK
## Publishing Pre-Release Versions of the CDK and/or SDM (Internal)

Publishing a pre-release version is similar to publishing a stable version. However, instead of using the auto-generated release draft, you’ll create a new release draft.
This process is slightly different from the above, since we don't necessarily want public release notes to be published for internal testing releases. The same underlying workflow will be run, but we'll kick it off directly:

1. Navigate to the releases page: https://github.com/airbytehq/airbyte-python-cdk/releases
2. Click “Draft a new release”.
3. In the tag selector, type the version number of the prerelease you’d like to create and copy-past the same into the Release name box.
- The release should be like `vX.Y.Zsuffix` where `suffix` is something like `dev0`, `dev1` , `alpha0`, `beta1`, etc.

## Publishing new versions of SDM (source-declarative-manifest)

Prereqs:

1. The SDM publish process assumes you have already published the CDK. If you have not already done so, you’ll want to first publish the CDK using the steps above. While this prereq is not technically *required*, it is highly recommended.

Publish steps:

1. Navigate to the GitHub action page here: https://github.com/airbytehq/airbyte-python-cdk/actions/workflows/publish_sdm_connector.yml
2. Click “Run workflow” to start the process of invoking a new manual workflow.
3. Click the drop-down for “Run workflow from” and then select the “tags” tab to browse already-created tags. Select the tag of the published CDK version you want to use for the SDM publish process. Notes:
1. Optionally you can type part of the version number to filter down the list.
2. You can ignore the version prompt box (aka leave blank) when publishing from a release tag. The version will be detected from the git tag.
3. You can optionally click the box for “Dry run” if you want to observe the process before running the real thing. The dry run option will perform all steps *except* for the DockerHub publish step.
4. Without changing any other options, you can click “Run workflow” to run the workflow.
5. Watch the GitHub Action run. If successful, you should see it publish to DockerHub and a URL will appear on the “Summary” view once it has completed.

- **_[▶️ Loom Walkthrough](https://www.loom.com/share/bc8ddffba9384fcfacaf535608360ee1)_**
1. Navigate to the "Packaging and Publishing" workflow in GitHub Actions.
2. Type the version number - including a valid pre-release suffix. Examples: `1.2.3dev0`, `1.2.3rc1`, `1.2.3b0`, etc.
3. Select `main` or your dev branch from the "Use workflow from" dropdown.
4. Select your options and click "Run workflow".
5. Monitor the workflow to ensure the process has succeeded.

0 comments on commit 0f40e22

Please sign in to comment.