Factorio: fix client compatibility with Windows 7/Python 3.8 (#3196) #2
Workflow file for this run
This file contains 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
# This workflow will create a release and store builds to it when an x.y.z tag is pushed | |
name: Release | |
on: | |
push: | |
tags: | |
- '*.*.*' | |
env: | |
ENEMIZER_VERSION: 7.1 | |
APPIMAGETOOL_VERSION: 13 | |
jobs: | |
create-release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set env | |
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV # tag x.y.z will become "Archipelago x.y.z" | |
- name: Create Release | |
uses: softprops/action-gh-release@975c1b265e11dd76618af1c374e7981f9a6ff44a | |
with: | |
draft: true # don't publish right away, especially since windows build is added by hand | |
prerelease: false | |
name: Archipelago ${{ env.RELEASE_VERSION }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# build-release-windows: # this is done by hand because of signing | |
# build-release-macos: # LF volunteer | |
build-release-ubuntu2004: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Set env | |
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | |
# - code below copied from build.yml - | |
- uses: actions/checkout@v4 | |
- name: Install base dependencies | |
run: | | |
sudo apt update | |
sudo apt -y install build-essential p7zip xz-utils wget libglib2.0-0 | |
sudo apt -y install python3-gi libgirepository1.0-dev # should pull dependencies for gi installation below | |
- name: Get a recent python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Install build-time dependencies | |
run: | | |
echo "PYTHON=python3.11" >> $GITHUB_ENV | |
wget -nv https://github.com/AppImage/AppImageKit/releases/download/$APPIMAGETOOL_VERSION/appimagetool-x86_64.AppImage | |
chmod a+rx appimagetool-x86_64.AppImage | |
./appimagetool-x86_64.AppImage --appimage-extract | |
echo -e '#/bin/sh\n./squashfs-root/AppRun "$@"' > appimagetool | |
chmod a+rx appimagetool | |
- name: Download run-time dependencies | |
run: | | |
wget -nv https://github.com/Ijwu/Enemizer/releases/download/$ENEMIZER_VERSION/ubuntu.16.04-x64.7z | |
7za x -oEnemizerCLI/ ubuntu.16.04-x64.7z | |
- name: Build | |
run: | | |
# pygobject is an optional dependency for kivy that's not in requirements | |
# charset-normalizer was somehow incomplete in the github runner | |
"${{ env.PYTHON }}" -m venv venv | |
source venv/bin/activate | |
"${{ env.PYTHON }}" -m pip install --upgrade pip PyGObject charset-normalizer | |
python setup.py build_exe --yes bdist_appimage --yes | |
echo -e "setup.py build output:\n `ls build`" | |
echo -e "setup.py dist output:\n `ls dist`" | |
cd dist && export APPIMAGE_NAME="`ls *.AppImage`" && cd .. | |
export TAR_NAME="${APPIMAGE_NAME%.AppImage}.tar.gz" | |
(cd build && DIR_NAME="`ls | grep exe`" && mv "$DIR_NAME" Archipelago && tar -czvf ../dist/$TAR_NAME Archipelago && mv Archipelago "$DIR_NAME") | |
echo "APPIMAGE_NAME=$APPIMAGE_NAME" >> $GITHUB_ENV | |
echo "TAR_NAME=$TAR_NAME" >> $GITHUB_ENV | |
# - code above copied from build.yml - | |
- name: Add to Release | |
uses: softprops/action-gh-release@975c1b265e11dd76618af1c374e7981f9a6ff44a | |
with: | |
draft: true # see above | |
prerelease: false | |
name: Archipelago ${{ env.RELEASE_VERSION }} | |
files: | | |
dist/* | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |