Building the project binary for GNU/Linux OSes #603
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: Building the project binary for GNU/Linux OSes | |
| on: | |
| schedule: | |
| - cron: 0 0 * * * | |
| jobs: | |
| ci-make-gnul: | |
| runs-on: ubuntu-latest | |
| container: fedorapython/fedora-python-tox:latest | |
| strategy: | |
| fail-fast: false | |
| steps: | |
| - name: Checkout the codebase in local working directory | |
| uses: actions/checkout@v6 | |
| - name: Setup a functioning local Python 3 installation | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: 3.12 || 3.13 || 3.14 | |
| - name: Install the base dependencies of the project | |
| run: python3 -m pip install --upgrade uv pyinstaller | |
| - name: Ignore warnings about dubious repository ownership | |
| run: git config --global --add safe.directory . | |
| - name: Update the interstitial versioning identifier | |
| run: sed -i "s/^version = \"\(.*\)\"/version = \"\1+$(git rev-parse --short=8 HEAD)\"/" pyproject.toml | |
| - name: Install the runtime dependencies of the project | |
| run: uv sync --extra dev | |
| - name: Build the project binary for "Loadouts for Genshin Impact" | |
| run: uv run pyinstaller gi_loadouts/main.py --clean --onefile --name gi-loadouts-${GITHUB_HASH:0:8} | |
| env: | |
| GITHUB_HASH: ${{ github.sha }} | |
| - name: Upload the project binaries for "Loadouts for Genshin Impact" | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: gi-loadouts.gnul | |
| path: dist/gi-loadouts-* | |
| retention-days: 2 | |
| compression-level: 9 | |
| overwrite: true |