Skip to content

Commit 400f949

Browse files
committed
docs: Add RELEASING.md
... and move slow Docker build workflows that almost always succeed to a post_merge workflow to reduce CI time for PRs. Signed-off-by: James Alseth <[email protected]>
1 parent 7d41238 commit 400f949

File tree

3 files changed

+90
-48
lines changed

3 files changed

+90
-48
lines changed

.github/workflows/post_merge.yaml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: 'post_merge'
2+
on:
3+
push:
4+
branches:
5+
- 'master'
6+
7+
permissions: {}
8+
9+
jobs:
10+
docker-conftest:
11+
runs-on: ubuntu-latest
12+
env:
13+
IMAGE: openpolicyagent/conftest
14+
PLATFORMS: linux/amd64,linux/arm64
15+
steps:
16+
- name: checkout source
17+
uses: actions/checkout@v5
18+
19+
- name: setup docker buildx
20+
run: docker buildx create --name conftestbuild --use
21+
22+
- name: Build Docker image
23+
uses: docker/build-push-action@v6
24+
with:
25+
context: '.'
26+
push: false
27+
# The foo tag below validates putting one tag per line (like we do in the release flow)
28+
# works as expected.
29+
tags: |
30+
${{ env.IMAGE }}:latest
31+
${{ env.IMAGE }}:foo
32+
platforms: ${{ env.PLATFORMS }}
33+
34+
docker-examples:
35+
runs-on: ubuntu-latest
36+
env:
37+
IMAGE: openpolicyagent/conftest
38+
PLATFORMS: linux/amd64,linux/arm64
39+
steps:
40+
- name: checkout source
41+
uses: actions/checkout@v5
42+
43+
- name: setup docker buildx
44+
run: docker buildx create --name conftestbuild --use
45+
46+
- name: Build Docker image
47+
uses: docker/build-push-action@v6
48+
with:
49+
context: '.'
50+
target: examples
51+
push: false
52+
tags: ${{ env.IMAGE }}:examples
53+
platforms: ${{ env.PLATFORMS }}

.github/workflows/pr.yaml

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,8 @@ name: pr
22

33
on: [pull_request]
44

5-
65
permissions: {}
76

8-
env:
9-
IMAGE: openpolicyagent/conftest
10-
PLATFORMS: linux/amd64,linux/arm64
11-
127
jobs:
138
style:
149
runs-on: ubuntu-latest
@@ -122,46 +117,3 @@ jobs:
122117
- name: test oci push/pull
123118
if: ${{ matrix.os == 'ubuntu-latest' }}
124119
run: ./scripts/push-pull-e2e.sh
125-
126-
docker-conftest:
127-
runs-on: ubuntu-latest
128-
needs:
129-
- validate
130-
steps:
131-
- name: checkout source
132-
uses: actions/checkout@v5
133-
134-
- name: setup docker buildx
135-
run: docker buildx create --name conftestbuild --use
136-
137-
- name: Build Docker image
138-
uses: docker/build-push-action@v6
139-
with:
140-
context: .
141-
push: false
142-
# The foo tag below validates putting one tag per line (like we do in the release flow)
143-
# works as expected.
144-
tags: |
145-
${{ env.IMAGE }}:latest
146-
${{ env.IMAGE }}:foo
147-
platforms: ${{ env.PLATFORMS }}
148-
149-
docker-examples:
150-
runs-on: ubuntu-latest
151-
needs:
152-
- validate
153-
steps:
154-
- name: checkout source
155-
uses: actions/checkout@v5
156-
157-
- name: setup docker buildx
158-
run: docker buildx create --name conftestbuild --use
159-
160-
- name: Build Docker image
161-
uses: docker/build-push-action@v6
162-
with:
163-
context: .
164-
target: examples
165-
push: false
166-
tags: ${{ env.IMAGE }}:examples
167-
platforms: ${{ env.PLATFORMS }}

RELEASING.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Releasing
2+
3+
conftest releases in the first week of each month, after the new version of Open
4+
Policy Agent is released. Patch releases are not generally created while we are
5+
on v0, but we may create one if there is a blocking bug in a newly released
6+
feature.
7+
8+
## New release
9+
10+
1. Check for any open
11+
[pull requests](https://github.com/open-policy-agent/conftest/pulls) that are
12+
ready to merge, and merge them.
13+
14+
1. Verify that all
15+
[post-merge CI tasks](https://github.com/open-policy-agent/conftest/actions/workflows/post_merge.yaml)
16+
have completed successfully.
17+
18+
1. Check out to the master branch and ensure you have the latest changes.
19+
20+
```sh
21+
git checkout master
22+
git pull
23+
```
24+
25+
1. Determine the next version number, and create a tag. You can check the
26+
[releases](https://github.com/open-policy-agent/conftest/releases) page to
27+
see the previous version if you do not know it.
28+
29+
```sh
30+
git tag v<VERSION>
31+
git push --tags
32+
```
33+
34+
1. Monitor the
35+
[release workflow](https://github.com/open-policy-agent/conftest/actions/workflows/release.yaml)
36+
and verify it does not error. This usually takes ~45min due to slow speeds of
37+
the Docker cross-compiles.

0 commit comments

Comments
 (0)