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: update publish workflows, removing old workflow, tweaking main workflow for usability, and updating release docs #151

Merged
merged 4 commits into from
Dec 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
178 changes: 0 additions & 178 deletions .github/workflows/publish_sdm_connector.yml
aaronsteers marked this conversation as resolved.
Show resolved Hide resolved

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."
aaronsteers marked this conversation as resolved.
Show resolved Hide resolved
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
aaronsteers marked this conversation as resolved.
Show resolved Hide resolved

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.
Loading