mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 05:54:26 +01:00
Show the git commit of the current build of BTCPay (#4320)
* Show the git commit of the current build of BTCPay * Fix build Co-authored-by: d11n <mail@dennisreimann.de>
This commit is contained in:
@@ -41,9 +41,10 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
command: |
|
command: |
|
||||||
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
|
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
|
||||||
|
GIT_COMMIT=$(git rev-parse HEAD)
|
||||||
#
|
#
|
||||||
sudo docker build --pull -t $DOCKERHUB_REPO:$LATEST_TAG-amd64 -f amd64.Dockerfile .
|
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --pull -t $DOCKERHUB_REPO:$LATEST_TAG-amd64 -f amd64.Dockerfile .
|
||||||
sudo docker build --pull --build-arg CONFIGURATION_NAME=Altcoins-Release -t $DOCKERHUB_REPO:$LATEST_TAG-altcoins-amd64 -f amd64.Dockerfile .
|
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --pull --build-arg CONFIGURATION_NAME=Altcoins-Release -t $DOCKERHUB_REPO:$LATEST_TAG-altcoins-amd64 -f amd64.Dockerfile .
|
||||||
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
|
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
|
||||||
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-amd64
|
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-amd64
|
||||||
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-altcoins-amd64
|
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-altcoins-amd64
|
||||||
@@ -57,9 +58,10 @@ jobs:
|
|||||||
command: |
|
command: |
|
||||||
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||||
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
|
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
|
||||||
|
GIT_COMMIT=$(git rev-parse HEAD)
|
||||||
#
|
#
|
||||||
sudo docker build --pull -t $DOCKERHUB_REPO:$LATEST_TAG-arm32v7 -f arm32v7.Dockerfile .
|
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --pull -t $DOCKERHUB_REPO:$LATEST_TAG-arm32v7 -f arm32v7.Dockerfile .
|
||||||
sudo docker build --pull --build-arg CONFIGURATION_NAME=Altcoins-Release -t $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm32v7 -f arm32v7.Dockerfile .
|
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --pull --build-arg CONFIGURATION_NAME=Altcoins-Release -t $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm32v7 -f arm32v7.Dockerfile .
|
||||||
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
|
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
|
||||||
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-arm32v7
|
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-arm32v7
|
||||||
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm32v7
|
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm32v7
|
||||||
@@ -73,9 +75,10 @@ jobs:
|
|||||||
command: |
|
command: |
|
||||||
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||||
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
|
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
|
||||||
|
GIT_COMMIT=$(git rev-parse HEAD)
|
||||||
#
|
#
|
||||||
sudo docker build --pull -t $DOCKERHUB_REPO:$LATEST_TAG-arm64v8 -f arm64v8.Dockerfile .
|
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --pull -t $DOCKERHUB_REPO:$LATEST_TAG-arm64v8 -f arm64v8.Dockerfile .
|
||||||
sudo docker build --build-arg CONFIGURATION_NAME=Altcoins-Release --pull -t $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm64v8 -f arm64v8.Dockerfile .
|
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --build-arg CONFIGURATION_NAME=Altcoins-Release --pull -t $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm64v8 -f arm64v8.Dockerfile .
|
||||||
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
|
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
|
||||||
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-arm64v8
|
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-arm64v8
|
||||||
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm64v8
|
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm64v8
|
||||||
|
|||||||
@@ -4,13 +4,15 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
|
|
||||||
<PreserveCompilationContext>true</PreserveCompilationContext>
|
<PreserveCompilationContext>true</PreserveCompilationContext>
|
||||||
|
|
||||||
<RunAnalyzersDuringLiveAnalysis>False</RunAnalyzersDuringLiveAnalysis>
|
<RunAnalyzersDuringLiveAnalysis>False</RunAnalyzersDuringLiveAnalysis>
|
||||||
|
|
||||||
<RunAnalyzersDuringBuild>False</RunAnalyzersDuringBuild>
|
<RunAnalyzersDuringBuild>False</RunAnalyzersDuringBuild>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<AssemblyAttribute Condition="'$(GitCommit)' != ''" Include="BTCPayServer.GitCommitAttribute">
|
||||||
|
<_Parameter1>$(GitCommit)</_Parameter1>
|
||||||
|
</AssemblyAttribute>
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Remove="Build\**" />
|
<Compile Remove="Build\**" />
|
||||||
<Compile Remove="wwwroot\vendor\jquery-nice-select\**" />
|
<Compile Remove="wwwroot\vendor\jquery-nice-select\**" />
|
||||||
|
|||||||
18
BTCPayServer/GitCommitAttribute.cs
Normal file
18
BTCPayServer/GitCommitAttribute.cs
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace BTCPayServer
|
||||||
|
{
|
||||||
|
[AttributeUsage(AttributeTargets.Assembly, Inherited = false)]
|
||||||
|
public sealed class GitCommitAttribute : Attribute
|
||||||
|
{
|
||||||
|
public string SHA
|
||||||
|
{
|
||||||
|
get;
|
||||||
|
}
|
||||||
|
public string ShortSHA => SHA.Substring(0, 9);
|
||||||
|
public GitCommitAttribute(string sha)
|
||||||
|
{
|
||||||
|
SHA = sha;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -18,6 +18,7 @@ namespace BTCPayServer.Services
|
|||||||
public BTCPayServerEnvironment(IWebHostEnvironment env, BTCPayNetworkProvider provider, TorServices torServices, BTCPayServerOptions opts)
|
public BTCPayServerEnvironment(IWebHostEnvironment env, BTCPayNetworkProvider provider, TorServices torServices, BTCPayServerOptions opts)
|
||||||
{
|
{
|
||||||
Version = typeof(BTCPayServerEnvironment).GetTypeInfo().Assembly.GetCustomAttribute<AssemblyFileVersionAttribute>().Version;
|
Version = typeof(BTCPayServerEnvironment).GetTypeInfo().Assembly.GetCustomAttribute<AssemblyFileVersionAttribute>().Version;
|
||||||
|
Commit = typeof(BTCPayServerEnvironment).GetTypeInfo().Assembly.GetCustomAttribute<GitCommitAttribute>()?.ShortSHA;
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
Build = "Debug";
|
Build = "Debug";
|
||||||
#else
|
#else
|
||||||
@@ -70,10 +71,14 @@ namespace BTCPayServer.Services
|
|||||||
Extensions.IsLocalNetwork(httpContext.Request.Host.Host);
|
Extensions.IsLocalNetwork(httpContext.Request.Host.Host);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string Commit { get; set; }
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
StringBuilder txt = new StringBuilder();
|
StringBuilder txt = new StringBuilder();
|
||||||
txt.Append(CultureInfo.InvariantCulture, $"© BTCPay Server v{Version}");
|
txt.Append(CultureInfo.InvariantCulture, $"© BTCPay Server v{Version}");
|
||||||
|
if (Commit != null)
|
||||||
|
txt.Append($"+{Commit}");
|
||||||
if (AltcoinsVersion)
|
if (AltcoinsVersion)
|
||||||
txt.Append(" (Altcoins)");
|
txt.Append(" (Altcoins)");
|
||||||
if (!Environment.IsProduction() || !Build.Equals("Release", StringComparison.OrdinalIgnoreCase))
|
if (!Environment.IsProduction() || !Build.Equals("Release", StringComparison.OrdinalIgnoreCase))
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ COPY BTCPayServer.Abstractions/. BTCPayServer.Abstractions/.
|
|||||||
COPY BTCPayServer/. BTCPayServer/.
|
COPY BTCPayServer/. BTCPayServer/.
|
||||||
COPY Build/Version.csproj Build/Version.csproj
|
COPY Build/Version.csproj Build/Version.csproj
|
||||||
ARG CONFIGURATION_NAME=Release
|
ARG CONFIGURATION_NAME=Release
|
||||||
RUN cd BTCPayServer && dotnet publish --output /app/ --configuration ${CONFIGURATION_NAME}
|
ARG GIT_COMMIT
|
||||||
|
RUN cd BTCPayServer && dotnet publish -p:GitCommit=${GIT_COMMIT} --output /app/ --configuration ${CONFIGURATION_NAME}
|
||||||
|
|
||||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0.9-bullseye-slim
|
FROM mcr.microsoft.com/dotnet/aspnet:6.0.9-bullseye-slim
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,8 @@ COPY BTCPayServer.Abstractions/. BTCPayServer.Abstractions/.
|
|||||||
COPY BTCPayServer/. BTCPayServer/.
|
COPY BTCPayServer/. BTCPayServer/.
|
||||||
COPY Build/Version.csproj Build/Version.csproj
|
COPY Build/Version.csproj Build/Version.csproj
|
||||||
ARG CONFIGURATION_NAME=Release
|
ARG CONFIGURATION_NAME=Release
|
||||||
RUN cd BTCPayServer && dotnet publish --output /app/ --configuration ${CONFIGURATION_NAME}
|
ARG GIT_COMMIT
|
||||||
|
RUN cd BTCPayServer && dotnet publish -p:GitCommit=${GIT_COMMIT} --output /app/ --configuration ${CONFIGURATION_NAME}
|
||||||
|
|
||||||
# Note that we are using buster rather than bullseye. Somehow, raspberry pi 4 doesn't like bullseye.
|
# Note that we are using buster rather than bullseye. Somehow, raspberry pi 4 doesn't like bullseye.
|
||||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0.9-bullseye-slim-arm32v7
|
FROM mcr.microsoft.com/dotnet/aspnet:6.0.9-bullseye-slim-arm32v7
|
||||||
|
|||||||
@@ -23,7 +23,8 @@ COPY BTCPayServer.Abstractions/. BTCPayServer.Abstractions/.
|
|||||||
COPY BTCPayServer/. BTCPayServer/.
|
COPY BTCPayServer/. BTCPayServer/.
|
||||||
COPY Build/Version.csproj Build/Version.csproj
|
COPY Build/Version.csproj Build/Version.csproj
|
||||||
ARG CONFIGURATION_NAME=Release
|
ARG CONFIGURATION_NAME=Release
|
||||||
RUN cd BTCPayServer && dotnet publish --output /app/ --configuration ${CONFIGURATION_NAME}
|
ARG GIT_COMMIT
|
||||||
|
RUN cd BTCPayServer && dotnet publish -p:GitCommit=${GIT_COMMIT} --output /app/ --configuration ${CONFIGURATION_NAME}
|
||||||
|
|
||||||
# Force the builder machine to take make an arm runtime image. This is fine as long as the builder does not run any program
|
# Force the builder machine to take make an arm runtime image. This is fine as long as the builder does not run any program
|
||||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0.9-bullseye-slim-arm64v8
|
FROM mcr.microsoft.com/dotnet/aspnet:6.0.9-bullseye-slim-arm64v8
|
||||||
|
|||||||
Reference in New Issue
Block a user