diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index a3de381b..b6883d25 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -1,5 +1,5 @@ # vim: tabstop=2 shiftwidth=2 -name: Build EDMC for Windows +name: Build EDMC on: push: @@ -11,7 +11,7 @@ jobs: variables: outputs: sem_ver: ${{ steps.var.outputs.sem_ver }} - archive_exclusions: ${{ steps.var.outputs.archive_exclusions }} + short_sha: ${{ steps.var.outputs.short_sha }} runs-on: "ubuntu-latest" steps: - name: Setting global variables @@ -20,6 +20,7 @@ jobs: with: script: | core.setOutput('sem_ver', '${{ github.ref_name }}'.replaceAll('Release\/', '')) + core.setOutput('short_sha', '${{ github.sha }}'.substring(0, 8)) linux_build: needs: [variables] @@ -29,6 +30,9 @@ jobs: - uses: actions/checkout@v4 with: submodules: true + - name: Create .gitversion + run: | + echo "${{ needs.variables.outputs.short_sha }}" > .gitversion - name: Make tar archive run: | @@ -40,7 +44,11 @@ jobs: --exclude=EDMarketConnector-release-*.* \ --exclude=.editorconfig \ --exclude=.flake8 \ - --exclude=.git* \ + --exclude=.gitattributes \ + --exclude=.gitignore \ + --exclude=.gitmodules \ + --exclude=.git \ + --exclude=.github \ --exclude=.mypy.ini \ --exclude=.pre-commit-config.yaml \ --exclude=build.py \ diff --git a/config/__init__.py b/config/__init__.py index 77b6a0f7..33d531e9 100644 --- a/config/__init__.py +++ b/config/__init__.py @@ -137,10 +137,16 @@ def appversion() -> semantic_version.Version: shorthash = gitv.read() else: - # Running from source + # Running from source. Use git rev-parse --short HEAD + # or fall back to .gitversion file if it exists. + # This is also required for the Flatpak shorthash = git_shorthash_from_head() if shorthash is None: - shorthash = 'UNKNOWN' + if pathlib.Path(sys.path[0] + "/" + GITVERSION_FILE).exists(): + with open(pathlib.Path(sys.path[0] + "/" + GITVERSION_FILE), encoding='utf-8') as gitv: + shorthash = gitv.read() + else: + shorthash = 'UNKNOWN' _cached_version = semantic_version.Version(f'{_static_appversion}+{shorthash}') return _cached_version