harmonize build actions

This commit is contained in:
buanet
2025-05-24 18:51:06 +02:00
parent b9afbef087
commit 56b1cf9899
3 changed files with 30 additions and 60 deletions

View File

@@ -14,7 +14,8 @@ jobs:
build_number: ${{ steps.generate-build-number.outputs.build_number }} build_number: ${{ steps.generate-build-number.outputs.build_number }}
release_tag: ${{ steps.fetch-prerelease-tag.outputs.release_tag }} release_tag: ${{ steps.fetch-prerelease-tag.outputs.release_tag }}
steps: steps:
- name: Fetch latest prerelease tag - name: Fetch prerelease tag
id: fetch-prerelease-tag
run: | run: |
PRERELEASE_TAG=$(curl -sL "https://api.github.com/repos/buanet/ioBroker.docker/releases" | jq -r '[.[] | select(.prerelease)][0].tag_name') PRERELEASE_TAG=$(curl -sL "https://api.github.com/repos/buanet/ioBroker.docker/releases" | jq -r '[.[] | select(.prerelease)][0].tag_name')
if [ -z "$PRERELEASE_TAG" ]; then if [ -z "$PRERELEASE_TAG" ]; then
@@ -23,7 +24,7 @@ jobs:
fi fi
echo "RELEASE_TAG=$PRERELEASE_TAG" >> $GITHUB_ENV echo "RELEASE_TAG=$PRERELEASE_TAG" >> $GITHUB_ENV
echo "release_tag=$PRERELEASE_TAG" >> $GITHUB_OUTPUT echo "release_tag=$PRERELEASE_TAG" >> $GITHUB_OUTPUT
echo "[LOG] Release tag: $PRERELEASE_TAG" echo "[LOG] Release tag: $PRERELEASE_TAG"
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2

View File

@@ -15,7 +15,6 @@ jobs:
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
with: with:
repository: 'buanet/ioBroker.docker' repository: 'buanet/ioBroker.docker'
token: ${{ secrets.ACTIONS_PAT }}
- name: Generate build number - name: Generate build number
id: generate-build-number id: generate-build-number

View File

@@ -8,22 +8,37 @@ on:
jobs: jobs:
create-build-number: create-build-number:
name: Create build number
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
build_number: ${{ steps.generate-build-number.outputs.build_number }} build_number: ${{ steps.generate-build-number.outputs.build_number }}
release_tag: ${{ steps.fetch-release-tag.outputs.release_tag }}
steps: steps:
- name: Fetch latest release tag
id: fetch-release-tag
run: |
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
if [ -z "$LATESTRELEASE" ]; then
echo "[LOG] No prerelease found!" >&2
exit 1
fi
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
echo "release_tag=$LATESTRELEASE" >> $GITHUB_OUTPUT
echo "[LOG] Latest release tag : $LATESTRELEASE"
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
with: with:
repository: 'buanet/ioBroker.docker' repository: 'buanet/ioBroker.docker'
token: ${{ secrets.ACTIONS_PAT }} token: ${{ secrets.ACTIONS_PAT }}
ref: ${{ env.RELEASE_TAG }}
- name: Generate build number - name: Generate build number
id: generate-build-number id: generate-build-number
run: | run: |
BUILD="$(date +"%Y%m%d.%H%M%S")" BUILD="$(date +"%Y%m%d.%H%M%S")"
echo "$BUILD" > .github/dependencies/.latest-build echo "$BUILD" > .github/dependencies/.latest-build
echo "::set-output name=build_number::$BUILD" echo "build_number=$BUILD" >> $GITHUB_OUTPUT
echo "[LOG] Buildnumber: $BUILD" echo "[LOG] Buildnumber: $BUILD"
- name: Commit latest release version - name: Commit latest release version
@@ -38,17 +53,11 @@ jobs:
needs: [create-build-number] needs: [create-build-number]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Fetch latest release tag
run: |
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
echo "Latest release tag : $LATESTRELEASE"
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
with: with:
repository: 'buanet/ioBroker.docker' repository: 'buanet/ioBroker.docker'
ref: ${{ env.RELEASE_TAG }} ref: ${{ needs.create-build-number.outputs.release_tag }}
- name: Set job variables - name: Set job variables
run: | run: |
@@ -106,17 +115,11 @@ jobs:
needs: [create-build-number] needs: [create-build-number]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Fetch latest release tag
run: |
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
echo "Latest release tag : $LATESTRELEASE"
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
with: with:
repository: 'buanet/ioBroker.docker' repository: 'buanet/ioBroker.docker'
ref: ${{ env.RELEASE_TAG }} ref: ${{ needs.create-build-number.outputs.release_tag }}
- name: Set job variables - name: Set job variables
run: | run: |
@@ -174,17 +177,11 @@ jobs:
needs: [create-build-number] needs: [create-build-number]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Fetch latest release tag
run: |
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
echo "Latest release tag : $LATESTRELEASE"
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
with: with:
repository: 'buanet/ioBroker.docker' repository: 'buanet/ioBroker.docker'
ref: ${{ env.RELEASE_TAG }} ref: ${{ needs.create-build-number.outputs.release_tag }}
- name: Set job variables - name: Set job variables
run: | run: |
@@ -235,20 +232,15 @@ jobs:
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64, ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64,
create-multiarch-image-for-buanet: create-multiarch-image-for-buanet:
name: Create multiarch image for buanet
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [build-latest-armv7-for-buanet, build-latest-arm64v8-for-buanet, build-latest-amd64-for-buanet, create-build-number] needs: [build-latest-armv7-for-buanet, build-latest-arm64v8-for-buanet, build-latest-amd64-for-buanet, create-build-number]
steps: steps:
- name: Fetch latest release tag
run: |
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
echo "Latest release tag : $LATESTRELEASE"
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
with: with:
repository: 'buanet/ioBroker.docker' repository: 'buanet/ioBroker.docker'
ref: ${{ env.RELEASE_TAG }} ref: ${{ needs.create-build-number.outputs.release_tag }}
- name: Set job variables - name: Set job variables
run: | run: |
@@ -288,22 +280,18 @@ jobs:
docker buildx imagetools create -t buanet/iobroker:${{ env.version }}-build.${{ env.build }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64 docker buildx imagetools create -t buanet/iobroker:${{ env.version }}-build.${{ env.build }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
docker buildx imagetools create -t ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64 docker buildx imagetools create -t ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
### build for iobroker repo
build-latest-armv7-for-iobroker: build-latest-armv7-for-iobroker:
name: Build latest armv7 image for iobroker name: Build latest armv7 image for iobroker
needs: [create-build-number] needs: [create-build-number]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Fetch latest release tag
run: |
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
echo "Latest release tag : $LATESTRELEASE"
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
with: with:
repository: 'buanet/ioBroker.docker' repository: 'buanet/ioBroker.docker'
ref: ${{ env.RELEASE_TAG }} ref: ${{ needs.create-build-number.outputs.release_tag }}
- name: Set job variables - name: Set job variables
run: | run: |
@@ -352,17 +340,11 @@ jobs:
needs: [create-build-number] needs: [create-build-number]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Fetch latest release tag
run: |
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
echo "Latest release tag : $LATESTRELEASE"
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
with: with:
repository: 'buanet/ioBroker.docker' repository: 'buanet/ioBroker.docker'
ref: ${{ env.RELEASE_TAG }} ref: ${{ needs.create-build-number.outputs.release_tag }}
- name: Set job variables - name: Set job variables
run: | run: |
@@ -411,17 +393,11 @@ jobs:
needs: [create-build-number] needs: [create-build-number]
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Fetch latest release tag
run: |
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
echo "Latest release tag : $LATESTRELEASE"
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
with: with:
repository: 'buanet/ioBroker.docker' repository: 'buanet/ioBroker.docker'
ref: ${{ env.RELEASE_TAG }} ref: ${{ needs.create-build-number.outputs.release_tag }}
- name: Set job variables - name: Set job variables
run: | run: |
@@ -466,17 +442,11 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [build-latest-armv7-for-iobroker, build-latest-arm64v8-for-iobroker, build-latest-amd64-for-iobroker, create-build-number] needs: [build-latest-armv7-for-iobroker, build-latest-arm64v8-for-iobroker, build-latest-amd64-for-iobroker, create-build-number]
steps: steps:
- name: Fetch latest release tag
run: |
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
echo "Latest release tag : $LATESTRELEASE"
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4.2.2 uses: actions/checkout@v4.2.2
with: with:
repository: 'buanet/ioBroker.docker' repository: 'buanet/ioBroker.docker'
ref: ${{ env.RELEASE_TAG }} ref: ${{ needs.create-build-number.outputs.release_tag }}
- name: Set job variables - name: Set job variables
run: | run: |