Skip to content

Commit

Permalink
added ci/cd
Browse files Browse the repository at this point in the history
  • Loading branch information
jhnnsrs committed Jan 31, 2024
1 parent 46c7212 commit 9afe0bb
Show file tree
Hide file tree
Showing 4 changed files with 167 additions and 0 deletions.
29 changes: 29 additions & 0 deletions .github/workflows/docker-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Container Build

on:
push:
branches: [master]


jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
platforms: linux/amd64,linux/arm64
push: true
tags: jhnnsrs/mikro:latest
29 changes: 29 additions & 0 deletions .github/workflows/docker-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Tests
on:
push:
branches: [master]
pull_request:
branches: [master]


jobs:
linux_unit:
strategy:
fail-fast: false
matrix:
python-version: [ "3.12"]
poetry-version: [1.7]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- name: Run image
uses: abatilo/actions-poetry@v2.0.0
with:
poetry-version: ${{ matrix.poetry-version }}
- name: Run Poetry Install
run: poetry install --all-extras
- name: Run Tests
run: poetry run pytest --cov --cov-report=xml -k "not integration"

38 changes: 38 additions & 0 deletions .github/workflows/pages.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Deploy to GitHub Pages

on:
push:
branches: [master]
paths: [website/**]

jobs:
deploy:
name: Deploy to GitHub Pages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14.x
cache: yarn
cache-dependency-path: website/yarn.lock
- name: Build website
working-directory: website
run: |
yarn install --frozen-lockfile
yarn build
# Popular action to deploy to GitHub Pages:
# Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# Build output to publish to the `gh-pages` branch:
publish_dir: ./website/build
# Assign commit authorship to the official GH-Actions bot for deploys to `gh-pages` branch:
# https://github.com/actions/checkout/issues/13#issuecomment-724415212
# The GH actions bot is used by default if you didn't specify the two fields.
# You can swap them out with your own user credentials.
user_name: github-actions[bot]
user_email: 41898282+github-actions[bot]@users.noreply.github.com
71 changes: 71 additions & 0 deletions .github/workflows/quality.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Python Code Quality and Style Check
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
ruff:
strategy:
fail-fast: false
matrix:
python-version: ["3.11"]
poetry-version: [1.4]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Run image
uses: abatilo/actions-poetry@v2.0.0
with:
poetry-version: ${{ matrix.poetry-version }}
- name: Run Poetry Install
run: poetry install
- name: Run Ruff
run: poetry run ruff .
mypy:
strategy:
fail-fast: false
matrix:
python-version: ["3.11"]
poetry-version: [1.4]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Run image
uses: abatilo/actions-poetry@v2.0.0
with:
poetry-version: ${{ matrix.poetry-version }}
- name: Run Poetry Install
run: poetry install
- name: Run Mypy
run: poetry run mypy .
black:
strategy:
fail-fast: false
matrix:
python-version: ["3.11"]
poetry-version: [1.4]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Run image
uses: abatilo/actions-poetry@v2.0.0
with:
poetry-version: ${{ matrix.poetry-version }}
- name: Run Poetry Install
run: poetry install
- name: Run black
run: poetry run black --check .

0 comments on commit 9afe0bb

Please sign in to comment.