1+ name : Create and upload release
2+
3+ on :
4+ push :
5+ tags :
6+ - ' v*'
7+
8+ jobs :
9+ test-linux :
10+ runs-on : ubuntu-latest
11+ strategy :
12+ max-parallel : 5
13+
14+ steps :
15+ - uses : actions/checkout@v4
16+
17+ - name : Set up Python 3.11.2
18+ uses : actions/setup-python@v3
19+ with :
20+ python-version : ' 3.11.2'
21+
22+ - name : Add conda to system path
23+ run : |
24+ # $CONDA is an environment variable pointing to the root of the miniconda directory
25+ echo $CONDA/bin >> $GITHUB_PATH
26+
27+ - name : Install dependencies
28+ run : |
29+ conda env update --file environment.yaml
30+
31+ - name : Lint with flake8
32+ run : |
33+ conda install flake8
34+ # stop the build if there are Python syntax errors or undefined names
35+ flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
36+ # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
37+ flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
38+
39+ - name : Test with pytest
40+ run : |
41+ source activate bemol
42+ pytest tests/ -vvs
43+ # store the latest run results as release artifact
44+ zip -r pytest-results.zip tests/results/
45+
46+ - name : Create Release
47+ id : create_release
48+ uses : actions/create-release@v1
49+ with :
50+ tag_name : ${{ github.ref_name }}
51+ release_name : ${{ github.ref_name }}
52+ body : " Automated release."
53+ draft : false
54+ prerelease : false
55+ env :
56+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
57+
58+ - name : Upload to Release
59+ uses : actions/upload-release-asset@v1
60+ with :
61+ upload_url : ${{ steps.create_release.outputs.upload_url }}
62+ asset_path : pytest-results.zip
63+ asset_name : pytest-results.zip
64+ asset_content_type : application/zip
65+ env :
66+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments