Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
New GitHub Features
Search
Sobolev Nikita
June 13, 2021
Programming
0
37
New GitHub Features
Sobolev Nikita
June 13, 2021
Tweet
Share
More Decks by Sobolev Nikita
See All by Sobolev Nikita
PythoNN – Александр Гончаров
sobolevn
0
29
PythoNN – Андрей Пронин
sobolevn
0
55
PythoNN: Василий Рябов – "Парсинг бинарных данных с помощью ctypes, или пишем на питоне как на Си"
sobolevn
0
150
GitHub Planet - OpenSource
sobolevn
0
190
Polymorphism and Typeclasses
sobolevn
2
100
Problems of static analysis in Python
sobolevn
0
93
Announcing typed-linter
sobolevn
0
190
About GitHub Stars
sobolevn
0
160
Typing Django
sobolevn
0
240
Other Decks in Programming
See All in Programming
PLoP 2024: The evolution of the microservice architecture pattern language
cer
PRO
0
1.1k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
0
210
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
120
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
310
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
4
150
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
370
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
430
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
2
1.6k
外部システム連携先が10を超えるシステムでのアーキテクチャ設計・実装事例
kiwasaki
1
170
のびしろを広げる巻き込まれ力:偶然を活かすキャリアの作り方/oso2024
takahashiikki
1
350
EventSourcingの理想と現実
wenas
5
2k
JaSST 24 九州:ワークショップ(は除く)実践!マインドマップを活用したソフトウェアテスト+活用事例
satohiroyuki
0
170
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
328
21k
How to train your dragon (web standard)
notwaldorf
88
5.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
9
670
Fireside Chat
paigeccino
32
3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.1k
Transcript
Никита Соболев github.com/sobolevn
>_ X GitHub Actions
Задача: прогоним линтер для Python проекта
None
name: Python package on: [push] jobs: build: runs-on: ubuntu-latest strategy:
max-parallel: 4 matrix: python-version: [2.7, 3.5, 3.6, 3.7] steps: # ...
name: Python package on: [push] jobs: build: runs-on: ubuntu-latest strategy:
max-parallel: 4 matrix: python-version: [2.7, 3.5, 3.6, 3.7] steps: # ...
name: Python package on: [push] jobs: build: runs-on: ubuntu-latest strategy:
max-parallel: 4 matrix: python-version: [2.7, 3.5, 3.6, 3.7] steps: # ...
name: Python package on: [push] jobs: build: runs-on: ubuntu-latest strategy:
max-parallel: 4 matrix: python-version: [2.7, 3.5, 3.6, 3.7] steps: # ...
Подготовка
name: Python package # ... steps: - uses: actions/checkout@v1 -
name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -r requirements.txt
name: Python package # ... steps: - uses: actions/checkout@v1 -
name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -r requirements.txt
name: Python package # ... steps: - uses: actions/checkout@v1 -
name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -r requirements.txt
name: Python package # ... steps: - uses: actions/checkout@v1 -
name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -r requirements.txt matrix: python-version: [2.7, 3.5, 3.6, 3.7]
name: Python package # ... steps: - uses: actions/checkout@v1 -
name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -r requirements.txt
name: Python package # ... steps: - uses: actions/checkout@v1 -
name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | pip install -r requirements.txt
Подготовились. Проверяем!
name: Python package # ... steps: # ... - name:
Lint with wemake-python-styleguide run: | pip install flake8 flake8 . - name: Test with pytest run: | pip install pytest pytest
name: Python package # ... steps: # ... - name:
Lint with wemake-python-styleguide run: | pip install flake8 flake8 . - name: Test with pytest run: | pip install pytest pytest
None
None
None
None
Создай свое
Dockerfile
github.com/wemake- services/wemake- python-styleguide
Но есть и готовые фреймворки
Готовые npm компоненты
Готовые npm компоненты > @actions/core
Готовые npm компоненты > @actions/core > @actions/exec
Готовые npm компоненты > @actions/core > @actions/exec > @actions/io
Готовые npm компоненты > @actions/core > @actions/exec > @actions/io >
@actions/tool-cache
Готовые npm компоненты > @actions/core > @actions/exec > @actions/io >
@actions/tool-cache > @actions/github
🚀
github.com/sobolevn/ restrict-cursing- action
sobolevn.me/talks/devoops-2019
Внимание! Новинки!
permissions: actions: read|write|none checks: read|write|none contents: read|write|none deployments: read|write|none issues:
read|write|none packages: read|write|none pull-requests: read|write|none repository-projects: read|write|none security-events: read|write|none statuses: read|write|none GITHUB_TOKEN
Deploy Environments
None
None
>_ X GitHub Container Registry
None
>_ X GitHub Codespaces
Позволяет запустить VSCode прям в браузере
Очень удобно для определенного класса задач
None
None
None
Удобство 1: папка .devcontainer/
{ "name": "HypothesisWorks/hypothesis", "image": "python:3.8-slim-buster", "settings": { "python.pythonPath": "${workspaceFolder}/.venv/bin/python3", },
// After container is created, we install all the requirements, // and show what commands there are in our own tooling: "postCreateCommand": "apt-get update && apt-get install -y make", }
Удобство 2: синхронизация настроек
Удобство 3: репозиторий dotfiles
None
github.com/sobolevn/ dotfiles
>_ X GitHub Issue Forms
У всех была вечная проблема: пользователи игнорировали все, что можно
было игнорировать
None
None
Скоро будет доступно для всех ;)
>_ X GitHub Discussions
Не каждый issue представляет собой ошибку или задачу
Иногда мы хотим просто задать вопрос или обсудить что-то
None
None
None
>_ X GitHub Sponsors
Удобный способ поддержать ваш любимый open-source проект
None
None
sobolevn.me Вопросы? github.com/sobolevn