starzel buildout #186
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
name: starzel buildout | |
on: [push] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
steps: | |
# git checkout | |
- uses: actions/checkout@v3 | |
# python setup | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# python cache | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/pip | |
~/buildout-cache | |
~/eggs | |
~/downloads | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Prepare mrbob answers | |
run: | | |
echo "[variables]" > $HOME/mrbob_answers.txt | |
echo "package.type = Basic" >> $HOME/mrbob_answers.txt | |
echo "package.namespace = project" >> $HOME/mrbob_answers.txt | |
echo "package.namespace2 =" >> $HOME/mrbob_answers.txt | |
echo "package.name = site" >> $HOME/mrbob_answers.txt | |
echo "package.description = A Dummy package" >> $HOME/mrbob_answers.txt | |
echo "package.git.disabled = True" >> $HOME/mrbob_answers.txt | |
echo "author.name = Philip Bauer" >> $HOME/mrbob_answers.txt | |
echo "author.email = bauer@starzel.de" >> $HOME/mrbob_answers.txt | |
echo "author.github.user = pbauer" >> $HOME/mrbob_answers.txt | |
echo "plone.version = 6.0" >> $HOME/mrbob_answers.txt | |
echo "python.version = 3.12" >> $HOME/mrbob_answers.txt | |
echo "vscode_support = False" >> $HOME/mrbob_answers.txt | |
- name: Install dependencies | |
run: | | |
pip install -r requirements.txt | |
pip install mr.bob==1.0.1 | |
pip install bobtemplates.plone==6.3.1 | |
- name: Prepare and annotate buildout | |
run: | | |
echo -e "[buildout]\nlogin = admin\npassword = admin" > secret.cfg | |
ln -s local_develop.cfg local.cfg | |
buildout -N buildout:download-cache=downloads code-analysis:return-status-codes=True annotate | |
- name: Run buildout | |
run: | | |
buildout -N buildout:download-cache=downloads code-analysis:return-status-codes=True | |
- name: Create addon and re-run buildout | |
run: | | |
mkdir src | |
pip install tox | |
mrbob -O src/project.site --config $HOME/mrbob_answers.txt bobtemplates.plone:addon | |
# add that package to buildout.cfg in eggs, testeggs, auto-checkout and [sources] | |
sed -i'' -e 's/# project.site/ project.site/g' buildout.cfg | |
sed -i'' -e 's/# project.site =/project.site =/g' buildout.cfg | |
# re-run buildout | |
buildout -N buildout:download-cache=downloads code-analysis:return-status-codes=True | |
- name: test | |
run: bin/coverage-test |