diff --git a/.gitea/workflows/linux_arm64_docker-release.yaml b/.gitea/workflows/linux_arm64_docker-release.yaml index da3ac01..6a27489 100644 --- a/.gitea/workflows/linux_arm64_docker-release.yaml +++ b/.gitea/workflows/linux_arm64_docker-release.yaml @@ -24,13 +24,6 @@ jobs: echo "VERSION=$VERSION" >> $GITHUB_ENV echo "REPO_LC=${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV - - name: Login to own image registry - uses: docker/login-action@v3 - with: - registry: gitea.penry.de - username: ${{ secrets.REGISTRY_USER }} - password: ${{ secrets.REGISTRY_PASSWORD }} - - name: Setup .NET10 uses: actions/setup-dotnet@v3 with: @@ -42,8 +35,16 @@ jobs: -t gitea.penry.de/${{ env.REPO_LC }}:${{ env.VERSION }} \ -t gitea.penry.de/${{ env.REPO_LC }}:latest \ --label "org.opencontainers.image.source=https://gitea.penry.de/${{ github.repository }}" \ + --build-arg VERSION=${{ env.VERSION }} \ . + - name: Login to own image registry + uses: docker/login-action@v3 + with: + registry: gitea.penry.de + username: ${{ secrets.REGISTRY_USER }} + password: ${{ secrets.REGISTRY_PASSWORD }} + - name: Push Images run: | docker push gitea.penry.de/${{ env.REPO_LC }}:${{ env.VERSION }} diff --git a/.gitea/workflows/linux_arm64_docker.yaml b/.gitea/workflows/linux_arm64_docker.yaml index e6c7a9c..77b952e 100644 --- a/.gitea/workflows/linux_arm64_docker.yaml +++ b/.gitea/workflows/linux_arm64_docker.yaml @@ -14,6 +14,8 @@ jobs: - name: Checkout uses: actions/checkout@v4 + with: + fetch-depth: 0 - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 @@ -28,62 +30,35 @@ jobs: - name: Build version shell: bash run: | - set -euo pipefail - - git fetch --force --tags origin - git fetch --force origin main:refs/remotes/origin/main - - LAST_TAG=$(git for-each-ref \ - --sort=-creatordate \ - --format='%(refname:strip=2)' \ - refs/tags/v* \ - | head -n 1) - - if [[ -z "${LAST_TAG:-}" ]]; then - echo "No tag found" - exit 1 - fi - - LAST_COMMIT=$(git rev-list -n 1 "$LAST_TAG") - DISTANCE=$(git rev-list --count --first-parent "${LAST_COMMIT}..origin/main") - - BASE_VERSION="${LAST_TAG#v}" - - if [[ "$BASE_VERSION" == *-* ]]; then - VERSION="${BASE_VERSION}.${DISTANCE}" - else - VERSION="${BASE_VERSION}-nightly.${DISTANCE}" - fi - - echo "LAST_TAG=$LAST_TAG" >> "$GITHUB_ENV" - echo "LAST_COMMIT=$LAST_COMMIT" >> "$GITHUB_ENV" - echo "DISTANCE=$DISTANCE" >> "$GITHUB_ENV" - echo "VERSION=$VERSION" >> "$GITHUB_ENV" - - echo "Last tag: $LAST_TAG" - echo "Last tag commit: $LAST_COMMIT" - echo "Distance to origin/main: $DISTANCE" - echo "Final version: $VERSION" + LAST_TAG=$(git describe --tags --abbrev=0) - - name: Set .NET version variables - shell: bash - run: | - set -euo pipefail - - SEMVER="${VERSION}" - BASE_NUMERIC=$(echo "$SEMVER" | sed -E 's/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/') - BUILD_NO=$(echo "$SEMVER" | grep -oE '[0-9]+$' || echo "0") - - echo "PACKAGE_VERSION=$SEMVER" >> "$GITHUB_ENV" - echo "ASSEMBLY_VERSION=${BASE_NUMERIC}.0" >> "$GITHUB_ENV" - echo "FILE_VERSION=${BASE_NUMERIC}.${BUILD_NO}" >> "$GITHUB_ENV" - echo "INFORMATIONAL_VERSION=$SEMVER" >> "$GITHUB_ENV" + if [[ -z "${LAST_TAG:-}" ]]; then + echo "No tag found" + exit 1 + fi + + COMMIT_COUNT=$(git rev-list $LAST_TAG..HEAD --count) + + if [[ "$LAST_TAG" == *-* ]]; then + TEMP_LAST_TAG ="${LAST_TAG%-*}" + VERSION="${TEMP_LAST_TAG}-nightly.${COMMIT_COUNT}" + else + VERSION="$[LAST_TAG}-nightly.${COMMIT_COUNT}" + fi + + echo "LAST_TAG=$LAST_TAG" >> "$GITHUB_ENV" + echo "COMMIT_COUNT=$COMMIT_COUNT" >> "$GITHUB_ENV" + echo "VERSION=$VERSION" >> "$GITHUB_ENV" + + echo "Last tag: $LAST_TAG" + echo "Commit count: $COMMIT_COUNT" + echo "Final version: $VERSION" - name: Build Linux ARM64 Docker Image run: | docker build \ -t gitea.penry.de/${{ env.REPO_LC }}:nightly \ - --build-arg VERSION=${{ env.PACKAGE_VERSION }} \ + --build-arg VERSION=${{ env.VERSION }} \ . - name: Login to own image registry diff --git a/README.md b/README.md index 117e054..e5b747d 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,5 @@ There are two options: - latest: Is the latest release Version - nightly: Is the latest commit on the main branch + +Test-Commit