updated github actions configuration #21
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
on: | |
push: | |
branches-ignore: | |
# dependabot branches will fail on push since they run with fork-level permissions despite being in the main repo. | |
# said branches are tested anyhow when dependabot makes its PR and the pull_request triggers the run. | |
- 'dependabot/**' | |
pull_request: | |
name: CI | |
jobs: | |
winexe: | |
name: winexe | |
runs-on: ubuntu-22.04 | |
outputs: | |
github_commit_desc: ${{ steps.get_commit_desc.outputs.github_commit_desc }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4.1.2 | |
with: | |
fetch-depth: 0 | |
- name: Get head branch latest commit | |
run: echo "GITHUB_PR_HEAD_SHA=$(git log --pretty=format:'%h' $GITHUB_SHA^2 -1)" >> $GITHUB_ENV | |
- name: Get base branch latest commit | |
run: echo "GITHUB_PR_BASE_SHA=$(git log --pretty=format:'%h' $GITHUB_SHA^1 -1)" >> $GITHUB_ENV | |
- name: Get latest commit | |
run: echo "GITHUB_HEAD_SHA=$(git log --pretty=format:'%h' -1)" >> $GITHUB_ENV | |
- name: install packages | |
run: | | |
sudo dpkg --add-architecture i386 | |
sudo mkdir -pm755 /etc/apt/keyrings | |
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key | |
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources | |
sudo apt-get update | |
sudo apt-get install -y --install-recommends winehq-stable winetricks wget xvfb | |
- name: configure wine | |
run: winetricks -q win10 | |
- name: Download Python | |
run: wget https://www.python.org/ftp/python/3.12.3/python-3.12.3-amd64.exe | |
- name: installing Python on wine | |
run: | | |
Xvfb :0 -screen 0 1024x768x16 & | |
DISPLAY=:0.0 wine python-3.12.3-amd64.exe /quiet /log log.txt | |
killall Xvfb | |
- name: installing dependencies | |
run: wine ~/.wine/drive_c/users/runner/AppData/Local/Programs/Python/Python312/python.exe -m pip install pyside6 numpy scipy pyinstaller | |
- name: creating the executable | |
run: | | |
Xvfb :0 -screen 0 1024x768x16 & | |
DISPLAY=:0.0 wine cmd < gen_win_exe.bat | |
killall Xvfb | |
- name: Upload Package Archive | |
uses: actions/upload-artifact@v4.3.1 | |
with: | |
name: wwplot-git-${{ env.GITHUB_HEAD_SHA }}-x86_64.exe | |
path: dist | |
if-no-files-found: error | |
# on a pull_request event in github actions, the tests are not run on the head branch of the PR, rather they are run on the merge commit of head merged into the base branch | |
# this means the latest commit in github actions, which is used for build artifact names is a commit that does not exist in the repository | |
# so on pull requests we create a user-friendly string to use in place of the merge commit sha, otherwise we just use the normal git HEAD sha. | |
# - id: get_commit_desc | |
# run: | | |
# if [[ ${{ github.event_name }} == 'pull_request' ]]; then | |
# echo "github_commit_desc=merge-${{ env.GITHUB_PR_HEAD_SHA }}-into-${{ env.GITHUB_PR_BASE_SHA }}" >> $GITHUB_OUTPUT | |
# else | |
# echo "github_commit_desc=${{ env.GITHUB_HEAD_SHA }}" >> $GITHUB_OUTPUT | |
# fi | |