diff --git a/.github/workflows/docker-teamcityagent-image.yml b/.github/workflows/docker-teamcityagent-image.yml index f8601d6..49fc6c3 100644 --- a/.github/workflows/docker-teamcityagent-image.yml +++ b/.github/workflows/docker-teamcityagent-image.yml @@ -19,7 +19,7 @@ jobs: IS_SEMVER_TAG: ${{ false }} IS_TAG: ${{ null }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Check Tag Ref shell: pwsh @@ -44,7 +44,7 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: | ${{ secrets.DOCKER_HUB_REPOS }} @@ -62,11 +62,11 @@ jobs: # uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub if: github.event_name != 'pull_request' - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} @@ -144,6 +144,17 @@ jobs: Write-Output "dotnet=$($dotnet_vers[2])" >> $env:GITHUB_OUTPUT Write-Output "pwsh=$($dotnet_vers[3].SubString(11))" >> $env:GITHUB_OUTPUT + - name: Get .NET 9.0 Versions + id: dotnet9_vers + shell: pwsh + run: | + $dotnet_vers=$(docker run --rm mcr.microsoft.com/dotnet/sdk:9.0-preview-jammy sh -c 'echo $DOTNET_SDK_VERSION;echo $ASPNET_VERSION;echo $DOTNET_VERSION;pwsh --version') + Write-Output "Version SDK:$($dotnet_vers[0]) ASP.NET:$($dotnet_vers[1]) .NETCore:$($dotnet_vers[2])" + Write-Output "sdk=$($dotnet_vers[0])" >> $env:GITHUB_OUTPUT + Write-Output "aspnet=$($dotnet_vers[1])" >> $env:GITHUB_OUTPUT + Write-Output "dotnet=$($dotnet_vers[2])" >> $env:GITHUB_OUTPUT + Write-Output "pwsh=$($dotnet_vers[3].SubString(11))" >> $env:GITHUB_OUTPUT + - name: Build and push id: docker_build uses: docker/build-push-action@v4 @@ -170,6 +181,9 @@ jobs: DOTNET_SDK_VERSION8=${{ steps.dotnet8_vers.outputs.sdk }} ASPNET_VERSION8=${{ steps.dotnet8_vers.outputs.aspnet }} DOTNET_VERSION8=${{ steps.dotnet8_vers.outputs.dotnet }} - POWERSHELL_VERSION=${{ steps.dotnet8_vers.outputs.pwsh }} + DOTNET_SDK_VERSION9=${{ steps.dotnet9_vers.outputs.sdk }} + ASPNET_VERSION9=${{ steps.dotnet9_vers.outputs.aspnet }} + DOTNET_VERSION9=${{ steps.dotnet9_vers.outputs.dotnet }} + POWERSHELL_VERSION=${{ steps.dotnet9_vers.outputs.pwsh }} - name: Image digest run: echo ${{ steps.docker_build.outputs.digest }} diff --git a/LICENSE b/LICENSE index dced0cc..23c5dcd 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022 Tho Ho and Tesla Consulting Pte Ltd +Copyright (c) 2024 Tho Ho and Tesla Consulting Pte Ltd Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 30d352a..59d0e99 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,12 @@ https://hub.docker.com/r/teslaconsulting/teamcity-agent Update per build. - TeamCity Agent: `2022.04.5-linux` -- .NET 8 SDK: 8.0.201 -- .NET 7 SDK: 7.0.406 -- .NET 6 SDK: 6.0.419 +- .NET 9 SDK: 9.0.100-preview.2.24157.14 +- .NET 8 SDK: 8.0.203 +- .NET 7 SDK: 7.0.407 +- .NET 6 SDK: 6.0.420 - .NET 5 SDK: 5.0.408 - .NETCore 3.1 SDK: 3.1.426 -- Powershell Core: 7.4.1 +- Powershell Core: 7.5.0-preview.2 - MinVer Cli: 4.3.0 -- Docker Compose v2: 2.24.6 +- Docker Compose v2: 2.26.0 diff --git a/teamcity-agent/Dockerfile b/teamcity-agent/Dockerfile index 0a9e3bc..45cb29c 100644 --- a/teamcity-agent/Dockerfile +++ b/teamcity-agent/Dockerfile @@ -3,12 +3,14 @@ ARG DOTNET_SDK_VERSION5_TAG=5.0-focal ARG DOTNET_SDK_VERSION6_TAG=6.0-focal ARG DOTNET_SDK_VERSION7_TAG=7.0-jammy ARG DOTNET_SDK_VERSION8_TAG=8.0-jammy +ARG DOTNET_SDK_VERSION9_TAG=9.0-preview-jammy ARG MINVER_IMAGE_TAG=latest ARG MINVER_IMAGE=teslaconsulting/minver-cli:$MINVER_IMAGE_TAG ARG DOCKER_CLI_IMAGE=docker:cli ARG TEAMCITYAGENT_IMAGE_REPOS=jetbrains/teamcity-agent ARG TEAMCITYAGENT_IMAGE_TAG=2022.04.5-linux +FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_SDK_VERSION9_TAG} AS dotnetsdk9 FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_SDK_VERSION8_TAG} AS dotnetsdk8 FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_SDK_VERSION7_TAG} AS dotnetsdk7 FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_SDK_VERSION6_TAG} AS dotnetsdk6 @@ -26,7 +28,8 @@ COPY --from=dotnetsdk5 /usr/share/dotnet /usr/share/dotnet COPY --from=dotnetsdk6 /usr/share/dotnet /usr/share/dotnet COPY --from=dotnetsdk7 /usr/share/dotnet /usr/share/dotnet COPY --from=dotnetsdk8 /usr/share/dotnet /usr/share/dotnet -COPY --from=dotnetsdk8 /usr/share/powershell /usr/share/powershell +COPY --from=dotnetsdk9 /usr/share/dotnet /usr/share/dotnet +COPY --from=dotnetsdk9 /usr/share/powershell /usr/share/powershell COPY --from=minver /usr/share/minver-cli /usr/share/minver-cli COPY --from=dockercli /usr/local/libexec/docker/cli-plugins /usr/local/libexec/docker/cli-plugins @@ -54,6 +57,10 @@ ARG DOTNET_SDK_VERSION8=8.0.0 ARG ASPNET_VERSION8=8.0.0 ARG DOTNET_VERSION8=8.0.0 +ARG DOTNET_SDK_VERSION9=9.0.0 +ARG ASPNET_VERSION9=9.0.0 +ARG DOTNET_VERSION9=9.0.0 + ARG POWERSHELL_VERSION=7.4.1 ARG MINVER_VERSION=4.3.0 ARG DOCKER_COMPOSE_VERSION=2.24.6 @@ -79,6 +86,10 @@ ENV DOTNET_SDK_VERSION31=${DOTNET_SDK_VERSION31} \ ASPNET_VERSION8=${ASPNET_VERSION8} \ DOTNET_VERSION8=${DOTNET_VERSION8} \ \ + DOTNET_SDK_VERSION9=${DOTNET_SDK_VERSION9} \ + ASPNET_VERSION9=${ASPNET_VERSION9} \ + DOTNET_VERSION9=${DOTNET_VERSION9} \ + \ DOTNET_SDK_VERSION=${DOTNET_SDK_VERSION8} \ ASPNET_VERSION=${ASPNET_VERSION8} \ DOTNET_VERSION=${DOTNET_VERSION8} \