Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: canonical/snapcraft
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 8.6.0
Choose a base ref
...
head repository: canonical/snapcraft
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Jan 20, 2023

  1. Initial commit

    lengau authored Jan 20, 2023
    Copy the full SHA
    b36b88c View commit details

Commits on Jan 25, 2023

  1. Copy the full SHA
    23aa1a7 View commit details
  2. Copy the full SHA
    552c132 View commit details
  3. Copy the full SHA
    9a0cae5 View commit details
  4. Copy the full SHA
    f676cdc View commit details
  5. Better comment

    lengau committed Jan 25, 2023
    Copy the full SHA
    70a1551 View commit details

Commits on Jan 26, 2023

  1. tools: Configure mypy (#6)

    lengau authored Jan 26, 2023
    Copy the full SHA
    229ee11 View commit details
  2. Copy the full SHA
    63fc646 View commit details
  3. docs: Basic sphinx docs

    lengau committed Jan 26, 2023
    Copy the full SHA
    605bec2 View commit details
  4. Copy the full SHA
    28bb9d8 View commit details
  5. Merge remote-tracking branch 'origin/integration-test' into integrati…

    …on-test
    
    # Conflicts:
    #	tox.ini
    lengau committed Jan 26, 2023
    Copy the full SHA
    4d76e9f View commit details
  6. tools: Make typing use an editable install

    Most static checks don't need the code to be installed at all, but type checking can require the code and its dependencies.
    lengau committed Jan 26, 2023
    Copy the full SHA
    a59bb4d View commit details
  7. Merge pull request #14 from lengau/pyright

    tools: Make typing use an editable install
    lengau authored Jan 26, 2023
    Copy the full SHA
    b715342 View commit details
  8. Merge pull request #13 from lengau/integration-test

    tests: Ensure coverage gets per-environment filenames
    lengau authored Jan 26, 2023
    Copy the full SHA
    7e30bab View commit details
  9. Configure sphinx-lint

    Done the same way as in rockcraft
    
    Co-authored-by: Tiago Nobrega <tiago.nobrega@canonical.com>
    lengau and tigarmo authored Jan 26, 2023
    Copy the full SHA
    77b955b View commit details
  10. Merge pull request #12 from lengau/sphinx

    docs: Basic sphinx docs
    lengau authored Jan 26, 2023
    Copy the full SHA
    08a1e8d View commit details
  11. chore(tools): Make pyproject.toml exclude rather than include

    Rather than statically declaring the project to be "starcraft" all over the place, prefer excluding directories.
    lengau committed Jan 26, 2023
    Copy the full SHA
    f2f804d View commit details
  12. Merge pull request #15 from lengau/auto-find

    chore(tools): Make pyproject.toml exclude rather than statically include
    lengau authored Jan 26, 2023
    Copy the full SHA
    283c21e View commit details

Commits on Jan 28, 2023

  1. Copy the full SHA
    067df32 View commit details
  2. Copy the full SHA
    f3e23e3 View commit details
  3. Copy the full SHA
    bcadedb View commit details
  4. Merge pull request #19 from canonical/renovate/tox-4.x

    chore(deps): update dependency tox to v4.4.2
    lengau authored Jan 28, 2023
    Copy the full SHA
    84cc930 View commit details
  5. Merge pull request #17 from canonical/renovate/github-actions

    chore(deps): update release-drafter/release-drafter action to v5.22.0
    lengau authored Jan 28, 2023
    Copy the full SHA
    97ca903 View commit details
  6. Copy the full SHA
    1a08aca View commit details
  7. Merge pull request #16 from canonical/renovate/patch-updates

    chore(deps): update dependency tox-ignore-env-name-mismatch to v0.2.0.post2
    lengau authored Jan 28, 2023
    Copy the full SHA
    cc3957c View commit details

Commits on Jan 30, 2023

  1. Merge pull request #18 from canonical/renovate/pytest-7.x

    chore(deps): update dependency pytest to v7.2.1
    lengau authored Jan 30, 2023
    Copy the full SHA
    eb5a438 View commit details

Commits on Feb 1, 2023

  1. lint: specify a single ruff version (#21)

    Ensure that ruff only gets updated by renovate or explicitly in PRs. This will prevent random CI breakages until ruff is stable.
    lengau authored Feb 1, 2023
    Copy the full SHA
    0f3d7d0 View commit details
  2. tools: add yamllint (#11)

    lengau authored Feb 1, 2023
    Copy the full SHA
    5a0d09f View commit details
  3. Copy the full SHA
    9c1ea2a View commit details
  4. chore(lint): update ruff and config (#22)

    New ignore: Too many arguments on test functions
    
    * chore(lint): Ruff autofixes for new pylint
    lengau authored Feb 1, 2023
    Copy the full SHA
    f3d35a6 View commit details

Commits on Feb 3, 2023

  1. Copy the full SHA
    cd2832b View commit details
  2. docs: use Ubuntu font

    tigarmo authored and sergiusens committed Feb 3, 2023
    Copy the full SHA
    130845c View commit details
  3. Copy the full SHA
    ec396df View commit details
  4. tools: add sphinx-autobuild

    tigarmo authored and sergiusens committed Feb 3, 2023
    Copy the full SHA
    34e0222 View commit details
  5. tools: rename sphinx-build and rundocs

    Rename them to docs-build and docs-autobuild (respectively). This is to
    keep consistent with the other tox environments, which use the
    <category>- prefix grouping.
    tigarmo authored and sergiusens committed Feb 3, 2023
    Copy the full SHA
    dbd1b1d View commit details

Commits on Feb 5, 2023

  1. chore(deps): update dependency setuptools to v67 (#26)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 5, 2023
    Copy the full SHA
    8abb221 View commit details
  2. chore(deps): update patch updates (#25)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 5, 2023
    Copy the full SHA
    4b3781b View commit details

Commits on Feb 6, 2023

  1. Copy the full SHA
    679c20f View commit details

Commits on Feb 13, 2023

  1. Copy the full SHA
    2aaed7e View commit details
  2. Copy the full SHA
    f4774ed View commit details
  3. chore(deps): update dependency setuptools to v67.2.0 (#30)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 13, 2023
    Copy the full SHA
    3ea924f View commit details

Commits on Feb 14, 2023

  1. chore(deps): update patch updates (#29)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 14, 2023
    Copy the full SHA
    2c6d0ba View commit details

Commits on Feb 17, 2023

  1. lint(shellcheck): replace find with git ls-files (#33)

    Signed-off-by: Callahan Kovacs <callahankovacs@gmail.com>
    mr-cal authored Feb 17, 2023
    Copy the full SHA
    a0e2622 View commit details
  2. Copy the full SHA
    2390266 View commit details
  3. lint: skip more commonly ignored files and directories with codespell (

    …#35)
    
    .direnv, .venv, venv, and .vscode are now skipped.
    
    Signed-off-by: Callahan Kovacs <callahankovacs@gmail.com>
    mr-cal authored Feb 17, 2023
    Copy the full SHA
    ee3c053 View commit details

Commits on Feb 19, 2023

  1. chore(deps): update dependency mypy to v1 (#39)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 19, 2023
    Copy the full SHA
    d9c79f0 View commit details
  2. chore(deps): update dependency ruff to v0.0.247 (#37)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 19, 2023
    Copy the full SHA
    867bb8f View commit details
  3. chore(deps): update dependency black to v23 (#38)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 19, 2023
    Copy the full SHA
    821339b View commit details
  4. chore(deps): update dependency setuptools to v67.3.2 (#36)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 19, 2023
    Copy the full SHA
    6b9719a View commit details
  5. Copy the full SHA
    cf1d018 View commit details
Showing 481 changed files with 14,264 additions and 7,822 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
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/bug.yaml
Original file line number Diff line number Diff line change
@@ -62,4 +62,3 @@ body:
id: additional-context
attributes:
label: Additional context

6 changes: 3 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
- [ ] Have you followed the [guidelines for contributing](https://github.com/canonical/snapcraft/blob/main/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `tox run -m lint`?
- [ ] Have you successfully run `tox run -e test-py310`? (supported versions: `py39`, `py310`, `py311`, `py312`)
- [ ] Have you successfully run `make lint`?
- [ ] Have you successfully run `make test`?

-----
---
4 changes: 2 additions & 2 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -15,10 +15,10 @@ categories:
- title: "Tooling"
label:
- "tooling"
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
template: |
Special thanks to the contributors that made this release happen: $CONTRIBUTORS
## Full list of changes
$CHANGES
20 changes: 10 additions & 10 deletions .github/spread-problem-matcher.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"problemMatcher": [
"problemMatcher": [
{
"owner": "spread-error",
"pattern": [
{
"owner": "spread-error",
"pattern": [
{
"regexp": "^\\d+-\\d+-\\d+ \\d+:\\d+:\\d+ ((Error) (preparing|executing|restoring) .+) : .*$",
"message": 1,
"severity": 2
}
]
"regexp": "^\\d+-\\d+-\\d+ \\d+:\\d+:\\d+ ((Error) (preparing|executing|restoring) .+) : .*$",
"message": 1,
"severity": 2
}
]
]
}
]
}
6 changes: 3 additions & 3 deletions .github/workflows/check-renovate.yaml
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ on:
inputs:
enable_ssh_access:
type: boolean
description: 'Enable ssh access'
description: "Enable ssh access"
required: false
default: false

@@ -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 }}
@@ -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 }}
9 changes: 0 additions & 9 deletions .github/workflows/cla-check.yaml

This file was deleted.

22 changes: 22 additions & 0 deletions .github/workflows/policy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Check policy
on:
pull_request:
push:
branches:
- main
- hotfix/*
- work/check-policy # For development

jobs:
policy:
uses: canonical/starflow/.github/workflows/policy.yaml@main
python-scans:
name: Security scan
uses: canonical/starflow/.github/workflows/scan-python.yaml@main
with:
# 1. requirements-noble.txt can't build on jammy
# 2. Ignore requirements files in spread tests, as some of these intentionally
# contain vulnerable versions.
# 3. Docs contain requirements.txt files that don't specify versions.
requirements-find-args: '! -name requirements-noble.txt ! -path "./tests/spread*" ! -path "./docs/**"'
trivy-extra-args: "--severity HIGH,CRITICAL --ignore-unfixed --skip-dirs tests/spread/"
9 changes: 7 additions & 2 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: CI

on:
on:
pull_request:
push:
branches:
@@ -10,7 +10,12 @@ on:

jobs:
publish:
runs-on: ubuntu-latest
strategy:
matrix:
runner:
- [self-hosted, amd64]
- [self-hosted, arm64]
runs-on: ${{ matrix.runner }}
steps:
- name: Decision to Publish
id: decisions
24 changes: 24 additions & 0 deletions .github/workflows/qa.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: QA
on:
push:
branches:
- "main"
- "feature/*"
- "hotfix/*"
- "release/*"
- "renovate/*"
pull_request:

jobs:
lint:
uses: canonical/starflow/.github/workflows/lint-python.yaml@main
test:
uses: canonical/starflow/.github/workflows/test-python.yaml@main
with:
# Snapcraft currently only tests on Python 3.12 on Ubuntu 24.04
fast-test-platforms: '["ubuntu-24.04"]'
slow-test-platforms: '["ubuntu-24.04"]'
lowest-python-platform: "ubuntu-24.04"
fast-test-python-versions: '["3.12"]'
slow-test-python-versions: '["3.12"]'
lowest-python-version: "3.12"
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/release-drafter@v6.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23 changes: 23 additions & 0 deletions .github/workflows/release-publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
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:
github-release:
runs-on: [self-hosted]
steps:
- name: Create a Prerelease
uses: softprops/action-gh-release@v2
with:
# Generate release notes on the new GH release
generate_release_notes: true
# Mark this new release as a pre-release, to be marked manually
# as the latest stable release later.
prerelease: true
17 changes: 0 additions & 17 deletions .github/workflows/security-scan.yaml

This file was deleted.

51 changes: 49 additions & 2 deletions .github/workflows/spread-scheduled.yaml
Original file line number Diff line number Diff line change
@@ -31,7 +31,7 @@ jobs:
strategy:
fail-fast: false
matrix:
type: [craft-parts, v2]
type: [plugins/craft-parts, plugins/v2]
steps:
- name: Cleanup job workspace
run: |
@@ -49,7 +49,7 @@ jobs:
path: tests
- name: Kernel plugin test
run: |
spread google:ubuntu-22.04-64:tests/spread/plugins/${{ matrix.type }}/kernel
spread google:ubuntu-22.04-64:tests/spread/${{ matrix.type }}/kernel
remote-build:
runs-on: [spread-installed]
@@ -78,3 +78,50 @@ jobs:
google:ubuntu-22.04-64:tests/spread/core22/remote-build \
google:ubuntu-24.04-64:tests/spread/core24/remote-build \
google:fedora-39-64:tests/spread/core24/remote-build:no_platforms
matter-sdk:
runs-on: [spread-installed]
needs: [snap-build]
steps:
- name: Cleanup job workspace
run: |
rm -rf "${{ github.workspace }}"
mkdir "${{ github.workspace }}"
- name: Checkout snapcraft
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- name: Download snap artifact
uses: actions/download-artifact@v4
with:
name: snap
path: tests
- name: matter-sdk test
run: |
spread google:ubuntu-22.04-64:tests/spread/core24-suites/plugins/matter-sdk
colcon-plugins:
runs-on: [spread-installed]
needs: [snap-build]
steps:
- name: Cleanup job workspace
run: |
rm -rf "${{ github.workspace }}"
mkdir "${{ github.workspace }}"
- name: Checkout snapcraft
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- name: Download snap artifact
uses: actions/download-artifact@v4
with:
name: snap
path: tests
- name: colcon plugin test
run: |
spread google:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-hello \
google:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-msg-package \
google:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-packages-ignore \
google:ubuntu-22.04-64:tests/spread/core24-suites/plugins/colcon-talker-listener
36 changes: 23 additions & 13 deletions .github/workflows/tics.yaml
Original file line number Diff line number Diff line change
@@ -3,13 +3,13 @@ name: TICS
on:
push:
branches:
- main
# to easy test changes to the workflow
- tiobe
- main
# to easy test changes to the workflow
- tiobe

jobs:
CI:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -22,22 +22,32 @@ jobs:
sudo apt-get update
echo "::endgroup::"
echo "::group::apt-get install..."
sudo apt-get install -y python3 python3-dev libapt-pkg-dev libyaml-dev xdelta3 patchelf
sudo apt-get install -y python3 python3-dev libapt-pkg-dev libyaml-dev umoci
echo "::endgroup::"
echo "::group::pip install"
python -m pip install 'tox<5.0' tox-gh
echo "::group::snap install"
sudo snap install --classic astral-uv
echo "::endgroup::"
echo "::group::install requirements"
uv sync --frozen --group dev
echo "::endgroup::"
- name: Setup Tox environment
run: tox --workdir /tmp/tox run-parallel --parallel auto --parallel-no-spinner --parallel-live --colored yes -e test-all-py310 --notest
- name: Install project
run: |
python -m pip install -e .
- name: Test with tox
run: tox --workdir /tmp/tox run --skip-pkg-install --result-json results/tox-py310.json --colored yes -e test-all-py310
- name: Run coverage
run: |
make test-coverage
- name: Upload test results
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: test-results-ubuntu-24.04
path: results/

- name: Run TICS analysis
uses: tiobe/tics-github-action@v3
env:
PATH: "/tmp/tox/test-all-py310/bin:/snap/bin:/home/runner/.local/bin:/home/runner/.cargo/bin:/bin:/usr/bin:/usr/local/bin:"
with:
mode: qserver
project: snapcraft
Loading