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
22 changes: 13 additions & 9 deletions .github/workflows/.build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,9 @@ on:
envs:
required: false
type: string
push:
required: false
type: boolean
release:
required: false
type: boolean
type: string

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shame that Github doesn't support choice in reusable workflows 🙈

Should we have an additional verify job that would assert that this is has expected values?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes indeed I will check that

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hum actually empty is expected for build-* workflows

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can still check if its any of "" | "pushonly" | "draft" | "prerelease" | "release"


env:
REPO_SLUG: dockereng/packaging
Expand All @@ -37,9 +34,15 @@ jobs:
uses: actions/github-script@v7
env:
INPUT_NAME: ${{ inputs.name }}
INPUT_RELEASE: ${{ inputs.release }}
with:
script: |
const inpName = core.getInput('name');
const inpRelease = core.getInput('release');

if (inpRelease !== '' && !['pushonly', 'draft', 'prerelease', 'release'].includes(inpRelease)) {
throw new Error(`Invalid release type: ${inpRelease}`);
}

let def = {};
await core.group(`Parsing definition`, async () => {
Expand Down Expand Up @@ -105,8 +108,8 @@ jobs:
done
-
name: Prepare
# Set platform pair for artifact upload
run: |
# Set platform pair for artifact upload
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
-
Expand Down Expand Up @@ -219,7 +222,7 @@ jobs:
-
name: Login to Docker Hub
uses: docker/login-action@v3
if: ${{ inputs.push || inputs.release || github.event_name == 'schedule' }}
if: ${{ inputs.release || github.event_name == 'schedule' }}
with:
username: ${{ secrets.DOCKERPUBLICBOT_USERNAME }}
password: ${{ secrets.DOCKERPUBLICBOT_WRITE_PAT }}
Expand All @@ -235,7 +238,7 @@ jobs:
targets: release-${{ inputs.name }}
provenance: false
set: |
*.output=type=image,push=${{ inputs.push || inputs.release || github.event_name == 'schedule' }}
*.output=type=image,push=${{ inputs.release || github.event_name == 'schedule' }}
*.output=/tmp/release
-
name: List release artifacts
Expand Down Expand Up @@ -296,10 +299,11 @@ jobs:
-
name: Create release
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
if: ${{ inputs.release }}
if: ${{ inputs.release && inputs.release != 'pushonly' }}
with:
name: ${{ env.GIT_TAG }}-${{ github.run_number }}
draft: true
draft: ${{ inputs.release == 'draft' }}
prerelease: ${{ inputs.release == 'prerelease' }}
tag_name: ${{ env.GIT_TAG }}-${{ github.run_number }}
target_commitish: ${{ github.sha }}
files: |
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/release-buildx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,22 @@ on:
required: false
type: string
release:
description: 'Push image and create release'
description: 'Release type'
required: false
type: boolean
default: 'prerelease'
type: choice
options:
- pushonly
- draft
- prerelease
- release

jobs:
release:
uses: ./.github/workflows/.build.yml
with:
name: buildx
release: ${{ inputs.release }}
push: ${{ inputs.release }}
envs: |
PKG_REPO=${{ inputs.repo }}
PKG_REF=${{ inputs.ref }}
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/release-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,22 @@ on:
required: false
type: string
release:
description: 'Push image and create release'
description: 'Release type'
required: false
type: boolean
default: 'prerelease'
type: choice
options:
- pushonly
- draft
- prerelease
- release

jobs:
release:
uses: ./.github/workflows/.build.yml
with:
name: compose
release: ${{ inputs.release }}
push: ${{ inputs.release }}
envs: |
PKG_REPO=${{ inputs.repo }}
PKG_REF=${{ inputs.ref }}
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/release-containerd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,22 @@ on:
required: false
type: string
release:
description: 'Push image and create release'
description: 'Release type'
required: false
type: boolean
default: 'prerelease'
type: choice
options:
- pushonly
- draft
- prerelease
- release

jobs:
release:
uses: ./.github/workflows/.build.yml
with:
name: containerd
release: ${{ inputs.release }}
push: ${{ inputs.release }}
envs: |
PKG_REPO=${{ inputs.repo }}
PKG_REF=${{ inputs.ref }}
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/release-credential-helpers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,22 @@ on:
required: false
type: string
release:
description: 'Push image and create release'
description: 'Release type'
required: false
type: boolean
default: 'prerelease'
type: choice
options:
- pushonly
- draft
- prerelease
- release

jobs:
release:
uses: ./.github/workflows/.build.yml
with:
name: credential-helpers
release: ${{ inputs.release }}
push: ${{ inputs.release }}
envs: |
PKG_REPO=${{ inputs.repo }}
PKG_REF=${{ inputs.ref }}
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/release-docker-cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,22 @@ on:
required: false
type: string
release:
description: 'Push image and create release'
description: 'Release type'
required: false
type: boolean
default: 'prerelease'
type: choice
options:
- pushonly
- draft
- prerelease
- release

jobs:
release:
uses: ./.github/workflows/.build.yml
with:
name: docker-cli
release: ${{ inputs.release }}
push: ${{ inputs.release }}
envs: |
PKG_REPO=${{ inputs.repo }}
PKG_REF=${{ inputs.ref }}
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/release-docker-engine.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,22 @@ on:
required: false
type: string
release:
description: 'Push image and create release'
description: 'Release type'
required: false
type: boolean
default: 'prerelease'
type: choice
options:
- pushonly
- draft
- prerelease
- release

jobs:
release:
uses: ./.github/workflows/.build.yml
with:
name: docker-engine
release: ${{ inputs.release }}
push: ${{ inputs.release }}
envs: |
PKG_REPO=${{ inputs.repo }}
PKG_REF=${{ inputs.ref }}
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/release-model.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,22 @@ on:
required: false
type: string
release:
description: 'Push image and create release'
description: 'Release type'
required: false
type: boolean
default: 'prerelease'
type: choice
options:
- pushonly
- draft
- prerelease
- release

jobs:
release:
uses: ./.github/workflows/.build.yml
with:
name: model
release: ${{ inputs.release }}
push: ${{ inputs.release }}
envs: |
PKG_REPO=${{ inputs.repo }}
PKG_REF=${{ inputs.ref }}
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/release-sbom.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,22 @@ on:
required: false
type: string
release:
description: 'Push image and create release'
description: 'Release type'
required: false
type: boolean
default: 'prerelease'
type: choice
options:
- pushonly
- draft
- prerelease
- release

jobs:
release:
uses: ./.github/workflows/.build.yml
with:
name: sbom
release: ${{ inputs.release }}
push: ${{ inputs.release }}
envs: |
PKG_REPO=${{ inputs.repo }}
PKG_REF=${{ inputs.ref }}
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/release-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,22 @@ on:
required: false
type: string
release:
description: 'Push image and create release'
description: 'Release type'
required: false
type: boolean
default: 'prerelease'
type: choice
options:
- pushonly
- draft
- prerelease
- release

jobs:
release:
uses: ./.github/workflows/.build.yml
with:
name: scan
release: ${{ inputs.release }}
push: ${{ inputs.release }}
envs: |
PKG_REPO=${{ inputs.repo }}
PKG_REF=${{ inputs.ref }}
Expand Down