Skip to content

chore(deps): update python docker tag to v3.12 #216

chore(deps): update python docker tag to v3.12

chore(deps): update python docker tag to v3.12 #216

name: Test and make release
on:
push:
branches:
- master
paths-ignore:
- 'docs/**'
- '*.rst'
- '*.md'
pull_request:
paths-ignore:
- 'docs/**'
- '*.rst'
- '*.md'
env:
POETRY_VIRTUALENVS_CREATE: true
POETRY_VIRTUALENVS_IN_PROJECT: true
jobs:
template_test_all_unit_test_options:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install tools (Poetry)
uses: Gr1N/setup-poetry@v4
- name: Get full python version
id: full-python-version
shell: bash
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
- name: Set up cache
uses: actions/cache@v2
id: cache
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-test-${{ hashFiles('**/poetry.lock') }}
- name: Complete CI/CD setup
run: make setup-cicd
- name: Install template generation dependencies
run: make install-template-generation-dependencies
- name: Instantiate template and run generated project's tests
run: make test-generated-project
template_bdd_all_cli_options:
runs-on: ubuntu-latest
strategy:
matrix:
option: [cli-cleo, cli-click, cli-none]
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install tools (Poetry)
uses: Gr1N/setup-poetry@v4
- name: Get full python version
id: full-python-version
shell: bash
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
- name: Set up cache
uses: actions/cache@v2
id: cache
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-bdd-${{ hashFiles('**/poetry.lock') }}
- name: Complete CI/CD setup
run: make setup-cicd
- name: Install template generation dependencies
run: make install-template-generation-dependencies
- name: Instantiate template and run generated project's bdd tests
run: make bdd-generated-project OPTION=${{ matrix.option }}
template_format_all_options:
runs-on: ubuntu-latest
strategy:
matrix:
option: [cli-cleo, cli-click, cli-none, pytest]
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install tools (Poetry)
uses: Gr1N/setup-poetry@v4
- name: Get full python version
id: full-python-version
shell: bash
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
- name: Set up cache
uses: actions/cache@v2
id: cache
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-format-${{ hashFiles('**/poetry.lock') }}
- name: Complete CI/CD setup
run: make setup-cicd
- name: Install template generation dependencies
run: make install-template-generation-dependencies
- name: Instantiate template and run generated project's format checks
run: make format-generated-project OPTION=${{ matrix.option }}
template_lint_default_options:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install tools (Poetry)
uses: Gr1N/setup-poetry@v4
- name: Get full python version
id: full-python-version
shell: bash
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
- name: Set up cache
uses: actions/cache@v2
id: cache
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-lint-${{ hashFiles('**/poetry.lock') }}
- name: Complete CI/CD setup
run: make setup-cicd
- name: Install template generation dependencies
run: make install-template-generation-dependencies
- name: Instantiate template and run generated project's lint checks
run: make lint-generated-project
template_type_default_options:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install tools (Poetry)
uses: Gr1N/setup-poetry@v4
- name: Get full python version
id: full-python-version
shell: bash
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
- name: Set up cache
uses: actions/cache@v2
id: cache
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-type-${{ hashFiles('**/poetry.lock') }}
- name: Complete CI/CD setup
run: make setup-cicd
- name: Install template generation dependencies
run: make install-template-generation-dependencies
- name: Instantiate template and run generated project's type checks
run: make type-generated-project
semantic_release:
needs:
- template_test_all_unit_test_options
- template_bdd_all_cli_options
- template_format_all_options
- template_lint_default_options
- template_type_default_options
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
steps:
- uses: actions/checkout@v2
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v2
with:
semantic_version: 17.0.4
extra_plugins: |
@semantic-release/changelog@"^5.0.1"
@semantic-release/git@"^9.0.0"
@semantic-release/github@"^7.0.5"
env:
GITHUB_TOKEN: ${{ secrets.SELF_SET_GITHUB_TOKEN }}
GIT_AUTHOR_NAME: ${{ secrets.GIT_NAME }}
GIT_AUTHOR_EMAIL: ${{ secrets.GIT_EMAIL }}
GIT_COMMITTER_NAME: ${{ secrets.GIT_NAME }}
GIT_COMMITTER_EMAIL: ${{ secrets.GIT_EMAIL }}