3 on: [push, pull_request]
11 uses: actions/checkout@v3
13 run: rustup toolchain install stable --profile minimal --no-self-update
14 - name: Install Garden
15 run: cargo install garden-tools
16 - uses: Swatinem/rust-cache@v2
17 - name: Install build dependencies
21 sudo apt-get install python3-sphinx python3-qtpy python3-pyqt5
22 - name: Install Git Cola
23 run: garden -D prefix=dist install
27 runs-on: ubuntu-latest
30 uses: actions/checkout@v3
32 run: rustup toolchain install stable --profile minimal --no-self-update
33 - name: Install Garden
34 run: cargo install garden-tools
35 - uses: Swatinem/rust-cache@v2
36 - name: Install Dependencies
40 # Runtime dependencies (required)
41 sudo apt-get install \
44 # Runtime dependencies (optional)
45 sudo apt-get install \
47 # Development dependencies
48 sudo apt-get install \
52 python3-setuptools-scm \
55 - name: Configure tests
57 git config --global user.name "Git Cola"
58 git config --global user.email git-cola@localhost
59 - name: Run tests and checks
61 - name: Code formatting
62 run: garden fmt -- --check
66 runs-on: windows-latest
69 uses: actions/checkout@v3
71 uses: actions/setup-python@v4
76 uses: actions/cache@v3
78 path: ~/AppData/Local/pip/Cache
79 key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements/requirements*.txt') }}
80 - name: Install Dependencies
83 pip install Sphinx==5.3.0
84 pip install --requirement requirements/requirements.txt
85 pip install --requirement requirements/requirements-opt.txt
86 pip install --requirement requirements/requirements-dev.txt
87 pip install --requirement requirements/requirements-maint.txt
88 # Based on: contrib/win32/run-pynsist.sh
89 - name: Build Installer
92 make htmldir="$PWD/share/doc/git-cola/html" install-doc
94 rm -r share/doc/git-cola/html
96 # Rename executable output
98 mv git-cola*.exe git-cola-latest-${{github.run_number}}.exe
99 - name: Upload Artifact
100 uses: actions/upload-artifact@v3
102 name: git-cola-latest-${{github.run_number}}-${{runner.os}}
103 path: build/nsis/git-cola*.exe
107 runs-on: macos-latest
110 uses: actions/checkout@v3
112 run: rustup toolchain install stable --profile minimal --no-self-update
113 - name: Install Garden
114 run: cargo install garden-tools
115 - uses: Swatinem/rust-cache@v2
116 - name: Install Dependencies
119 brew install git-cola
121 source env3/bin/activate
122 python -m pip install wheel
123 python -m pip install Sphinx==5.3.0
125 garden requirements/dev
129 source env3/bin/activate
131 mv git-cola.app build/
133 run: zip -r git-cola.app.zip build/*
134 - name: Upload Artifact
135 uses: actions/upload-artifact@v3
137 name: git-cola-latest-${{github.run_number}}-${{runner.os}}
138 path: git-cola.app.zip