Skip to content

Commit ab54795

Browse files
committed
Add release machinery
1 parent 64f6fd7 commit ab54795

File tree

4 files changed

+77
-4
lines changed

4 files changed

+77
-4
lines changed

.github/workflows/ci.yml

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ jobs:
3535
runs-on: ubuntu-24.04
3636
steps:
3737
- name: Checkout
38-
uses: actions/checkout@v4
38+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
39+
with:
40+
submodules: true
41+
42+
- name: Fetch History
43+
run: git fetch --prune --unshallow
3944

4045
- name: Setup Go
4146
uses: actions/setup-go@v5
@@ -55,7 +60,12 @@ jobs:
5560
runs-on: ubuntu-24.04
5661
steps:
5762
- name: Checkout
58-
uses: actions/checkout@v4
63+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
64+
with:
65+
submodules: true
66+
67+
- name: Fetch History
68+
run: git fetch --prune --unshallow
5969

6070
- name: Setup Go
6171
uses: actions/setup-go@v5
@@ -90,7 +100,12 @@ jobs:
90100
install: true
91101

92102
- name: Checkout
93-
uses: actions/checkout@v4
103+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
104+
with:
105+
submodules: true
106+
107+
- name: Fetch History
108+
run: git fetch --prune --unshallow
94109

95110
# We ask Docker to use GitHub Action's native caching support to speed up
96111
# the build, per https://docs.docker.com/build/cache/backends/gha/.
@@ -131,7 +146,12 @@ jobs:
131146
- build
132147
steps:
133148
- name: Checkout
134-
uses: actions/checkout@v4
149+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
150+
with:
151+
submodules: true
152+
153+
- name: Fetch History
154+
run: git fetch --prune --unshallow
135155

136156
- name: Download Single-Platform Packages
137157
uses: actions/download-artifact@v4

.github/workflows/tag.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Tag
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: 'Release version (e.g. v0.1.0)'
8+
required: true
9+
message:
10+
description: 'Tag message'
11+
required: true
12+
13+
jobs:
14+
create-tag:
15+
runs-on: blacksmith-2vcpu-ubuntu-2404
16+
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
20+
21+
- name: Create Tag
22+
uses: negz/create-tag@39bae1e0932567a58c20dea5a1a0d18358503320 # v1
23+
with:
24+
version: ${{ github.event.inputs.version }}
25+
message: ${{ github.event.inputs.message }}
26+
token: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# function-openai
22
[![CI](https://github.com/upbound/function-openai/actions/workflows/ci.yml/badge.svg)](https://github.com/upbound/function-openai/actions/workflows/ci.yml)
33
[![Slack](https://img.shields.io/badge/slack-upbound_crossplane-purple?logo=slack)](https://crossplane.slack.com/archives/C01TRKD4623)
4+
[![GitHub release](https://img.shields.io/github/release/upbound/function-openai/all.svg)](https://github.com/upbound/function-openai/releases)
45

56
Use natural language prompts to compose resources.
67

RELEASE.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
## Release Process
2+
3+
This is a slimmed-down version of the release process described [here](https://github.com/crossplane/release).
4+
5+
1. **feature freeze**: Merge all completed features into main development branch
6+
of all repos to begin "feature freeze" period.
7+
1. **branch repo**: Create a new release branch using the GitHub UI for the
8+
repo (e.g. `release-0.25`).
9+
1. **tag release**: Run the `Tag` action on the _release branch_ with the
10+
desired version (e.g. `v0.25.0`).
11+
1. **build/publish**: Run the `CI` action on the tag.
12+
1. **tag next pre-release**: Run the `tag` action on the main development branch
13+
with the `-0.rc.0` for the next release (e.g. `v0.26.0-0.rc.0`). (**NOTE**:
14+
we added the `-0.` prefix to allow correctly sorting release candidates)
15+
1. **verify**: Verify all artifacts have been published successfully, perform
16+
sanity testing.
17+
- Check in Upbound Marketplace that the new versions are present.
18+
1. **release notes**:
19+
- Open the new release tag in https://github.com/upbound/function-openai/tags and click "Create
20+
release from tag".
21+
- "Generate release notes" from previous release ("auto" might not work).
22+
- Make sure the release notes are complete, presize and well formatted.
23+
- Publish the well authored Github release.
24+
1. **announce**: Announce the release on Twitter, Slack, etc.
25+
- Crossplane Slack #Upbound: https://crossplane.slack.com/archives/C01TRKD4623
26+
- TODO: where else?

0 commit comments

Comments
 (0)