mirror of
https://github.com/JustArchiNET/ArchiSteamFarm.git
synced 2025-12-16 22:40:30 +00:00
Modernize docker builds, add attestations
This commit is contained in:
7
.github/workflows/docker-ci.yml
vendored
7
.github/workflows/docker-ci.yml
vendored
@@ -30,9 +30,10 @@ jobs:
|
|||||||
- name: Build ${{ matrix.configuration }} Docker image from ${{ matrix.file }}
|
- name: Build ${{ matrix.configuration }} Docker image from ${{ matrix.file }}
|
||||||
uses: docker/build-push-action@v5.3.0
|
uses: docker/build-push-action@v5.3.0
|
||||||
with:
|
with:
|
||||||
|
build-args: CONFIGURATION=${{ matrix.configuration }}
|
||||||
context: .
|
context: .
|
||||||
file: ${{ matrix.file }}
|
file: ${{ matrix.file }}
|
||||||
platforms: ${{ env.PLATFORMS }}
|
platforms: ${{ env.PLATFORMS }}
|
||||||
build-args: |
|
provenance: true
|
||||||
CONFIGURATION=${{ matrix.configuration }}
|
sbom: true
|
||||||
STEAM_TOKEN_DUMPER_TOKEN=${{ secrets.STEAM_TOKEN_DUMPER_TOKEN }}
|
secrets: STEAM_TOKEN_DUMPER_TOKEN=${{ secrets.STEAM_TOKEN_DUMPER_TOKEN }}
|
||||||
|
|||||||
4
.github/workflows/docker-publish-latest.yml
vendored
4
.github/workflows/docker-publish-latest.yml
vendored
@@ -64,7 +64,9 @@ jobs:
|
|||||||
context: .
|
context: .
|
||||||
file: Dockerfile.Service
|
file: Dockerfile.Service
|
||||||
platforms: ${{ env.PLATFORMS }}
|
platforms: ${{ env.PLATFORMS }}
|
||||||
build-args: STEAM_TOKEN_DUMPER_TOKEN=${{ secrets.STEAM_TOKEN_DUMPER_TOKEN }}
|
provenance: true
|
||||||
|
sbom: true
|
||||||
|
secrets: STEAM_TOKEN_DUMPER_TOKEN=${{ secrets.STEAM_TOKEN_DUMPER_TOKEN }}
|
||||||
labels: |
|
labels: |
|
||||||
org.opencontainers.image.created=${{ env.DATE_ISO8601 }}
|
org.opencontainers.image.created=${{ env.DATE_ISO8601 }}
|
||||||
org.opencontainers.image.version=${{ env.FIXED_TAG }}
|
org.opencontainers.image.version=${{ env.FIXED_TAG }}
|
||||||
|
|||||||
4
.github/workflows/docker-publish-main.yml
vendored
4
.github/workflows/docker-publish-main.yml
vendored
@@ -63,7 +63,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
platforms: ${{ env.PLATFORMS }}
|
platforms: ${{ env.PLATFORMS }}
|
||||||
build-args: STEAM_TOKEN_DUMPER_TOKEN=${{ secrets.STEAM_TOKEN_DUMPER_TOKEN }}
|
provenance: true
|
||||||
|
sbom: true
|
||||||
|
secrets: STEAM_TOKEN_DUMPER_TOKEN=${{ secrets.STEAM_TOKEN_DUMPER_TOKEN }}
|
||||||
labels: |
|
labels: |
|
||||||
org.opencontainers.image.created=${{ env.DATE_ISO8601 }}
|
org.opencontainers.image.created=${{ env.DATE_ISO8601 }}
|
||||||
org.opencontainers.image.version=${{ github.sha }}
|
org.opencontainers.image.version=${{ github.sha }}
|
||||||
|
|||||||
@@ -64,7 +64,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
platforms: ${{ env.PLATFORMS }}
|
platforms: ${{ env.PLATFORMS }}
|
||||||
build-args: STEAM_TOKEN_DUMPER_TOKEN=${{ secrets.STEAM_TOKEN_DUMPER_TOKEN }}
|
provenance: true
|
||||||
|
sbom: true
|
||||||
|
secrets: STEAM_TOKEN_DUMPER_TOKEN=${{ secrets.STEAM_TOKEN_DUMPER_TOKEN }}
|
||||||
labels: |
|
labels: |
|
||||||
org.opencontainers.image.created=${{ env.DATE_ISO8601 }}
|
org.opencontainers.image.created=${{ env.DATE_ISO8601 }}
|
||||||
org.opencontainers.image.version=${{ env.FIXED_TAG }}
|
org.opencontainers.image.version=${{ env.FIXED_TAG }}
|
||||||
|
|||||||
15
Dockerfile
15
Dockerfile
@@ -12,7 +12,6 @@ RUN set -eu; \
|
|||||||
|
|
||||||
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0${IMAGESUFFIX} AS build-dotnet
|
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0${IMAGESUFFIX} AS build-dotnet
|
||||||
ARG CONFIGURATION=Release
|
ARG CONFIGURATION=Release
|
||||||
ARG STEAM_TOKEN_DUMPER_TOKEN
|
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
ARG TARGETOS
|
ARG TARGETOS
|
||||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT true
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT true
|
||||||
@@ -29,7 +28,7 @@ COPY .editorconfig .editorconfig
|
|||||||
COPY Directory.Build.props Directory.Build.props
|
COPY Directory.Build.props Directory.Build.props
|
||||||
COPY Directory.Packages.props Directory.Packages.props
|
COPY Directory.Packages.props Directory.Packages.props
|
||||||
COPY LICENSE.txt LICENSE.txt
|
COPY LICENSE.txt LICENSE.txt
|
||||||
RUN set -eu; \
|
RUN --mount=type=secret,id=STEAM_TOKEN_DUMPER_TOKEN set -eu; \
|
||||||
dotnet --info; \
|
dotnet --info; \
|
||||||
\
|
\
|
||||||
case "$TARGETOS" in \
|
case "$TARGETOS" in \
|
||||||
@@ -46,8 +45,16 @@ RUN set -eu; \
|
|||||||
\
|
\
|
||||||
dotnet publish ArchiSteamFarm -c "$CONFIGURATION" -o "out" -p:ASFVariant=docker -p:ContinuousIntegrationBuild=true -p:UseAppHost=false -r "$asf_variant" --nologo --no-self-contained; \
|
dotnet publish ArchiSteamFarm -c "$CONFIGURATION" -o "out" -p:ASFVariant=docker -p:ContinuousIntegrationBuild=true -p:UseAppHost=false -r "$asf_variant" --nologo --no-self-contained; \
|
||||||
\
|
\
|
||||||
if [ -n "${STEAM_TOKEN_DUMPER_TOKEN-}" ] && [ -f "ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SharedInfo.cs" ]; then \
|
if [ -f "/run/secrets/STEAM_TOKEN_DUMPER_TOKEN" ]; then \
|
||||||
sed -i "s/STEAM_TOKEN_DUMPER_TOKEN/${STEAM_TOKEN_DUMPER_TOKEN}/g" "ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SharedInfo.cs"; \
|
STEAM_TOKEN_DUMPER_TOKEN="$(cat "/run/secrets/STEAM_TOKEN_DUMPER_TOKEN")"; \
|
||||||
|
\
|
||||||
|
if [ -n "$STEAM_TOKEN_DUMPER_TOKEN" ] && [ -f "ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SharedInfo.cs" ]; then \
|
||||||
|
sed -i "s/STEAM_TOKEN_DUMPER_TOKEN/${STEAM_TOKEN_DUMPER_TOKEN}/g" "ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SharedInfo.cs"; \
|
||||||
|
else \
|
||||||
|
echo "WARN: STEAM_TOKEN_DUMPER_TOKEN not applied!"; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
echo "WARN: No STEAM_TOKEN_DUMPER_TOKEN provided!"; \
|
||||||
fi; \
|
fi; \
|
||||||
\
|
\
|
||||||
for plugin in $PLUGINS_BUNDLED; do \
|
for plugin in $PLUGINS_BUNDLED; do \
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ RUN set -eu; \
|
|||||||
|
|
||||||
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0${IMAGESUFFIX} AS build-dotnet
|
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0${IMAGESUFFIX} AS build-dotnet
|
||||||
ARG CONFIGURATION=Release
|
ARG CONFIGURATION=Release
|
||||||
ARG STEAM_TOKEN_DUMPER_TOKEN
|
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
ARG TARGETOS
|
ARG TARGETOS
|
||||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT true
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT true
|
||||||
@@ -29,7 +28,7 @@ COPY .editorconfig .editorconfig
|
|||||||
COPY Directory.Build.props Directory.Build.props
|
COPY Directory.Build.props Directory.Build.props
|
||||||
COPY Directory.Packages.props Directory.Packages.props
|
COPY Directory.Packages.props Directory.Packages.props
|
||||||
COPY LICENSE.txt LICENSE.txt
|
COPY LICENSE.txt LICENSE.txt
|
||||||
RUN set -eu; \
|
RUN --mount=type=secret,id=STEAM_TOKEN_DUMPER_TOKEN set -eu; \
|
||||||
dotnet --info; \
|
dotnet --info; \
|
||||||
\
|
\
|
||||||
case "$TARGETOS" in \
|
case "$TARGETOS" in \
|
||||||
@@ -46,8 +45,16 @@ RUN set -eu; \
|
|||||||
\
|
\
|
||||||
dotnet publish ArchiSteamFarm -c "$CONFIGURATION" -o "out" "-p:ASFVariant=${asf_variant}" -p:ContinuousIntegrationBuild=true -p:PublishSingleFile=true -p:PublishTrimmed=true -r "$asf_variant" --nologo --self-contained; \
|
dotnet publish ArchiSteamFarm -c "$CONFIGURATION" -o "out" "-p:ASFVariant=${asf_variant}" -p:ContinuousIntegrationBuild=true -p:PublishSingleFile=true -p:PublishTrimmed=true -r "$asf_variant" --nologo --self-contained; \
|
||||||
\
|
\
|
||||||
if [ -n "${STEAM_TOKEN_DUMPER_TOKEN-}" ] && [ -f "ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SharedInfo.cs" ]; then \
|
if [ -f "/run/secrets/STEAM_TOKEN_DUMPER_TOKEN" ]; then \
|
||||||
sed -i "s/STEAM_TOKEN_DUMPER_TOKEN/${STEAM_TOKEN_DUMPER_TOKEN}/g" "ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SharedInfo.cs"; \
|
STEAM_TOKEN_DUMPER_TOKEN="$(cat "/run/secrets/STEAM_TOKEN_DUMPER_TOKEN")"; \
|
||||||
|
\
|
||||||
|
if [ -n "STEAM_TOKEN_DUMPER_TOKEN" ] && [ -f "ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SharedInfo.cs" ]; then \
|
||||||
|
sed -i "s/STEAM_TOKEN_DUMPER_TOKEN/${STEAM_TOKEN_DUMPER_TOKEN}/g" "ArchiSteamFarm.OfficialPlugins.SteamTokenDumper/SharedInfo.cs"; \
|
||||||
|
else \
|
||||||
|
echo "WARN: STEAM_TOKEN_DUMPER_TOKEN not applied!"; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
echo "WARN: No STEAM_TOKEN_DUMPER_TOKEN provided!"; \
|
||||||
fi; \
|
fi; \
|
||||||
\
|
\
|
||||||
for plugin in $PLUGINS_BUNDLED; do \
|
for plugin in $PLUGINS_BUNDLED; do \
|
||||||
|
|||||||
Reference in New Issue
Block a user