Skip to content
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
52 changes: 52 additions & 0 deletions .github/actions/prepare-release-env/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Prepare Release Environment
description: Prepare release environment variables and repository matrix

inputs:
github_ref:
description: GitHub reference
required: true
default: ${{ github.ref }}

outputs:
MAJOR_RELEASE_VERSION:
description: Major release version
value: ${{ steps.env-vars.outputs.MAJOR_RELEASE_VERSION }}
RELEASE_VERSION:
description: Release version
value: ${{ steps.env-vars.outputs.RELEASE_VERSION }}
TRIMMED_RELEASE_VERSION:
description: Trimmed release version
value: ${{ steps.env-vars.outputs.TRIMMED_RELEASE_VERSION }}
MATRIX:
description: Repository matrix
value: ${{ steps.generate-matrix.outputs.matrix }}

runs:
using: 'composite'
steps:
- name: get release version
shell: bash
run: |
echo "RELEASE_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
env:
GITHUB_REF: ${{ inputs.github_ref }}

- name: get major release version
shell: bash
run: |
echo "MAJOR_RELEASE_VERSION=${RELEASE_VERSION%.*}" >> $GITHUB_ENV
echo "TRIMMED_RELEASE_VERSION=${RELEASE_VERSION#v}" >> $GITHUB_ENV

- name: set outputs
id: env-vars
shell: bash
run: |
echo "MAJOR_RELEASE_VERSION=${MAJOR_RELEASE_VERSION}" >> $GITHUB_OUTPUT
echo "RELEASE_VERSION=${RELEASE_VERSION}" >> $GITHUB_OUTPUT
echo "TRIMMED_RELEASE_VERSION=${TRIMMED_RELEASE_VERSION}" >> $GITHUB_OUTPUT

- name: generate matrix
id: generate-matrix
uses: ./go/src/open-cluster-management.io/lab/.github/actions/generate-repo-matrix
with:
repoRoot: go/src/open-cluster-management.io/lab
25 changes: 8 additions & 17 deletions .github/workflows/chart-upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,16 @@ jobs:
fetch-depth: 1
path: go/src/open-cluster-management.io/lab

- name: get release version
run: |
echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV

- name: get major release version
run: |
echo "MAJOR_RELEASE_VERSION=${RELEASE_VERSION%.*}" >> $GITHUB_ENV
echo "TRIMMED_RELEASE_VERSION=${RELEASE_VERSION#v}" >> $GITHUB_ENV

- name: generate matrix
id: generate-matrix
uses: ./go/src/open-cluster-management.io/lab/.github/actions/generate-repo-matrix
- name: prepare release environment
id: prepare-env
uses: ./go/src/open-cluster-management.io/lab/.github/actions/prepare-release-env
with:
repoRoot: go/src/open-cluster-management.io/lab
github_ref: ${{ github.ref }}
outputs:
MAJOR_RELEASE_VERSION: ${{ env.MAJOR_RELEASE_VERSION }}
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
TRIMMED_RELEASE_VERSION: ${{ env.TRIMMED_RELEASE_VERSION }}
MATRIX: ${{ steps.generate-matrix.outputs.matrix }}
MAJOR_RELEASE_VERSION: ${{ steps.prepare-env.outputs.MAJOR_RELEASE_VERSION }}
RELEASE_VERSION: ${{ steps.prepare-env.outputs.RELEASE_VERSION }}
TRIMMED_RELEASE_VERSION: ${{ steps.prepare-env.outputs.TRIMMED_RELEASE_VERSION }}
MATRIX: ${{ steps.prepare-env.outputs.MATRIX }}

upload:
name: upload
Expand Down
25 changes: 8 additions & 17 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,16 @@ jobs:
fetch-depth: 1
path: go/src/open-cluster-management.io/lab

- name: get release version
run: |
echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV

- name: get major release version
run: |
echo "MAJOR_RELEASE_VERSION=${RELEASE_VERSION%.*}" >> $GITHUB_ENV
echo "TRIMMED_RELEASE_VERSION=${RELEASE_VERSION#v}" >> $GITHUB_ENV

- name: generate matrix
id: generate-matrix
uses: ./go/src/open-cluster-management.io/lab/.github/actions/generate-repo-matrix
- name: prepare release environment
id: prepare-env
uses: ./go/src/open-cluster-management.io/lab/.github/actions/prepare-release-env
with:
repoRoot: go/src/open-cluster-management.io/lab
github_ref: ${{ github.ref }}
outputs:
MAJOR_RELEASE_VERSION: ${{ env.MAJOR_RELEASE_VERSION }}
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
TRIMMED_RELEASE_VERSION: ${{ env.TRIMMED_RELEASE_VERSION }}
MATRIX: ${{ steps.generate-matrix.outputs.matrix }}
MAJOR_RELEASE_VERSION: ${{ steps.prepare-env.outputs.MAJOR_RELEASE_VERSION }}
RELEASE_VERSION: ${{ steps.prepare-env.outputs.RELEASE_VERSION }}
TRIMMED_RELEASE_VERSION: ${{ steps.prepare-env.outputs.TRIMMED_RELEASE_VERSION }}
MATRIX: ${{ steps.prepare-env.outputs.MATRIX }}

release:
name: release
Expand Down
27 changes: 9 additions & 18 deletions .github/workflows/releaseimage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,24 +30,15 @@ jobs:
fetch-depth: 1
path: go/src/open-cluster-management.io/lab

- name: get release version
run: |
echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV

- name: get major release version
run: |
echo "MAJOR_RELEASE_VERSION=${RELEASE_VERSION%.*}" >> $GITHUB_ENV
echo "TRIMMED_RELEASE_VERSION=${RELEASE_VERSION#v}" >> $GITHUB_ENV

- name: generate matrix
id: generate-matrix
uses: ./go/src/open-cluster-management.io/lab/.github/actions/generate-repo-matrix
- name: prepare release environment
id: prepare-env
uses: ./go/src/open-cluster-management.io/lab/.github/actions/prepare-release-env
with:
repoRoot: go/src/open-cluster-management.io/lab
github_ref: ${{ github.ref }}
outputs:
MAJOR_RELEASE_VERSION: ${{ env.MAJOR_RELEASE_VERSION }}
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
MATRIX: ${{ steps.generate-matrix.outputs.matrix }}
MAJOR_RELEASE_VERSION: ${{ steps.prepare-env.outputs.MAJOR_RELEASE_VERSION }}
RELEASE_VERSION: ${{ steps.prepare-env.outputs.RELEASE_VERSION }}
MATRIX: ${{ steps.prepare-env.outputs.MATRIX }}

images:
name: images
Expand All @@ -62,7 +53,7 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 1
path: go/src/open-cluster-management.io/lab
path: go/src/open-cluster-management.io/lab/${{ matrix.repository }}

- name: install Go
uses: actions/setup-go@v5
Expand Down Expand Up @@ -101,7 +92,7 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 1
path: go/src/open-cluster-management.io/lab
path: go/src/open-cluster-management.io/lab/${{ matrix.repository }}

- name: create
run: |
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ All projects must define the following `make` targets:
- `check-diff`: Perform any automated formatting, Helm chart README updates, manifest generation, etc. Return a non-zero exit code if a git diff is produced.
- `test-e2e`: Invoke end-to-end tests and return an exit code accordingly.
- `test-unit`: Invoke unit tests and return an exit code accordingly.
- `images`: Build all container images.
- `image-push`: Push all container images.
- `image-manifest`: Create multi-architecture manifests for all images.
- `image-manifest-annotate`: Annotate multi-architecture manifests for all images.

#### Dockerfiles

Expand Down