fix(cookiecutter): pin cookiecutter version because VERSION.txt is no… #594
Workflow file for this run
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: build | |
on: | |
push: ~ | |
pull_request: ~ | |
jobs: | |
ci-linux: | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
runs-on: ubuntu-latest | |
name: Python ${{ matrix.python-version }} (Linux) | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [ '3.7', '3.8', '3.9', '3.10', '3.11' ] | |
steps: | |
- name: Setup docker | |
uses: docker-practice/actions-setup-docker@master | |
with: | |
docker_channel: "stable" | |
- name: Setup python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Git User config | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "github-actions" | |
- name: Install YTT | |
run: | | |
mkdir -p $HOME/bin | |
curl -fLo $HOME/bin/ytt https://github.com/vmware-tanzu/carvel-ytt/releases/download/v0.31.0/ytt-linux-amd64 | |
echo "$HOME/bin" >> $GITHUB_PATH | |
chmod +x $HOME/bin/ytt | |
- name: Check YTT version | |
run: | | |
ytt --version | |
- name: Install Dependencies | |
run: pip install -e .[dev] | |
- name: Pylint | |
run: pylint ddb | |
- name: Pytest (Coverage) | |
run: | | |
pytest --cov=ddb | |
- name: Codecov | |
uses: codecov/codecov-action@v3 | |
ci-macos: | |
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
# Tests needs to be fixed. | |
if: false | |
runs-on: macos-latest | |
continue-on-error: true | |
name: Python 3.8 (MacOS) | |
steps: | |
- name: Setup docker | |
uses: docker-practice/actions-setup-docker@master | |
with: | |
docker_version: "20.10" | |
docker_channel: "stable" | |
- name: Setup python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Git User config | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "github-actions" | |
- name: Install YTT | |
run: | | |
mkdir -p $HOME/bin | |
curl -fLo $HOME/bin/ytt https://github.com/vmware-tanzu/carvel-ytt/releases/download/v0.31.0/ytt-darwin-amd64 | |
echo "$HOME/bin" >> $GITHUB_PATH | |
chmod +x $HOME/bin/ytt | |
- name: Check YTT version | |
run: | | |
ytt --version | |
- name: Install Dependencies | |
run: pip install -e .[dev] | |
- name: Pylint | |
run: pylint ddb | |
- name: Pytest (Coverage) | |
run: | | |
pytest --cov=ddb | |
- name: Codecov | |
uses: codecov/codecov-action@v3 | |
ci-windows: | |
# if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
# Tests needs to be fixed. | |
if: false | |
runs-on: windows-latest | |
continue-on-error: true | |
name: Python 3.8 (Windows) | |
steps: | |
- name: Setup python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Git User config | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "github-actions" | |
- name: Install YTT | |
run: | | |
mkdir "$HOME\bin" | |
curl -fLo "$HOME\bin\ytt.exe" https://github.com/vmware-tanzu/carvel-ytt/releases/download/v0.31.0/ytt-windows-amd64.exe | |
echo "$HOME\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
ls "$HOME\bin" | |
- name: Check YTT version | |
run: | | |
ytt --version | |
- name: Install Dependencies | |
run: | | |
pip install -e .[dev] | |
- name: Pylint | |
run: pylint ddb | |
- name: Pytest (Coverage) | |
run: | | |
pytest --cov=ddb -m "not docker" | |
- name: Codecov | |
uses: codecov/codecov-action@v3 | |
commitlint: | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: wagoid/commitlint-github-action@v5 | |
build-setuptools-linux: | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
needs: [ ci-linux ] | |
runs-on: ubuntu-latest | |
name: Build (Linux Setuptools) | |
steps: | |
- name: Setup python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Git User config | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "github-actions" | |
- name: Install Dependencies | |
run: | | |
pip install -e .[dev] | |
- name: Bump version | |
run: semantic-release -v DEBUG version | |
- name: Build | |
run: python setup.py sdist bdist_wheel | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ddb-python | |
path: ./dist | |
build-bin-linux: | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
needs: [ ci-linux ] | |
runs-on: ubuntu-latest | |
name: Build (Linux Binary) | |
steps: | |
- name: Setup python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Git User config | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "github-actions" | |
- name: Install Dependencies | |
run: | | |
pip install -e .[dev] | |
- name: Bump version | |
run: semantic-release -v DEBUG version | |
- name: Binary | |
run: pyinstaller --dist ./dist ddb.spec | |
- uses: actions/upload-artifact@v3 | |
if: matrix.regex == '0' | |
with: | |
name: ddb-bin-linux | |
path: ./dist | |
build-bin-alpine: | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
needs: [ ci-linux ] | |
runs-on: ubuntu-latest | |
name: Build (Alpine Binary) | |
steps: | |
- name: Setup docker | |
uses: docker-practice/actions-setup-docker@master | |
with: | |
docker_version: "20.10" | |
docker_channel: "stable" | |
- name: Setup python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Git User config | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "github-actions" | |
- name: Install python-semantic-release | |
run: pip install "python-semantic-release<8" | |
- name: Bump version | |
run: semantic-release -v DEBUG version | |
- name: Build in alpine container | |
run: docker build -f .build/Dockerfile.builder.alpine . -t ddb-builder-alpine | |
- name: Binary | |
run: | | |
mkdir -p ./dist | |
id=$(docker create ddb-builder-alpine) | |
docker cp "$id:/usr/local/bin/ddb" ./dist/ddb | |
docker rm -v $id | |
- uses: actions/upload-artifact@v3 | |
if: matrix.regex == '0' | |
with: | |
name: ddb-bin-alpine | |
path: ./dist | |
build-bin-windows: | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
# needs: [ci-windows] | |
runs-on: windows-latest | |
name: Build (Windows) | |
steps: | |
- name: Setup python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Git User config | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "github-actions" | |
- name: Install Dependencies | |
run: | | |
pip install -e .[dev] | |
- name: Bump version | |
run: semantic-release -v DEBUG version | |
- name: Binary | |
run: pyinstaller --dist .\dist ddb.spec | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ddb-bin-windows | |
path: ./dist | |
build-bin-macos: | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
# needs: [ci-macos] | |
runs-on: macos-latest | |
name: Build (MacOS) | |
steps: | |
- name: Setup python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Git User config | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "github-actions" | |
- name: Install Dependencies | |
run: | | |
pip install -e .[dev] | |
- name: Bump version | |
run: semantic-release -v DEBUG version | |
- name: Binary | |
run: pyinstaller --dist ./dist ddb.spec | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ddb-bin-macos | |
path: ./dist | |
release: | |
if: github.ref == 'refs/heads/master' && github.event_name == 'push' | |
needs: [ commitlint, build-setuptools-linux, build-bin-linux, build-bin-windows, build-bin-macos, build-bin-alpine ] | |
runs-on: ubuntu-latest | |
name: Release | |
steps: | |
- name: Setup python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.8' | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Git User config | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "github-actions" | |
- uses: actions/download-artifact@v3 | |
with: | |
path: artifacts | |
- name: Copy artifacts to ./dist | |
run: | | |
mkdir -p ./dist | |
mv artifacts/ddb-bin-linux/ddb ./dist/ddb-linux | |
mv artifacts/ddb-bin-alpine/ddb ./dist/ddb-alpine | |
mv artifacts/ddb-bin-macos/ddb ./dist/ddb-macos | |
mv artifacts/ddb-bin-windows/ddb.exe ./dist/ddb-windows.exe | |
mv artifacts/ddb-python/* ./dist | |
- name: Install python-semantic-release | |
run: pip install "python-semantic-release<8" | |
- name: Publish release | |
run: semantic-release -v DEBUG publish | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | |
- name: Merge master to develop | |
uses: robotology/[email protected] | |
with: | |
stable_branch: 'master' | |
development_branch: 'develop' | |
allow_ff: true | |
user_name: github-actions | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |