Skip to content

Commit

Permalink
Adicionando suporte ao python 3.13 nos textos das aulas 1, 10 e 11
Browse files Browse the repository at this point in the history
  • Loading branch information
dunossauro committed Oct 16, 2024
1 parent 113e67a commit 75547f0
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 9 deletions.
10 changes: 9 additions & 1 deletion aulas/01.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,12 @@ Navegue até o diretório onde fará os códigos e exercícios do curso e digite
{%set full_version = "3.12.6" %}
{%set short_version = 3.12 %}
{% include "templates/instalacao.md" %}
=== "Versão 3.13"
{%set full_version = "3.13.0" %}
{%set short_version = 3.13 %}
{% include "templates/instalacao.md" %}

> :warning: Toda a implementação do curso foi feita com o python 3.11 e testada para ser compatível com a versão 3.12. Nesse momento de configuração estão disponíveis as duas versões. Ao decorrer do curso, você pode se deparar com a versão 3.11 fixada no texto. Mas, sinta-se a vontade para alterar para versão 3.12. :warning:
> :warning: Toda a implementação do curso foi feita com o python 3.11 e testada para ser compatível com a versão 3.12 e 3.13. Nesse momento de configuração estão disponíveis as duas versões. Ao decorrer do curso, você pode se deparar com a versão 3.11 fixada no texto. Mas, sinta-se a vontade para alterar para versão 3.12 ou 3.13. :warning:
## Gerenciamento de Dependências com Poetry

Expand Down Expand Up @@ -129,6 +133,10 @@ Ele criará uma estrutura de arquivos e pastas como essa:
{%set full_version = "3.12.3" %}
{%set short_version = 3.12 %}
{% include "templates/poetry.md" %}
=== "Versão 3.13"
{%set full_version = "3.13.0" %}
{%set short_version = 3.13 %}
{% include "templates/poetry.md" %}

Desta forma, temos uma versão do python selecionada para esse projeto e uma garantia que o poetry usará essa versão para a criação do nosso ambiente virtual.

Expand Down
4 changes: 4 additions & 0 deletions aulas/10.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ Aqui está um exemplo de `Dockerfile` para executar nossa aplicação:
{%set full_version = "3.12.3" %}
{%set short_version = 3.12 %}
{% include "templates/dockerfile.md" %}
=== "Versão 3.13"
{%set full_version = "3.13.0" %}
{%set short_version = 3.13 %}
{% include "templates/dockerfile.md" %}

Vamos entender melhor esse último comando:

Expand Down
57 changes: 57 additions & 0 deletions aulas/11.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,21 @@ As configurações dos workflows no GitHub Actions são definidas em um arquivo
with:
python-version: '3.12'
```
=== "Versão 3.13"
```yaml title=".github/workflows/pipeline.yaml" linenums="1"
name: Pipeline
on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-latest

steps:
- name: Instalar o python
uses: actions/setup-python@v5
with:
python-version: '3.13'
```

Basicamente um arquivo de workflow precisa de três componentes essenciais para serem definidos:

Expand Down Expand Up @@ -116,6 +131,14 @@ O único step que definimos é a instalação do Python na versão "3.11":
with:
python-version: '3.12'
```
=== "Versão 3.13"
```yaml linenums="8"
steps:
- name: Instalar o python
uses: actions/setup-python@v5
with:
python-version: '3.13'
```

Nesse momento, se executarmos um commit do arquivo `.github/workflows/pipeline.yaml` e um push em nosso repositório, um workflow será iniciado.

Expand Down Expand Up @@ -198,6 +221,23 @@ Para isso, devemos criar um `step` para cada uma dessas ações no nosso job `te
- name: Executar testes
run: poetry run task test
```
=== "Versão 3.13"
```yaml title=".github/workflows/pipeline.yaml" linenums="8"
steps:
- name: Instalar o python
uses: actions/setup-python@v5
with:
python-version: '3.13'

- name: Instalar o poetry
run: pipx install poetry

- name: Instalar dependências
run: poetry install

- name: Executar testes
run: poetry run task test
```

Para testar essa implementação no Actions, temos que fazer um commit[^1], para executar o trigger do CI:

Expand Down Expand Up @@ -252,6 +292,23 @@ Para solucionar esse problema, adicionaremos um passo antes da execução dos te

# continua com os passos anteriormente definidos
```
=== "Versão 3.13"
```yaml title=".github/workflows/pipeline.yaml" linenums="4" hl_lines="6-7"
jobs:
test:
runs-on: ubuntu-latest

steps:
- name: Copia os arquivos do repositório
uses: actions/checkout@v3

- name: Instalar o python
uses: actions/setup-python@v5
with:
python-version: '3.13'

# continua com os passos anteriormente definidos
```

Para testar a execução desse passo faremos um novo commit para triggar o Actions:

Expand Down
16 changes: 8 additions & 8 deletions aulas/apendices/a_instalacoes.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,26 +48,26 @@ Após isso reinicie o shell para que a variável de ambiente seja carregada.
Agora, com o pyenv instalado, você pode instalar a versão do python que usaremos no curso. Como descrito na [página de configuração do projeto](../01.md#instalacao-do-python){:target="_blank"}:

```shell title="$ Execução no terminal!"
pyenv install 3.12.3
pyenv install 3.13.0
```

A seguinte mensagem deve aparecer na tela:

```{.powershell .no-copy}
:: [Info] :: Mirror: https://www.python.org/ftp/python
:: [Downloading] :: 3.12.3 ...
:: [Downloading] :: From https://www.python.org/ftp/python/3.12.3/python-3.12.3-amd64.exe
:: [Downloading] :: To C:\Users\vagrant\.pyenv\pyenv-win\install_cache\python-3.12.3-amd64.exe
:: [Installing] :: 3.12.3 ...
:: [Info] :: completed! 3.12.3
:: [Downloading] :: 3.13.0 ...
:: [Downloading] :: From https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe
:: [Downloading] :: To C:\Users\vagrant\.pyenv\pyenv-win\install_cache\python-3.13.0-amd64.exe
:: [Installing] :: 3.13.0 ...
:: [Info] :: completed! 3.13.0
```

#### Configurando a versão no pyenv

Agora com versão instalada, devemos dizer ao shim, qual versão será usada globalmente. Podemos executar esse comando:

```shell title="$ Execução no terminal!"
pyenv global 3.12.3
pyenv global 3.13.0
```

Esse comando não costuma exibir nenhuma mensagem em caso de sucesso, se nada foi retornado, significa que tudo ocorreu como esperado.
Expand All @@ -76,7 +76,7 @@ Para testar se a versão foi definida, podemos chamar o python no terminal:

```shell title="$ Execução no terminal!"
python --version
Python 3.12.3 #(1)!
Python 3.13.0 #(1)!
```

1. Responde que a versão correta foi setada!
Expand Down

0 comments on commit 75547f0

Please sign in to comment.