3 on: [push, pull_request]
10 - name: Cancel Previous Runs
11 uses: styfle/cancel-workflow-action@0.12.1
13 uses: actions/checkout@v4
15 run: rustup toolchain install stable --profile minimal --no-self-update
16 - name: Install Garden
17 run: cargo install garden-tools
18 - uses: Swatinem/rust-cache@v2
19 - name: Install build dependencies
23 sudo apt-get install python3-sphinx python3-qtpy python3-pyqt5
24 - name: Install Git Cola
25 run: garden -vv -D prefix=dist install
29 runs-on: ubuntu-latest
31 - name: Cancel Previous Runs
32 uses: styfle/cancel-workflow-action@0.12.1
34 uses: actions/checkout@v4
36 run: rustup toolchain install stable --profile minimal --no-self-update
37 - name: Install Garden
38 run: cargo install garden-tools
39 - uses: Swatinem/rust-cache@v2
40 - name: Install Dependencies
44 # Runtime dependencies (required)
45 sudo apt-get install \
48 # Runtime dependencies (optional)
49 sudo apt-get install \
51 # Development dependencies
52 sudo apt-get install \
54 python3-setuptools-scm \
57 - name: Configure tests
59 git config --global user.name "Git Cola"
60 git config --global user.email git-cola@localhost
61 - name: Run tests and checks
63 - name: Code formatting
64 run: garden -vv fmt -- --check
68 runs-on: windows-latest
70 - name: Cancel Previous Runs
71 uses: styfle/cancel-workflow-action@0.12.1
73 uses: actions/checkout@v4
75 uses: actions/setup-python@v5
80 uses: actions/cache@v4
82 path: ~/AppData/Local/pip/Cache
83 key: ${{ runner.os }}-pip-${{ hashFiles('setup.cfg') }}
84 - name: Install Dependencies
86 pip install '.[build,docs,dev,extras]'
87 # Based on: contrib/win32/run-pynsist.sh
88 - name: Build Installer
91 make htmldir="$PWD/share/doc/git-cola/html" install-doc
93 rm -r share/doc/git-cola/html
95 # Rename executable output
97 mv git-cola*.exe git-cola-latest-${{github.run_number}}.exe
98 - name: Upload Artifact
99 uses: actions/upload-artifact@v4
101 name: git-cola-latest-${{github.run_number}}-${{runner.os}}
102 path: build/nsis/git-cola*.exe
106 runs-on: macos-latest
108 - name: Cancel Previous Runs
109 uses: styfle/cancel-workflow-action@0.12.1
111 uses: actions/checkout@v4
113 run: rustup toolchain install stable --profile minimal --no-self-update
114 - name: Install Garden
115 run: cargo install garden-tools
116 - uses: Swatinem/rust-cache@v2
117 - name: Install Dependencies
119 brew install git-cola
123 mv git-cola.app build/
125 run: zip -r git-cola.app.zip build/*
126 - name: Upload Artifact
127 uses: actions/upload-artifact@v4
129 name: git-cola-latest-${{github.run_number}}-${{runner.os}}
130 path: git-cola.app.zip