3 on: [push, pull_request]
11 uses: actions/checkout@v2
12 # Repository checked out under $GITHUB_WORKSPACE
14 - name: Install Dependencies
17 sudo apt-get install \
22 run: make prefix="build" install
24 - name: Upload Artifact
25 uses: actions/upload-artifact@v2
27 name: git-cola-run${{github.run_number}}-${{runner.os}}
32 runs-on: ubuntu-latest
35 uses: actions/checkout@v2
36 # Repository checked out under $GITHUB_WORKSPACE
38 - name: Install Dependencies
42 sudo apt-get install \
49 python-setuptools-scm \
52 # Runtime dependencies (required)
53 sudo apt-get install \
56 # Runtime dependencies (optional)
57 sudo apt-get install \
59 python -m venv --system-site-packages env
60 source env/bin/activate
61 export SETUPTOOLS_USE_DISTUTILS=stdlib
64 - name: Build Translations
66 source env/bin/activate
67 export SETUPTOOLS_USE_DISTUTILS=stdlib
70 - name: Run Unit Tests
72 git config --global user.name "Git Cola"
73 git config --global user.email git-cola@localhost
74 export SETUPTOOLS_USE_DISTUTILS=stdlib
78 run: make pylint color=0
80 - name: Check Code Style
83 - name: Check Code Formatting
84 # For strict adherence to formatting, run 'black' with --check
89 runs-on: windows-latest
92 uses: actions/checkout@v2
93 # Repository checked out under $GITHUB_WORKSPACE
96 uses: actions/setup-python@v2
102 uses: actions/cache@v2
104 path: ~\AppData\Local\pip\Cache
105 key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements/requirements*.txt') }}
107 - name: Install Dependencies
111 pip install --requirement requirements/requirements-dev.txt
112 pip install --requirement requirements/requirements-maint.txt
114 # Based on: contrib/win32/run-pynsist.sh
115 - name: Build Installer
119 make htmldir="$PWD/share/doc/git-cola/html" install-doc
121 rm -r share/doc/git-cola/html
123 # Rename executable output
125 mv git-cola*.exe git-cola-run${{github.run_number}}.exe
127 - name: Upload Artifact
128 uses: actions/upload-artifact@v2
130 name: git-cola-run${{github.run_number}}-${{runner.os}}
131 path: build\nsis\git-cola*.exe
134 name: 'Build / darwin'
135 runs-on: macos-latest
138 uses: actions/checkout@v2
139 # Repository checked out under $GITHUB_WORKSPACE
141 - name: Install Dependencies
144 brew install sphinx-doc
145 brew install git-cola
146 $(brew --prefix python3)/bin/python3 -m venv --system-site-packages env
147 source env/bin/activate
148 make requirements-dev
149 export SETUPTOOLS_USE_DISTUTILS=stdlib
155 source env/bin/activate
156 export SETUPTOOLS_USE_DISTUTILS=stdlib
159 PYTHON_CONFIG=python3-config \
161 mv git-cola.app build/
163 - name: Upload Artifact
164 uses: actions/upload-artifact@v2
166 name: git-cola-run${{github.run_number}}-${{runner.os}}