docker, ci: fix --version output

When building the docker image manually, MINEDMAP_VERSION needs to be
set explicitly to get a proper version string.
This commit is contained in:
Matthias Schiffer 2025-02-22 11:06:46 +01:00
parent 282f62fc30
commit 8cb1eee60b
Signed by: neocturne
GPG key ID: 16EF3F64CB201D9C
3 changed files with 26 additions and 6 deletions

View file

@ -154,6 +154,16 @@ jobs:
needs: needs:
- test - test
steps: steps:
- name: 'Checkout'
uses: 'actions/checkout@v4'
- name: 'Get version'
id: 'tag'
run: |
set -o pipefail
git fetch --prune --unshallow --tags -f
echo "tag=$(git describe --abbrev=7 --match='v*' | sed 's/^v//')" >> $GITHUB_OUTPUT
- name: Docker meta - name: Docker meta
id: meta id: meta
uses: docker/metadata-action@v5 uses: docker/metadata-action@v5
@ -182,6 +192,8 @@ jobs:
- name: Build - name: Build
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6
with: with:
build-args: |
MINEDMAP_VERSION=${{ steps.tag.outputs.tag }}
push: ${{ github.event_name != 'pull_request' }} push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}

View file

@ -1,5 +1,7 @@
FROM docker.io/library/alpine:latest AS builder FROM docker.io/library/alpine:latest AS builder
ARG MINEDMAP_VERSION
WORKDIR /build WORKDIR /build
RUN apk add --no-cache build-base cmake cargo RUN apk add --no-cache build-base cmake cargo

View file

@ -33,17 +33,23 @@ use tracing::{info, warn};
use self::entity_collector::EntityCollector; use self::entity_collector::EntityCollector;
/// MinedMap version number /// Returns the MinedMap version number
const VERSION: &str = git_version!( fn version() -> &'static str {
option_env!("MINEDMAP_VERSION").unwrap_or(
git_version!(
args = ["--abbrev=7", "--match=v*", "--dirty=-modified"], args = ["--abbrev=7", "--match=v*", "--dirty=-modified"],
cargo_prefix = "v", cargo_prefix = "v",
); )
.strip_prefix("v")
.unwrap(),
)
}
/// Command line arguments for minedmap CLI /// Command line arguments for minedmap CLI
#[derive(Debug, Parser)] #[derive(Debug, Parser)]
#[command( #[command(
about, about,
version = VERSION.strip_prefix("v").unwrap(), version = version(),
max_term_width = 100, max_term_width = 100,
)] )]
pub struct Args { pub struct Args {