Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
4382b96
Revert "ci: upload failed snapcraft build logs (#736)" (#742)
dimaqq Dec 5, 2025
65e4b48
feat: support forwarding log to syslog via UDP (#732)
jy5275 Dec 8, 2025
a52e12c
ci: upload errors better (#746)
dimaqq Dec 10, 2025
48f85c3
docs: replace redirecting links with the new locations (#749)
Nurysso Dec 10, 2025
d2838bb
ci: temporarily disable ppc64el and s390x snap builds (#748)
dimaqq Dec 11, 2025
5bb95f7
chore: bump Go to the latest 1.24 release (#757)
tonyandrewmeyer Dec 15, 2025
461034f
client: improve error message when pulling non-existent files (#754)
Nurysso Dec 15, 2025
5bd1ef1
ci: configure dependabot to alert about security issues (#758)
tonyandrewmeyer Dec 16, 2025
2afb428
chore(deps): bump actions/setup-python from 5 to 6 (#760)
dependabot[bot] Dec 16, 2025
edeabd9
ci: include ref in snap workflow concurrency group (#738)
Copilot Dec 16, 2025
5669276
chore(deps): bump actions/setup-go from 4 to 6 (#759)
dependabot[bot] Dec 16, 2025
765ef48
chore(deps): bump actions/upload-artifact from 4 to 6 (#761)
dependabot[bot] Dec 16, 2025
05bb511
chore(deps): bump actions/download-artifact from 4 to 7 (#763)
dependabot[bot] Dec 16, 2025
315e57e
chore(deps): bump golangci/golangci-lint-action from 8.0.0 to 9.2.0 (…
dependabot[bot] Dec 16, 2025
659fe65
docs: update the release procedure to include FIPS builds (#764)
dimaqq Dec 17, 2025
f733acf
ci: fix up download-artefact path (#766)
dimaqq Dec 17, 2025
53cf62e
ci: add more debugging when building Go snap to figure out version is…
benhoyt Dec 17, 2025
143fc39
ci: temporarily pause riscv64 snap as well, while builders are broken
benhoyt Dec 17, 2025
df0b6ec
ci: use named artefacts per architecture (#768)
dimaqq Dec 18, 2025
659913c
chore: update version to v1.27.0 for release
benhoyt Dec 18, 2025
5e8c4dd
docs: improve the release steps, separate out FIPS steps (#772)
benhoyt Dec 18, 2025
cc8a147
ci: move cluttery files out of root directory (#773)
benhoyt Dec 18, 2025
1aa4cc3
docs: fix spelling and use better formatting/wording in places (#775)
dwilding Dec 26, 2025
3405acc
chore(deps): bump tiobe/tics-github-action from 3.4.0 to 3.7.0 (#778)
dependabot[bot] Jan 1, 2026
1eae140
chore(deps): bump actions/checkout from 2 to 6 (#777)
dependabot[bot] Jan 4, 2026
3302bd0
refactor: move identities code out of state package (#744)
benhoyt Jan 5, 2026
00aaceb
ci: enable new spelling check by updating doc starter pack (#774)
dwilding Jan 5, 2026
4847313
refactor: simplify identity types, move API code to daemon package (#…
benhoyt Jan 7, 2026
15c9735
Merge branch 'master' into merge-identities-refactor
benhoyt Jan 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
2 changes: 1 addition & 1 deletion .github/workflows/binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v6
with:
fetch-depth: 0

Expand Down
47 changes: 22 additions & 25 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -1,42 +1,39 @@
#
name: Docs

on:
push:
branches:
- main
- master
pull_request:
workflow_call:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}

jobs:
docchecks:
name: Checks
runs-on: ubuntu-22.04
outputs:
linkcheck-result: ${{ steps.linkcheck-step.outcome }}
docs-spelling:
name: Spelling
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Python
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Links
id: linkcheck-step
if: success() || failure()
uses: canonical/documentation-workflows/linkcheck@main
- name: Check spelling
run: make -C docs spelling

docs-linkcheck:
name: Links
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
working-directory: docs
- name: Markdown lint
id: markdown-step
if: success() || failure()
uses: DavidAnson/markdownlint-cli2-action@v16
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v6
with:
config: "docs/.sphinx/.markdownlint.json"
python-version: "3.12"
- name: Check links
run: make -C docs linkcheck
2 changes: 1 addition & 1 deletion .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
name: tests

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Go
uses: actions/setup-go@v6
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6

- uses: actions/setup-go@v6
with:
Expand All @@ -32,7 +32,7 @@ jobs:
staticcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6

- uses: actions/setup-go@v6
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sbom-secscan.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ jobs:
scan:
runs-on: [self-hosted, self-hosted-linux-amd64-jammy-private-endpoint-medium]
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
persist-credentials: false
- name: sbomber
uses: canonical/sbomber/.github/actions/run@cf7a76e810497ec932e8285b2c9d6b373d225e79 # main -- and sbomber-ref input should match
with:
manifest: '${{ github.workspace }}/.sbomber-manifest-snap.yaml'
manifest: '${{ github.workspace }}/.github/.sbomber-manifest-snap.yaml'
artifact-name: secscan-report-upload-snap
sbomber-ref: cf7a76e810497ec932e8285b2c9d6b373d225e79
2 changes: 1 addition & 1 deletion .github/workflows/scanning.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v6

- name: Run Github Trivy FS Action
uses: aquasecurity/trivy-action@master
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/snap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
if: github.event_name == 'pull_request'
steps:
- name: Checkout Pebble repo
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0

Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
arch: ["amd64", "arm64", "armhf"]
steps:
- name: Checkout Pebble repo
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:

name: Unit tests
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6

- name: Set up Go
uses: actions/setup-go@v6
Expand All @@ -29,7 +29,7 @@ jobs:

name: Root Tests
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6

- name: Set up Go
uses: actions/setup-go@v6
Expand All @@ -45,7 +45,7 @@ jobs:

name: Format check
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6

- name: Set up Go
uses: actions/setup-go@v6
Expand All @@ -66,7 +66,7 @@ jobs:

name: Automated docs check
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v6
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tiobe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
TICS:
runs-on: [self-hosted, reactive, amd64, tiobe, noble]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
persist-credentials: false

Expand All @@ -36,7 +36,7 @@ jobs:
gocov-xml < coverage.json > .coverage/coverage.xml

- name: TICS GitHub Action
uses: tiobe/tics-github-action@009979693978bfefad2ad15c1020066694968dc7 # 3.4.0
uses: tiobe/tics-github-action@768de18bedf164ee461bc9ef5e2f2fa1a20b122a # 3.7.0
with:
mode: qserver
viewerUrl: https://canonical.tiobe.com/tiobeweb/TICS/api/cfg?name=GoProjects
Expand Down
28 changes: 19 additions & 9 deletions HACKING.md
Original file line number Diff line number Diff line change
Expand Up @@ -281,17 +281,27 @@ Recommended tone:

## Creating a release

To create a new tagged release, go to the [GitHub Releases page](https://github.com/canonical/pebble/releases) and:
When releasing, you need to release the `master` branch and the `fips` branch.

- Update `Version` in `cmd/version.go` to the version you're about to publish, for example `v1.9.0`, open a pull request, have it reviewed and merged into the `master` branch.
- Open a pull request to merge the `master` branch into the `fips` branch, resolve any conflicts, and have it reviewed and merged.
- Click ["Draft a new release"](https://github.com/canonical/pebble/releases/new).
- Enter the version tag (for example `v1.9.0`) and select "Create new tag: on publish".
Binaries will be created and uploaded automatically to this release by the [binaries.yml](https://github.com/canonical/pebble/blob/master/.github/workflows/binaries.yml) GitHub Action. In addition, a new Snap version is built and uploaded to the [Snap Store](https://snapcraft.io/pebble) (but promotion to `stable` is a manual step).

Follow these steps:

### Main release (master branch)

- Update `Version` in `cmd/version.go` to the version you're about to publish, for example `v1.27.0`, open a pull request, have it reviewed and merged into the `master` branch.
- [Draft a new GitHub release](https://github.com/canonical/pebble/releases/new).
- Enter the version tag (for example `v1.27.0`) and select "Create new tag: on publish".
- Enter a release title: include the version tag and a short summary of the release.
- Write release notes: describe new features and bug fixes, and include a link to the full list of commits.
- Click "Publish release".
- Likewise, publish a FIPS release (for example `v1.9.0-fips`) targeting the tip of the `fips` branch.
- Once the release GitHub Actions have finished, and the new [Snap](https://snapcraft.io/pebble) has been successfully built, update `Version` again to `v1.{next}.0-dev` (for example `v1.10.0-dev`).
- Find the security scan artifact on the 'SBOM and secscan' run corresponding the pushing the release tag, and upload it to the [SSDLC Pebble folder in Drive](https://drive.google.com/drive/folders/11WR629JFPJ8IMPI0kcsNp_qdf39c6no3). Open the artifact and verify that the security scan has not found any vulnerabilities.
- Monitor the release [GitHub Actions](https://github.com/canonical/pebble/actions) and check that the [snap](https://snapcraft.io/pebble) is uploaded correctly.
- If you're confident it's a compatible release, [promote the `candidate` snap to `stable`](https://snapcraft.io/pebble/releases).
- Find the security scan artifact on the corresponding [SBOM and secscan](https://github.com/canonical/pebble/actions/workflows/sbom-secscan.yaml) run, and upload it to the [SSDLC Pebble folder in Drive](https://drive.google.com/drive/folders/11WR629JFPJ8IMPI0kcsNp_qdf39c6no3). Open the artifact and verify that the security scan has not found any vulnerabilities.

### FIPS release (fips branch)

Binaries will be created and uploaded automatically to this release by the [binaries.yml](https://github.com/canonical/pebble/blob/master/.github/workflows/binaries.yml) GitHub Actions job. In addition, a new Snap version is built and uploaded to the [Snap Store](https://snapcraft.io/pebble).
- Open a pull request to merge the `master` branch into the `fips` branch, resolve any conflicts, and have it reviewed and merged.
- Open a second PR on the `fips` branch to bump the `Version` in `cmd/version.go` to the FIPS version, for example `v1.27.0-fips`, and have it reviewed and merged.
- Publish a FIPS GitHub release (for example `v1.27.0-fips`) targeting the tip of the `fips` branch.
- As with the main release, monitor the release [GitHub Actions](https://github.com/canonical/pebble/actions), check that the FIPS snap is uploaded, and promote it to stable.
15 changes: 15 additions & 0 deletions docs/.custom_wordlist.txt
Original file line number Diff line number Diff line change
@@ -1 +1,16 @@
# Leave a blank line at the end of this file to support concatenation
backoff
boolean
Drepper
idempotently
liveness
mkdir
ns
runit
replan
subcommands
supervisord
systemd
UIDs
Ulrich
Utils
21 changes: 0 additions & 21 deletions docs/.sphinx/.markdownlint.json

This file was deleted.

23 changes: 0 additions & 23 deletions docs/.sphinx/.pre-commit-config.yaml

This file was deleted.

Loading
Loading