mirror of
https://github.com/phusion/baseimage-docker.git
synced 2026-03-26 04:18:46 +00:00
Compare commits
3 Commits
copilot/cr
...
copilot/fi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
012fe6b1fc | ||
|
|
abf78de0f2 | ||
|
|
c662980686 |
7
.github/workflows/main.yml
vendored
7
.github/workflows/main.yml
vendored
@@ -4,6 +4,11 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -76,7 +81,7 @@ jobs:
|
|||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: Build and Push
|
- name: Build and Push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
builder: ${{ steps.buildx.outputs.name }}
|
builder: ${{ steps.buildx.outputs.name }}
|
||||||
context: image
|
context: image
|
||||||
|
|||||||
46
.github/workflows/scheduled-build.yml
vendored
46
.github/workflows/scheduled-build.yml
vendored
@@ -5,11 +5,15 @@ on:
|
|||||||
- cron: '0 2 * * 0' # Every Sunday at 02:00 UTC
|
- cron: '0 2 * * 0' # Every Sunday at 02:00 UTC
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
packages: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: write
|
||||||
packages: write
|
packages: write
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@@ -20,7 +24,7 @@ jobs:
|
|||||||
- ubuntu_codename: jammy
|
- ubuntu_codename: jammy
|
||||||
base_image: ubuntu:22.04
|
base_image: ubuntu:22.04
|
||||||
steps:
|
steps:
|
||||||
- name: Get latest release tag for this LTS track
|
- name: Get latest release tag and compute next patch version
|
||||||
id: release
|
id: release
|
||||||
run: |
|
run: |
|
||||||
LATEST_TAG=$(gh release list \
|
LATEST_TAG=$(gh release list \
|
||||||
@@ -33,24 +37,34 @@ jobs:
|
|||||||
echo "No release found for ${{ matrix.ubuntu_codename }} track" >&2
|
echo "No release found for ${{ matrix.ubuntu_codename }} track" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "tag=${LATEST_TAG}" >> $GITHUB_OUTPUT
|
# Extract version and bump patch: noble-1.0.2 -> noble-1.0.3
|
||||||
|
if ! echo "${LATEST_TAG}" | grep -qE '^[a-z]+-[0-9]+\.[0-9]+\.[0-9]+$'; then
|
||||||
|
echo "Tag '${LATEST_TAG}' does not match expected format <codename>-<major>.<minor>.<patch>" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
PREFIX="${LATEST_TAG%.*}" # noble-1.0
|
||||||
|
PATCH="${LATEST_TAG##*.}" # 2
|
||||||
|
NEXT_PATCH=$((PATCH + 1))
|
||||||
|
NEXT_TAG="${PREFIX}.${NEXT_PATCH}" # noble-1.0.3
|
||||||
|
echo "current_tag=${LATEST_TAG}" >> $GITHUB_OUTPUT
|
||||||
|
echo "next_tag=${NEXT_TAG}" >> $GITHUB_OUTPUT
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Checkout release tag
|
- name: Checkout release tag
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ref: ${{ steps.release.outputs.tag }}
|
ref: ${{ steps.release.outputs.current_tag }}
|
||||||
|
|
||||||
- name: Prepare
|
- name: Prepare
|
||||||
id: prep
|
id: prep
|
||||||
run: |
|
run: |
|
||||||
DOCKER_IMAGE=phusion/baseimage
|
DOCKER_IMAGE=phusion/baseimage
|
||||||
RELEASE_TAG=${{ steps.release.outputs.tag }}
|
NEXT_TAG=${{ steps.release.outputs.next_tag }}
|
||||||
PLATFORMS=amd64,arm,arm64
|
PLATFORMS=amd64,arm,arm64
|
||||||
TAGS="${DOCKER_IMAGE}:${RELEASE_TAG}"
|
TAGS="${DOCKER_IMAGE}:${NEXT_TAG}"
|
||||||
TAGS="${TAGS}, ${DOCKER_IMAGE}:${{ matrix.ubuntu_codename }}"
|
TAGS="${TAGS}, ${DOCKER_IMAGE}:${{ matrix.ubuntu_codename }}"
|
||||||
TAGS="${TAGS}, ghcr.io/${{ github.repository_owner }}/baseimage:${RELEASE_TAG}"
|
TAGS="${TAGS}, ghcr.io/${{ github.repository_owner }}/baseimage:${NEXT_TAG}"
|
||||||
TAGS="${TAGS}, ghcr.io/${{ github.repository_owner }}/baseimage:${{ matrix.ubuntu_codename }}"
|
TAGS="${TAGS}, ghcr.io/${{ github.repository_owner }}/baseimage:${{ matrix.ubuntu_codename }}"
|
||||||
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
|
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
|
||||||
echo "platforms=${PLATFORMS}" >> $GITHUB_OUTPUT
|
echo "platforms=${PLATFORMS}" >> $GITHUB_OUTPUT
|
||||||
@@ -81,7 +95,7 @@ jobs:
|
|||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
- name: Build and Push
|
- name: Build and Push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: image
|
context: image
|
||||||
platforms: ${{ steps.prep.outputs.platforms }}
|
platforms: ${{ steps.prep.outputs.platforms }}
|
||||||
@@ -89,3 +103,19 @@ jobs:
|
|||||||
tags: ${{ steps.prep.outputs.tags }}
|
tags: ${{ steps.prep.outputs.tags }}
|
||||||
build-args: BASE_IMAGE=${{ matrix.base_image }}
|
build-args: BASE_IMAGE=${{ matrix.base_image }}
|
||||||
no-cache: true
|
no-cache: true
|
||||||
|
|
||||||
|
- name: Create GitHub Release
|
||||||
|
run: |
|
||||||
|
gh release create "${{ steps.release.outputs.next_tag }}" \
|
||||||
|
--repo "${{ github.repository }}" \
|
||||||
|
--target "${{ steps.release.outputs.current_tag }}" \
|
||||||
|
--title "${{ steps.release.outputs.next_tag }}" \
|
||||||
|
--notes "Automated weekly security rebuild of \`${{ steps.release.outputs.current_tag }}\` with latest \`${{ matrix.base_image }}\` packages.
|
||||||
|
|
||||||
|
Images pushed:
|
||||||
|
- \`phusion/baseimage:${{ steps.release.outputs.next_tag }}\`
|
||||||
|
- \`phusion/baseimage:${{ matrix.ubuntu_codename }}\`
|
||||||
|
- \`ghcr.io/${{ github.repository_owner }}/baseimage:${{ steps.release.outputs.next_tag }}\`
|
||||||
|
- \`ghcr.io/${{ github.repository_owner }}/baseimage:${{ matrix.ubuntu_codename }}\`"
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
1
.github/workflows/stale.yml
vendored
1
.github/workflows/stale.yml
vendored
@@ -9,7 +9,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v9
|
- uses: actions/stale@v9
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
stale-issue-message: 'This Issue has been automatically marked as "stale" because it has not had recent activity (for 15 days). It will be closed if no further activity occurs. Thanks for the feedback.'
|
stale-issue-message: 'This Issue has been automatically marked as "stale" because it has not had recent activity (for 15 days). It will be closed if no further activity occurs. Thanks for the feedback.'
|
||||||
stale-pr-message: 'This Pull Request has been automatically marked as "stale" because it has not had recent activity (for 15 days). It will be closed if no further activity occurs. Thank you for your contribution.'
|
stale-pr-message: 'This Pull Request has been automatically marked as "stale" because it has not had recent activity (for 15 days). It will be closed if no further activity occurs. Thank you for your contribution.'
|
||||||
close-issue-message: 'Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Issue. Do not hesitate to reopen it later if necessary.'
|
close-issue-message: 'Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Issue. Do not hesitate to reopen it later if necessary.'
|
||||||
|
|||||||
Reference in New Issue
Block a user