|
9 | 9 | - test-release-2.0 |
10 | 10 |
|
11 | 11 | jobs: |
12 | | - compile-gui: |
13 | | - # Compile the GUI on Windows & Linux, and write the GUI binaries to actions/cache |
14 | | - name: Compile GUI |
15 | | - strategy: |
16 | | - matrix: |
17 | | - os: [ubuntu-latest, windows-latest] |
18 | | - runs-on: ${{ matrix.os }} |
19 | | - steps: |
20 | | - - name: Checkout code |
21 | | - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v4 |
22 | | - with: |
23 | | - persist-credentials: false |
24 | | - |
25 | | - - name: Fetch cached compiled GUI |
26 | | - id: restore-compiled-gui |
27 | | - uses: actions/cache/restore@0400d5f644dc74513175e3cd8d07132dd4860809 # v4 |
28 | | - with: |
29 | | - # enableCrossOsArchive always needs to be set on cached items in Windows jobs |
30 | | - # see cache documentation: https://github.com/actions/cache#inputs |
31 | | - enableCrossOsArchive: true |
32 | | - path: gui/dist/cloudfuseGUI_${{ runner.os }} |
33 | | - key: ${{ runner.os }}-compiled-gui-${{ hashFiles('gui/*.ui', 'gui/*.py') }} |
34 | | - |
35 | | - - name: Install Python |
36 | | - if: ${{ ! steps.restore-compiled-gui.outputs.cache-hit }} |
37 | | - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 |
38 | | - with: |
39 | | - python-version: "3.12" |
40 | | - |
41 | | - - name: Install pip dependencies |
42 | | - if: ${{ ! steps.restore-compiled-gui.outputs.cache-hit }} |
43 | | - run: pip3 install -r gui/requirements.txt |
44 | | - shell: bash |
45 | | - |
46 | | - - name: Install libxcb-cursor0 |
47 | | - if: ${{ ! steps.restore-compiled-gui.outputs.cache-hit && matrix.os == 'ubuntu-latest' }} |
48 | | - run: |- |
49 | | - sudo apt-get update |
50 | | - sudo apt-get install libxcb-cursor0 -y |
51 | | -
|
52 | | - - name: Compile GUI |
53 | | - if: ${{ ! steps.restore-compiled-gui.outputs.cache-hit }} |
54 | | - shell: bash |
55 | | - env: |
56 | | - OS: ${{ runner.os }} |
57 | | - run: | |
58 | | - cd gui |
59 | | - ./create_gui.sh |
60 | | - mv dist/cloudfuseGUI dist/cloudfuseGUI_${OS} |
61 | | -
|
62 | | - - name: Cache compiled GUI |
63 | | - if: ${{ ! steps.restore-compiled-gui.outputs.cache-hit }} |
64 | | - uses: actions/cache/save@0400d5f644dc74513175e3cd8d07132dd4860809 # v4 |
65 | | - with: |
66 | | - enableCrossOsArchive: true |
67 | | - path: gui/dist/cloudfuseGUI_${{ runner.os }} |
68 | | - key: ${{ runner.os }}-compiled-gui-${{ hashFiles('gui/*.ui', 'gui/*.py') }} |
69 | | - |
70 | 12 | create-installer: |
71 | 13 | # Run Inno Setup to create the Windows app installer, then write it to actions/cache |
72 | 14 | name: Create Windows Installer |
|
0 commit comments