Skip to content

fix(ci): Updated python version and fixed alpine build #603

fix(ci): Updated python version and fixed alpine build

fix(ci): Updated python version and fixed alpine build #603

Workflow file for this run

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', '3.12' ]
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.11 (MacOS)
steps:
- name: Setup docker
uses: docker-practice/actions-setup-docker@master
with:
docker_version: "24.0"
docker_channel: "stable"
- name: Setup python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.1'
- 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.11 (Windows)
steps:
- name: Setup python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- 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.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- 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.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- 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: "24.0"
docker_channel: "stable"
- name: Setup python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- 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.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- 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.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- 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.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- 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 }}