Fix builds from CI showing up as modified (#4384)

This change also adds a new environment variable used while building: `CHATTERINO_REQUIRE_CLEAN_GIT` which, if set, will error out during your build's GIT stage.
This is used in CI to ensure we don't accidentally introduce a change that would result in builds showing up as "modified" again.

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
This commit is contained in:
nerix 2023-02-16 14:56:20 +01:00 committed by GitHub
parent 4c8ad85074
commit 9bfd12ba3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 52 additions and 40 deletions

View file

@ -14,6 +14,7 @@ concurrency:
env: env:
C2_ENABLE_LTO: ${{ github.ref == 'refs/heads/master' }} C2_ENABLE_LTO: ${{ github.ref == 'refs/heads/master' }}
CHATTERINO_REQUIRE_CLEAN_GIT: On
jobs: jobs:
build: build:
@ -81,9 +82,8 @@ jobs:
uses: jurplel/install-qt-action@v3.0.0 uses: jurplel/install-qt-action@v3.0.0
with: with:
cache: true cache: true
cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }} cache-key-prefix: ${{ runner.os }}-QtCache-${{ matrix.qt-version }}-v2
version: ${{ matrix.qt-version }} version: ${{ matrix.qt-version }}
dir: "${{ github.workspace }}/qt/"
# WINDOWS # WINDOWS
- name: Cache conan packages part 1 - name: Cache conan packages part 1

3
.gitignore vendored
View file

@ -118,3 +118,6 @@ qt6.natvis
# Autogenerated resource file # Autogenerated resource file
resources/resources_autogenerated.qrc resources/resources_autogenerated.qrc
# Leftovers from running `aqt install`
aqtinstall.log

View file

@ -33,6 +33,7 @@
- Bugfix: Fixed the split "Search" menu action not opening the correct search window. (#4305) - Bugfix: Fixed the split "Search" menu action not opening the correct search window. (#4305)
- Bugfix: Fixed an issue on Windows when opening links in incognito mode that contained forward slashes in hash (#4307) - Bugfix: Fixed an issue on Windows when opening links in incognito mode that contained forward slashes in hash (#4307)
- Bugfix: Fixed an issue where beta versions wouldn't update to stable versions correctly. (#4329) - Bugfix: Fixed an issue where beta versions wouldn't update to stable versions correctly. (#4329)
- Bugfix: Fixed builds from GitHub showing up as modified. (#4384)
- Bugfix: Avoided crash that could occur when receiving channel point reward information. (#4360) - Bugfix: Avoided crash that could occur when receiving channel point reward information. (#4360)
- Dev: Changed sound backend from Qt to miniaudio. (#4334) - Dev: Changed sound backend from Qt to miniaudio. (#4334)
- Dev: Removed protocol from QApplication's Organization Domain (so changed from `https://www.chatterino.com` to `chatterino.com`). (#4256) - Dev: Removed protocol from QApplication's Organization Domain (so changed from `https://www.chatterino.com` to `chatterino.com`). (#4256)

View file

@ -31,6 +31,7 @@ if (GIT_EXECUTABLE)
OUTPUT_QUIET OUTPUT_QUIET
ERROR_QUIET ERROR_QUIET
) )
if(GIT_REPOSITORY_NOT_FOUND) if(GIT_REPOSITORY_NOT_FOUND)
set(GIT_REPOSITORY_FOUND 0) set(GIT_REPOSITORY_FOUND 0)
else() else()
@ -69,15 +70,22 @@ if (GIT_EXECUTABLE)
endif(GIT_EXECUTABLE) endif(GIT_EXECUTABLE)
if(GIT_MODIFIED_OUTPUT) if(GIT_MODIFIED_OUTPUT)
if(DEFINED ENV{CHATTERINO_REQUIRE_CLEAN_GIT})
message(STATUS "git status --porcelain -z\n${GIT_MODIFIED_OUTPUT}")
message(FATAL_ERROR "Git repository was expected to be clean, but modifications were found!")
endif()
set(GIT_MODIFIED 1) set(GIT_MODIFIED 1)
endif() endif()
if(DEFINED ENV{GIT_HASH}) if(DEFINED ENV{GIT_HASH})
set(GIT_HASH "$ENV{GIT_HASH}") set(GIT_HASH "$ENV{GIT_HASH}")
endif() endif()
if(DEFINED ENV{GIT_COMMIT}) if(DEFINED ENV{GIT_COMMIT})
set(GIT_COMMIT "$ENV{GIT_COMMIT}") set(GIT_COMMIT "$ENV{GIT_COMMIT}")
endif() endif()
if(DEFINED ENV{GIT_RELEASE}) if(DEFINED ENV{GIT_RELEASE})
set(GIT_RELEASE "$ENV{GIT_RELEASE}") set(GIT_RELEASE "$ENV{GIT_RELEASE}")
endif() endif()