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
57
New GitHub Features
Sobolev Nikita
June 13, 2021
Tweet
Share
More Decks by Sobolev Nikita
See All by Sobolev Nikita
PythoNN – Александр Гончаров
sobolevn
0
46
PythoNN – Андрей Пронин
sobolevn
0
84
PythoNN: Василий Рябов – "Парсинг бинарных данных с помощью ctypes, или пишем на питоне как на Си"
sobolevn
0
190
GitHub Planet - OpenSource
sobolevn
0
230
Polymorphism and Typeclasses
sobolevn
2
130
Problems of static analysis in Python
sobolevn
0
120
Announcing typed-linter
sobolevn
0
220
About GitHub Stars
sobolevn
0
180
Typing Django
sobolevn
0
270
Other Decks in Programming
See All in Programming
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
10
1.4k
SRE、開発、QAが協業して挑んだリリースプロセス改革@SRE Kaigi 2025
nealle
1
3.3k
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
230
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
140
rails newと同時に型を書く
aki19035vc
6
750
最近のVS Codeで気になるニュース 2025/01
74th
1
240
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
140
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
190
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
3.7k
AWSマネコンに複数のアカウントで入れるようになりました
yuhta28
2
150
[Fin-JAWS 第38回 ~re:Invent 2024 金融re:Cap~]FaultInjectionServiceアップデート@pre:Invent2024
shintaro_fukatsu
0
360
Оптимизируем производительность блока Казначейство
lamodatech
0
990
Featured
See All Featured
Scaling GitHub
holman
459
140k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
We Have a Design System, Now What?
morganepeng
51
7.4k
GitHub's CSS Performance
jonrohan
1030
460k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
Designing for humans not robots
tammielis
250
25k
Building Your Own Lightsaber
phodgson
104
6.2k
Navigating Team Friction
lara
183
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Visualization
eitanlees
146
15k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
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