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
87
New GitHub Features
Sobolev Nikita
June 13, 2021
Tweet
Share
More Decks by Sobolev Nikita
See All by Sobolev Nikita
Михаил Гурбанов – Are you NATS? @ PythoNN
sobolevn
0
55
Дмитрий Бровкин – Почему исправление опечаток сложнее, чем кажется, и как мы с этим српавляемся @ PythoNN
sobolevn
0
32
Алексей Гончарук – Современный веб с темлейтами @ PythoNN
sobolevn
0
110
Алексей Голобурдин – Демистификация PostgreSQL-индексов @ PythoNN
sobolevn
0
140
PythoNN – Александр Гончаров
sobolevn
0
65
PythoNN – Андрей Пронин
sobolevn
0
120
PythoNN: Василий Рябов – "Парсинг бинарных данных с помощью ctypes, или пишем на питоне как на Си"
sobolevn
0
250
GitHub Planet - OpenSource
sobolevn
0
270
Polymorphism and Typeclasses
sobolevn
2
170
Other Decks in Programming
See All in Programming
AWS Summit Japan 2024と2025の比較/はじめてのKiro、今あなたは岐路に立つ
satoshi256kbyte
1
260
構造化・自動化・ガードレール - Vibe Coding実践記 -
tonegawa07
0
160
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
15
3.4k
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
3
300
React 使いじゃなくても知っておきたい教養としての React
oukayuka
18
4.7k
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
4
720
Amazon Q CLI開発で学んだAIコーディングツールの使い方
licux
3
130
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
2
1.5k
Android 16KBページサイズ対応をはじめからていねいに
mine2424
0
820
構文解析器入門
ydah
7
1.9k
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
250
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Making Projects Easy
brettharned
117
6.3k
Speed Design
sergeychernyshev
32
1k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Producing Creativity
orderedlist
PRO
346
40k
Done Done
chrislema
185
16k
How GitHub (no longer) Works
holman
314
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Six Lessons from altMBA
skipperchong
28
3.9k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
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