Skip to content

Commit

Permalink
Merge remote-tracking branch 'starbase/main' into work/starflow-migra…
Browse files Browse the repository at this point in the history
…tion
  • Loading branch information
bepri committed Feb 11, 2025
2 parents 54b12c1 + daba40f commit 60f38ab
Show file tree
Hide file tree
Showing 22 changed files with 1,358 additions and 23 deletions.
38 changes: 38 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Editor configuration options.
# See: https://spec.editorconfig.org/
root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
max_line_length = 88
trim_trailing_whitespace = true

[.editorconfig]
max_line_length = off

[{Makefile,*.mk}]
indent_style = tab

[{*.py,*.pyi}]
max_line_length = 88

[{*.bash,*.sh,*.zsh}]
indent_size = 2
tab_width = 2

[{*.har,*.json,*.json5}]
indent_size = 2
max_line_length = off

[{*.markdown,*.md,*.rst}]
ij_visual_guides = none

[{*.toml,Cargo.lock,Cargo.toml.orig,Gopkg.lock,Pipfile,poetry.lock}]
max_line_length = off

[{*.yaml,*.yml}]
indent_size = 2
9 changes: 9 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# GitHub CODEOWNERS. See:
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
# Remember, the last match takes precedence.

# Documentation owners
/docs/ @medubelko @canonical/starcraft

# Finally, all CODEOWNERS changes need to be approved by The Man, Himself.
/.github/CODEOWNERS @sergiusens
4 changes: 2 additions & 2 deletions .github/workflows/check-renovate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
with:
node-version: 22
- name: Install renovate
run: npm install --global renovate
run: npm install --global re2 renovate
- name: Enable ssh access
uses: mxschmitt/action-tmate@v3
if: ${{ inputs.enable_ssh_access }}
Expand All @@ -34,7 +34,7 @@ jobs:
- name: Check renovate config
run: renovate-config-validator .github/renovate.json5
- name: Renovate dry-run
run: renovate --dry-run --autodiscover
run: renovate --dry-run=full --autodiscover --print-config
env:
RENOVATE_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RENOVATE_USE_BASE_BRANCH_CONFIG: ${{ github.ref }}
16 changes: 16 additions & 0 deletions .github/workflows/release-drafter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Release Drafter

on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- main

jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
- name: Release Drafter
uses: release-drafter/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
72 changes: 72 additions & 0 deletions .github/workflows/release-publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Release
on:
push:
tags:
# These tags should be protected, remember to enable the rule:
# https://github.com/canonical/starbase/settings/tag_protection
- "[0-9]+.[0-9]+.[0-9]+"

permissions:
contents: write

jobs:
source-wheel:
runs-on: [self-hosted, jammy]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Fetch tag annotations
run: |
# Note: we fetch the tags here instead of using actions/checkout's "fetch-tags"
# because of https://github.com/actions/checkout/issues/1467
git fetch --force --tags --depth 1
git describe --dirty --long --match '[0-9]*.[0-9]*.[0-9]*' --exclude '*[^0-9.]*'
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
check-latest: true
- name: Build packages
run: |
pip install build twine
python3 -m build
twine check dist/*
- name: Upload pypi packages artifact
uses: actions/upload-artifact@v4
with:
name: pypi-packages
path: dist/
pypi:
needs: ["source-wheel"]
runs-on: [self-hosted, jammy, amd64]
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
steps:
- name: Get packages
uses: actions/download-artifact@v4
with:
name: pypi-packages
path: dist/
- name: Publish to pypi
# Note: this action uses PyPI's support for Trusted Publishers
# It needs a configuration on the PyPI project - see:
# https://docs.pypi.org/trusted-publishers/adding-a-publisher/#github-actions
uses: pypa/gh-action-pypi-publish@release/v1
github-release:
needs: ["source-wheel"]
runs-on: [self-hosted, jammy]
steps:
- name: Get pypi artifacts
uses: actions/download-artifact@v4
with:
name: pypi-packages
- name: Release
uses: softprops/action-gh-release@v2
with:
# Generate release notes on the new GH release
generate_release_notes: true
# Add wheel and source tarball
files: |
*.whl
*.tar.gz
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ repos:
- id: fix-byte-order-marker
- id: mixed-line-ending
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.9.3"
rev: "v0.9.5"
hooks:
# Run the linter
- id: ruff
Expand Down
35 changes: 16 additions & 19 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -1,34 +1,31 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
---

# Required
version: 2

submodules:
include:
- docs/sphinx-resources
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py

# Optionally build your docs in additional formats such as PDF
# formats:
# - pdf
# - epub

build:
os: ubuntu-24.04
tools:
python: "3.12"
apt_packages:
- libapt-pkg-dev
jobs:
create_environment:
post_checkout:
- git fetch --tags --unshallow # Also fetch tags
post_system_dependencies:
- asdf plugin add uv
- asdf install uv latest
- asdf global uv latest
create_environment:
- uv venv "${READTHEDOCS_VIRTUALENV_PATH}"
install:
- uv sync --frozen --group docs --group dev-noble
build:
html:
- uv run sphinx-build -T -b dirhtml docs $READTHEDOCS_OUTPUT/html
post_checkout:
- git fetch --tags --unshallow # Also fetch tags
- git describe # Make sure we get a proper version

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
fail_on_warning: true
- UV_PROJECT_ENVIRONMENT="${READTHEDOCS_VIRTUALENV_PATH}" uv sync --frozen --group docs
Empty file added .shellcheckrc
Empty file.
Loading

0 comments on commit 60f38ab

Please sign in to comment.