Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2224 commits
Select commit Hold shift + click to select a range
34f4e71
ci: Group log lines of llvm-symbolizer installation
adombeck Dec 10, 2025
9a9b4e0
autopkgtest: Run go tests without -v
adombeck Dec 10, 2025
2906bea
Check if user is busy before changing its UID
adombeck Dec 11, 2025
cda292b
authctl: Add argument completion
adombeck Dec 10, 2025
cd09a7e
testlog: Fix duplicate newlines
adombeck Dec 16, 2025
b653c79
tests: Improve logging of bubblewrap commands
adombeck Dec 16, 2025
e1c9f2d
tests: Improve logging when building authd and authctl
adombeck Dec 16, 2025
2268213
tests: Improve logging of authctl tests
adombeck Dec 16, 2025
a7734a8
authctl: Tell authd which language to return warnings in
adombeck Dec 19, 2025
c72c467
Revert "ci: Install and load apparmor-profiles"
adombeck Jan 18, 2026
b921853
ci/build-deb: Allow the build-deb action to use sudo
adombeck Feb 3, 2026
95d637c
fileutils: Pass structs to ChownRecursiveFrom
adombeck Feb 3, 2026
92a4f32
tests: Pass TESTS_UPDATE_GOLDEN to bubblewrap tests
adombeck Feb 3, 2026
afacaee
db: Hold mutex when updating the database
adombeck Feb 4, 2026
cba7144
authctl: Print colored warnings and errors
adombeck Feb 4, 2026
14c4e61
Use single quotes in user-visible messages
adombeck Feb 4, 2026
a2fd573
Improve warning messages
adombeck Feb 4, 2026
458df49
authctl: Print info messages when UID/GID changed
adombeck Feb 4, 2026
1464dbd
authctl: Print message about manually updating ownership
adombeck Feb 4, 2026
2ed2359
fileutils: Return error in ChownRecursiveFrom if all args are nil
adombeck Feb 10, 2026
7dd4884
Add `authctl user set-uid` command (#1087)
adombeck Feb 10, 2026
839799f
authctl: Use cobra's Example field
adombeck Jan 5, 2026
896b48e
authctl: Move root command to separate package
adombeck Jan 5, 2026
417a554
authctl: Add docgen tool
adombeck Jan 5, 2026
ef08120
authctl: Improve set-uid and set-gid description
adombeck Jan 6, 2026
ff77ab8
authctl: Disable "auto generated by cobra" line
adombeck Jan 6, 2026
a5f4004
authctl: Add "long" descriptions for lock and unlock commands
adombeck Jan 6, 2026
bbc6e25
docs: Add generate.go
adombeck Jan 5, 2026
5515d11
docs: Add "authctl" to wordlist
adombeck Jan 6, 2026
0a3787e
docs: Suppress warnings relating to headers
adombeck Jan 6, 2026
70892ec
Update cmd/authctl/user/set-uid.go
adombeck Jan 7, 2026
a06287f
Update cmd/authctl/group/set-gid.go
adombeck Jan 7, 2026
0fe17eb
authctl: Fix grammar of lock/unlock command description
adombeck Jan 7, 2026
33718ac
docs: Generate CLI docs
adombeck Jan 5, 2026
70145ae
docs: Link to CLI docs on reference page
adombeck Jan 6, 2026
3409bc3
authctl: Fix tests testing negative UID/GID
adombeck Feb 10, 2026
0f1e87b
debian/rules: Exclude docgen from package build
adombeck Feb 10, 2026
275a3a7
Add authctl docs (#1179)
adombeck Feb 10, 2026
d1df1ea
provider: Only use verified email as username (#1249)
adombeck Feb 11, 2026
f40fcbe
snap: Fix variants/ dir from the config part being copied to snap roo…
adombeck Feb 11, 2026
7310a04
Update bug report template (#1258)
adombeck Feb 12, 2026
f6824e5
fix: print device login URL only once and improve labels
nooreldeenmansour Feb 10, 2026
c11a555
debian/rules: Specify Go packages to build
adombeck Feb 12, 2026
cd88387
tools/generate-proto.sh: Improve log message
adombeck Feb 12, 2026
1b9ea6b
Fix device login URL being printed twice (#1255)
adombeck Feb 12, 2026
9093673
snap: Work around snap build issue with Go plugin
adombeck Feb 13, 2026
f6e6335
snap: Use consistent formatting
adombeck Feb 13, 2026
60aef88
snap: Also avoid build failure of version part in google and msentraid
adombeck Feb 13, 2026
b45ac41
docs: add `extra_scopes` in broker configuration
nooreldeenmansour Feb 11, 2026
c0a7d27
docs: update broken cloud-init link
nooreldeenmansour Feb 13, 2026
38f0390
docs: add `extra_scopes` in broker configuration (#1260)
adombeck Feb 13, 2026
e274d07
deps(brokers/go): bump the minor-updates group across 1 directory wit…
dependabot[bot] Feb 13, 2026
a3d319c
snap: Work around snap build issue with Go plugin (#1265)
adombeck Feb 18, 2026
375ba72
debian/rules: Specify Go packages to build (#1264)
adombeck Feb 18, 2026
cfab2aa
Test the SetUserID method of the user service
adombeck Feb 18, 2026
9bb2a83
deps(ci): bump actions/cache from 4 to 5 in the gh-actions group
dependabot[bot] Feb 19, 2026
200e1de
Test the SetGroupID method of the user service
adombeck Feb 18, 2026
8bd1262
Test non-root users in methods of user service
adombeck Feb 18, 2026
2017806
refactor: Rename GetManagerDB -> DBManager
adombeck Feb 18, 2026
1c81dc1
Test unexpected DB errors in user service methods
adombeck Feb 18, 2026
796027e
ci: Don't run e2e-tests if only files relevant for Go tests changed
adombeck Feb 18, 2026
e9a41d7
deps(brokers/go): bump the minor-updates group across 1 directory wit…
adombeck Feb 20, 2026
759dcc0
deps(ci): bump actions/cache from 4 to 5 in the gh-actions group (#1240)
adombeck Feb 20, 2026
b773395
deps(brokers/go): bump github.com/microsoftgraph/msgraph-sdk-go
dependabot[bot] Feb 20, 2026
1b9436e
deps(brokers/go): bump github.com/microsoftgraph/msgraph-sdk-go from …
adombeck Feb 23, 2026
b89a945
Increase Go test coverage (#1271)
adombeck Feb 23, 2026
ec566bd
fix: use max of GIDMax and UIDMax when checking generated GID upper b…
shiv-tyagi Feb 23, 2026
5d663c1
fix: use max of GIDMax and UIDMax when checking generated GID upper b…
adombeck Feb 24, 2026
36d323d
Print Device Authorization Response in debug message
adombeck Feb 20, 2026
9241692
Print Device Authorization Response in debug message (#1286)
adombeck Feb 24, 2026
0c213ef
ci/build-deb: Make lintian fail on all issues
adombeck Feb 9, 2026
0e7c1f2
debian/copyright: Fix license issues
adombeck Feb 9, 2026
e1a52d6
debian/control: Remove redundant Rules-Requires-Root field
adombeck Feb 9, 2026
6725443
debian/source/options: Exclude docs from source
adombeck Feb 9, 2026
06d7c88
debian/lintian-overrides: Static-Built-Using is a valid field
adombeck Feb 9, 2026
f3be41e
debian/lintian-overrides: "Unknwon" is not a typo
adombeck Feb 9, 2026
50a879f
debian/lintian-overrides: We don't have a manpage for authctl yet
adombeck Feb 10, 2026
9b1b425
debian: Update copyright file
adombeck Feb 11, 2026
4719efe
ci/build-deb: Verbose lintian output
adombeck Feb 13, 2026
03495d0
ci: Ignore silent-on-rules-requiring-root on Noble and Plucky
adombeck Feb 13, 2026
6b7e9f2
Add scripts/generate-vendored-copyright
adombeck Feb 16, 2026
c7416f2
debian/copyright: Regenerate with generate-vendored-copyright
adombeck Feb 17, 2026
54fc5a2
debian/lrc.config: Add more false positives
adombeck Feb 17, 2026
9e70e83
ci/build-deb: Run licenserecon
adombeck Feb 17, 2026
e07a25a
debian/copyright: Update copyright year for our code
adombeck Feb 17, 2026
2a915d9
debian/copyright: Use consistent format for copyright
adombeck Feb 17, 2026
67e5382
debian/source/lintian-overrides: Ignore missing copyright holder
adombeck Feb 17, 2026
53576e1
Cargo.toml: Exclude unwanted files from vendored crates
adombeck Feb 19, 2026
f3be70f
debian/lrc.config: Remove unnecessary lines
adombeck Feb 19, 2026
b8dfa05
debian/copyright: Update after excluding files from vendored crates
adombeck Feb 19, 2026
10dce97
autopkgtest: Skip bubblewrap tests
adombeck Feb 20, 2026
40417e0
Fix autopkgtest
adombeck Feb 24, 2026
9b6c46d
Revert "autopkgtest: Skip bubblewrap tests"
adombeck Feb 24, 2026
60f11e9
generate-vendored-copyright: Add SPDX license identifier
adombeck Feb 24, 2026
ae2f0e4
Allow login for user with group named same as a system group
shiv-tyagi Feb 25, 2026
795e661
Allow login for user with group named same as a system group (#1285)
adombeck Feb 25, 2026
db13917
Fix issues reported by lintian (#1253)
adombeck Feb 26, 2026
48d12c1
Merge branch 'main' into release-0.5.8
adombeck Feb 26, 2026
6925080
Release 0.5.8 (#1289)
adombeck Feb 26, 2026
618e28a
deps(submodule): bump authd-oidc-brokers/third_party/libhimmelblau fr…
adombeck Feb 26, 2026
9694026
Fix provision-ubuntu.sh
adombeck Feb 26, 2026
2a85aa4
ci: Skip build-deb workflow if only e2e-tests changed
adombeck Feb 26, 2026
37ad754
authctl: Improve the description
adombeck Feb 10, 2026
e077539
authctl: Consistent positional arguments
adombeck Feb 10, 2026
4c45dea
authctl: Generate man page
adombeck Feb 10, 2026
9e9c341
debian/manpages: Add the authctl man page
adombeck Feb 10, 2026
bf3a6fd
debian/lintian-overrides: Remove no-manual-page override for authctl
adombeck Feb 26, 2026
9e98093
ci: Skip build-deb workflow if only e2e-tests changed (#1292)
adombeck Feb 26, 2026
d8b2cc6
man/authctl: Use default manual section
adombeck Feb 26, 2026
0316c9b
authctl: Generate man page (#1259)
adombeck Feb 26, 2026
6e4c5dc
Fix provision-ubuntu.sh (#1291)
adombeck Feb 27, 2026
2a6e75a
snap/scripts/version: Fix failure when no tag is found
adombeck Feb 27, 2026
0f3680c
snap/scripts/version: Update for usage in monorepo
adombeck Feb 27, 2026
b2c46dc
Explain how to update golden files if they don't match
adombeck Feb 25, 2026
fa8406a
Improve comment
adombeck Feb 25, 2026
00325ef
Explain how to update golden files if they don't match (#1287)
adombeck Feb 27, 2026
151b8e5
snap/scripts/version: Update for usage in monorepo (#1295)
adombeck Feb 27, 2026
219b9b3
snap/scripts/prepare-variant: Use heredoc
adombeck Mar 3, 2026
983042a
snap/scripts/prepare-variant: Explain --copy better
adombeck Mar 3, 2026
9f885d2
snap/scripts/prepare-variant: Support --help
adombeck Mar 3, 2026
8c3a047
snap/scripts/prepare-variant: Remove duplicate 'set -x'
adombeck Mar 3, 2026
baa1cab
Minor improvements to `snap/scripts/prepare-variant` (#1299)
adombeck Mar 3, 2026
bcd59b2
man/authctl: Fix date format
adombeck Mar 3, 2026
888f3f6
authctl: Avoid regenerating man page if only date changed
adombeck Mar 3, 2026
b42620f
authctl: Improve log messages when generating documentation
adombeck Mar 3, 2026
a392314
authctl: Avoid regenerating man page if only date changed (#1301)
adombeck Mar 3, 2026
332c769
ci: Fix unnecessary token permissions
adombeck Mar 2, 2026
1045455
ci/e2e-tests: Publish HTML log and report on GitHub Pages
adombeck Feb 2, 2026
6355aeb
Redact secrets in the HTML log and report
adombeck Feb 24, 2026
b06dc76
Improve syntax on the workflow file
denisonbarbosa Mar 3, 2026
2afc203
Fix "Update packaging branch" step
denisonbarbosa Mar 3, 2026
47597e8
Fix "Build debian packages" workflow (#1256)
denisonbarbosa Mar 4, 2026
ace4f8e
ci/e2e-tests: Publish HTML log and report on GitHub Pages (#1236)
adombeck Mar 4, 2026
e857a7e
Remove unnecessary inputs to actions/checkout
denisonbarbosa Mar 4, 2026
e087b4d
Use default fetch-depth
denisonbarbosa Mar 4, 2026
55473c8
Improvements to build-deb workflow (#1304)
adombeck Mar 4, 2026
df5b222
e2e-tests/vm/provision-authd.sh: Support installing local deb and snap
adombeck Feb 26, 2026
409e752
ci/build-deb: Improve name
adombeck Feb 27, 2026
ec1576a
ci/build-deb: Update path filter list
adombeck Feb 27, 2026
6f0fecf
ci/build-deb: Remove redundant step name
adombeck Feb 27, 2026
1063b3f
ci/e2e-tests: Include run attempt in test result artifact name
adombeck Mar 2, 2026
c39f020
ci: Cache Debian package and sources
adombeck Mar 3, 2026
2701311
ci/e2e-tests: Rename 'release' -> 'ubuntu-version'
adombeck Mar 3, 2026
25d04ae
ci/e2e-tests: Test deb and snap built from current branch
adombeck Feb 27, 2026
03d8b09
ci: Clean up OCI artifacts
adombeck Mar 3, 2026
341888f
e2e-tests: Install authd and broker built from the branch (#1293)
adombeck Mar 5, 2026
a29678d
docs: add section about building brokers
shiv-tyagi Mar 6, 2026
d16541f
docs: add section about building brokers (#1302)
adombeck Mar 6, 2026
1a000ce
deps(submodule): bump authd-oidc-brokers/third_party/libhimmelblau
dependabot[bot] Mar 6, 2026
553cbd9
brokers: Bump Rust toolchain version to 1.94.0
adombeck Mar 9, 2026
5576f3f
deps(submodule): bump authd-oidc-brokers/third_party/libhimmelblau fr…
adombeck Mar 9, 2026
c80d98e
e2e-tests: Record an actual video of the test VM
adombeck Mar 5, 2026
1572898
e2e-tests/vm: Set VNC share policy to "force-shared"
adombeck Mar 5, 2026
60ce905
e2e-tests: Log videos in the failing test case
adombeck Mar 5, 2026
b11fe78
e2e-tests: Improve video titles
adombeck Mar 5, 2026
d80a21b
e2e-tests: Avoid logging video on stdout
adombeck Mar 5, 2026
cb4ceee
e2e-tests: Make YARF not log videos
adombeck Mar 6, 2026
6403014
ci/e2e-tests: Retry creation of commit status
adombeck Mar 6, 2026
dda78ab
ci/e2e-tests: Improve name of step
adombeck Mar 6, 2026
b8e328a
ci/e2e-tests: Print result of creating commit status
adombeck Mar 6, 2026
65702f3
ci/e2e-tests: Create annotation with link to logs
adombeck Mar 6, 2026
7c4dbc2
ci/e2e-tests: Improve name of artifact
adombeck Mar 10, 2026
099d614
e2e-tests: Fix test testing invalid broker issuer
adombeck Mar 3, 2026
b5e9771
e2e-tests: Fix Microsoft device login URL
adombeck Mar 5, 2026
09150cb
e2e-tests: Print stderr of browser_login.py
adombeck Mar 7, 2026
bb28b1a
e2e-tests: Use larger text in GDM
adombeck Mar 7, 2026
4dfb81f
e2e-tests: Fix redacted password interpreted as HTML tag
adombeck Mar 9, 2026
56bf277
e2e-tests: Avoid logging secrets
adombeck Mar 9, 2026
b748620
e2e-tests: Remove code to redact secrets from test output
adombeck Mar 9, 2026
09318d7
e2e-tests: Fix regex matching Google user code
adombeck Mar 9, 2026
baa5807
e2e-tests: Handle spaces in Google user code
adombeck Mar 9, 2026
de813c0
e2e-test: Fix invalid line in override.conf
adombeck Mar 9, 2026
fd6a77d
e2e-tests: Make 'Run Command' keyword more robust
adombeck Mar 9, 2026
f6da76e
e2e-tests/vm: Hide login banner
adombeck Mar 10, 2026
3a59562
e2e-tests: Store videos in suite output dir
adombeck Mar 10, 2026
f2435f5
e2e-tests: Also print stderr if subprocess times out
adombeck Mar 10, 2026
fd4e314
e2e-tests: Increase timeout of add-apt-repository
adombeck Mar 10, 2026
2dd83ea
ci/e2e-tests: Uploads logs to Cloudflare R2
adombeck Mar 10, 2026
8a649d2
Bump Go toolchain version to 1.25.8
adombeck Mar 10, 2026
da2132b
e2e-tests: Add r2 worker to serve HTML log files
adombeck Mar 10, 2026
d97b985
ci/e2e-tests: Add a link to the parent directory to the HTML logs
adombeck Mar 10, 2026
61b2887
ci: Install oras via Go
adombeck Mar 10, 2026
acb3fc6
ci: Fix trailing whitespace
adombeck Mar 10, 2026
6a01e7d
ci: Add setup-oras GitHub Action
adombeck Mar 10, 2026
dcc6f41
e2e-tests: Bump timeout waiting for Google 2FA page
adombeck Mar 10, 2026
5694ba8
Bump Go toolchain version to 1.25.8 (#1309)
adombeck Mar 11, 2026
615fe9a
e2e-tests: Fix only first video visible in test message
adombeck Mar 10, 2026
48b3303
e2e-tests: Extract Common Test Setup and Common Test Teardown
adombeck Mar 10, 2026
8d55e95
e2e-tests: Set Ubuntu version and broker as suite metadata
adombeck Mar 10, 2026
20f903b
e2e-tests: Avoid raising confusing second exception
adombeck Mar 10, 2026
bdc8eed
e2e-tests: Print videos in deterministic order
adombeck Mar 11, 2026
ad2f9cb
Fix e2e test cases (#1303)
adombeck Mar 11, 2026
a3eda4c
deps(ci): bump the gh-actions group with 3 updates
dependabot[bot] Mar 11, 2026
2cb802c
ci: Complete the drop of Plucky
adombeck Mar 11, 2026
89c12ed
ci: Remove unused output run-id
adombeck Mar 11, 2026
3ffc799
ci: Avoid build-deb workflows being cancelled
adombeck Mar 11, 2026
2137890
ci: Minor improvements to setup-oras action
adombeck Mar 11, 2026
cff7302
ci: Fix leftover usage of oras-project/setup-oras
adombeck Mar 11, 2026
fd44cc3
ci: Fix OCI artifact cleanup
adombeck Mar 12, 2026
cfe66ff
ci: Fix OCI artifact cleanup (#1318)
adombeck Mar 12, 2026
9cf5987
ci: Complete the drop of Plucky (#1314)
adombeck Mar 12, 2026
5c490e2
ci: Avoid build-deb workflows being cancelled (#1315)
adombeck Mar 12, 2026
024edaf
ci: Fix OCI artifact cleanup (second try)
adombeck Mar 13, 2026
9f7523d
ci: Fix OCI artifact cleanup (second try) (#1322)
adombeck Mar 16, 2026
99ff019
Add python cache dirs to gitignore
denisonbarbosa Feb 12, 2026
2d29a58
Fix logic for optional arguments in helper
denisonbarbosa Mar 2, 2026
4bbfd49
Use predictable homedir for tests that migrate dbs
denisonbarbosa Mar 12, 2026
1e97b8e
Update username logic in TestNativeAuthenticate
denisonbarbosa Mar 12, 2026
2e1b0ec
Update tests to use FQDN usernames
denisonbarbosa Mar 12, 2026
a038b41
Use FQDN usernames in the tests (#1296)
denisonbarbosa Mar 16, 2026
589bcf3
Merge branch 'main' into dependabot/github_actions/gh-actions-741ce528cb
adombeck Mar 16, 2026
adffb3f
ci: Fix setup-oras action used before checkout
adombeck Mar 11, 2026
6e75b01
debian: Print cargo and cargo-vendor-filterer version
adombeck Mar 11, 2026
3528223
debian/source/options: Exclude unneeded directories
adombeck Mar 12, 2026
19c97d1
Cargo.toml: Fix usage of wildcards in exclude-crate-paths
adombeck Mar 16, 2026
bbe014c
Cargo.toml: Exclude Cargo.toml.orig file from vendored dirs
adombeck Mar 11, 2026
a7de0c6
debian/source/options: Don't exclude files from vendor_rust
adombeck Mar 16, 2026
9a9a89c
debian/changelog: Fix day of week of 0.5.8 release
adombeck Mar 16, 2026
57aedf9
ci/debian-build: Ignore Lintian pedantic complaints
adombeck Mar 16, 2026
4890df2
ci/debian-build: Drop now unneeded workaround
adombeck Mar 16, 2026
fe21104
Fix Lintian issues on Resolute (#1326)
adombeck Mar 16, 2026
1a9c1da
deps(ci): bump the gh-actions group with 3 updates (#1305)
adombeck Mar 17, 2026
94a79f9
ci: Fix Update packaging branch
adombeck Mar 17, 2026
1a25cf2
ci: Fix Update packaging branch (#1333)
adombeck Mar 17, 2026
d2749fa
Merge remote-tracking branch 'origin/stable'
adombeck Mar 17, 2026
9500e8f
debian/tests/run-tests.sh: Explain why we skip some tests
adombeck Mar 16, 2026
eca49e0
autopkgtests: Skip flaky tests
adombeck Mar 16, 2026
922af84
pam/integration-tests: Move check about skipping test to test function
adombeck Mar 17, 2026
6c5ce87
autopkgtests: Skip flaky tests (#1331)
adombeck Mar 17, 2026
0b0c5ef
chore(lint): exclude gosec G101 rule for test files
nooreldeenmansour Mar 16, 2026
1531ea1
chore(lint): exclude gosec G703 rule for test files
nooreldeenmansour Mar 16, 2026
9647af5
chore(lint): add package comments
nooreldeenmansour Mar 16, 2026
cbbf545
chore(lint): remove unused nolint directive
nooreldeenmansour Mar 16, 2026
d73e68b
chore(lint): fix context cancellation errors
nooreldeenmansour Mar 16, 2026
2e37a7e
chore(lint): suppress integer overflow conversion errors
nooreldeenmansour Mar 16, 2026
a0226d0
chore(lint): fix gosec G204 errors
nooreldeenmansour Mar 16, 2026
2a74a07
chore(lint): suppress gosec G122 errors
nooreldeenmansour Mar 16, 2026
d746f61
chore(lint): suppress gosec G702 errors
nooreldeenmansour Mar 16, 2026
5a6090e
chore(lint): fix gosec G705 error
nooreldeenmansour Mar 16, 2026
7c0887e
chore(lint): suppress gosec G120 errors
nooreldeenmansour Mar 16, 2026
e728a97
deps(brokers/go-tools): bump the minor-updates group
dependabot[bot] Mar 13, 2026
56f1e13
deps(go-tools): bump github.com/golangci/golangci-lint/v2
dependabot[bot] Mar 12, 2026
9cc9060
fileutils: Fix symlink race in ChownRecursiveFrom
adombeck Mar 17, 2026
51097f1
fileutils: use `fs.WalkDir` instead of `filepath.WalkDir`
nooreldeenmansour Mar 17, 2026
c9c7bb1
tests: improve coverage for `fileutils`
nooreldeenmansour Mar 17, 2026
b56e939
chore(lint): upgrade golangci-lint to v2.11.3 (#1324)
adombeck Mar 17, 2026
22dde4c
Merge branch 'release-0.5.11' into release-0.6.0-pre1
adombeck Mar 17, 2026
d306f1e
Add changelog entry for 0.6.0~pre1
adombeck Mar 17, 2026
d259ad8
deps(go): bump the minor-updates group across 1 directory with 4 updates
dependabot[bot] Feb 26, 2026
b7db21f
Change 0.6.0~pre1 to 0.6.0~pre2
adombeck Mar 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 10 additions & 5 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ body:

**Troubleshooting**

Please read our [Troubleshooting wiki page](https://github.com/ubuntu/authd/wiki/06--Troubleshooting)
Please read our [Troubleshooting wiki page](https://documentation.ubuntu.com/authd/stable-docs/reference/troubleshooting/#common-issues-and-limitations)
and see if you can find a solution to your problem there.
- type: checkboxes
attributes:
Expand Down Expand Up @@ -92,12 +92,17 @@ body:

#### Logs
\`\`\`
$(sudo journalctl -o short-monotonic --lines 500 _SYSTEMD_UNIT=authd.service \+ UNIT=authd.service \+ \
$(sudo journalctl -o short-monotonic --lines 500 \
_SYSTEMD_UNIT=authd.service \+ UNIT=authd.service \+ \
_SYSTEMD_UNIT=snap.authd-msentraid.authd-msentraid.service \+ UNIT=snap.authd-msentraid.authd-msentraid.service \+ SYSLOG_IDENTIFIER=authd-msentraid \+ \
_SYSTEMD_UNIT=snap.authd-google.authd-google.service \+ UNIT=snap.authd-google.authd-google.service \+ SYSLOG_IDENTIFIER=authd-google \+ \
'_CMDLINE="gdm-session-worker [pam/gdm-authd]"' | sed -E -e 's/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/<UUID redacted>/g' \
_SYSTEMD_UNIT=snap.authd-oidc.authd-oidc.service \+ UNIT=snap.authd-oidc.authd-oidc.service \+ SYSLOG_IDENTIFIER=authd-oidc \+ \
_COMM=authd-pam \+ \
'_CMDLINE="gdm-session-worker [pam/gdm-authd]"' \
| sed -E -e 's/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/<UUID redacted>/g' \
-e 's/GOCSPX-[0-9a-zA-Z_-]+/<redacted>/g' \
-e 's/[0-9a-zA-Z_-]+\.apps\.googleusercontent\.com/<redacted>/g')
-e 's/[0-9a-zA-Z_-]+\.apps\.googleusercontent\.com/<redacted>/g' \
-e 's/(client_secret = )\S+.*/\1<redacted>/g')
\`\`\`

#### authd apt history
Expand All @@ -106,7 +111,7 @@ body:
\`\`\`

#### authd broker configuration
$(sudo sh -c 'if ! find /etc/authd/brokers.d -name \*.conf | grep -q .; then echo ":warning: No config files in /etc/authd/brokers.d/"; else for f in /etc/authd/brokers.d/*.conf; do echo "#### $f"; echo "\`\`\`"; cat $f; echo "\`\`\`"; done; fi')
$(sudo sh -c 'if ! find /etc/authd/brokers.d -name \*.conf | grep -q .; then echo ":warning: No config files in /etc/authd/brokers.d/"; else for f in /etc/authd/brokers.d/*.conf; do echo "#### $f"; echo "\`\`\`"; cat $f; echo "\`\`\`"; done; fi' | sed -E 's/client_secret = .*/client_secret = <redacted>/g')

#### authd-msentraid configuration
\`\`\`
Expand Down
42 changes: 42 additions & 0 deletions .github/actions/e2e-tests/set-up-ssh-keys/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Set up SSH keys for VM provisioning
description: "Sets up SSH keys for VM provisioning"
inputs:
E2E_VM_SSH_PRIV_KEY:
description: "Private SSH key for VM provisioning"
required: true
E2E_VM_SSH_PUB_KEY:
description: "Public SSH key for VM provisioning"
required: true
outputs:
keys-path:
description: "Path to the SSH keys"
value: "${{ steps.set-ssh-keys.outputs.keys-path }}"
runs:
using: "composite"
steps:
- name: Set GitHub Path
run: echo "$GITHUB_ACTION_PATH" >> $GITHUB_PATH
shell: bash
env:
GITHUB_ACTION_PATH: ${{ github.action_path }}

- name: Set up SSH keys for the VM provisioning
id: set-ssh-keys
shell: bash
run: |
set -eu

mkdir -p "${HOME}/.ssh"
chmod 700 "${HOME}/.ssh"

echo "${{ inputs.E2E_VM_SSH_PRIV_KEY }}" > "${HOME}/.ssh/id_rsa"
chmod 600 "${HOME}/.ssh/id_rsa"

echo "${{ inputs.E2E_VM_SSH_PUB_KEY }}" > "${HOME}/.ssh/id_rsa.pub"
chmod 644 "${HOME}/.ssh/id_rsa.pub"

eval "$(ssh-agent -s)"

ssh-add "${HOME}/.ssh/id_rsa"

echo "keys-path=${HOME}/.ssh" >> "$GITHUB_OUTPUT"
49 changes: 49 additions & 0 deletions .github/actions/generate-coverage-report/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: 'Generate and upload coverage report'
description: 'Generates and uploads the coverage report for Go tests'
inputs:
codecov-token:
description: 'Codecov token for uploading coverage'
required: true
runs:
using: 'composite'
steps:
- name: Generate coverage report
shell: bash
run: |
# Generate coverage report
set -eu

tmp_dir=$(mktemp -d)

# Convert the raw coverage data into textfmt so we can merge the Rust one into it
go tool covdata textfmt -i="${RAW_COVERAGE_DIR}" -o="${tmp_dir}/coverage.out"

# Append the Rust coverage data to the Go one
cat "${RAW_COVERAGE_DIR}/rust-cov/rust2go_coverage" >>"${tmp_dir}/coverage.out"

# Filter out the testutils package and the pb.go file
grep -v -e "testutils" -e "pb.go" -e "testsdetection" "${tmp_dir}/coverage.out" >"${tmp_dir}/coverage.out.filtered"

# Generate the Cobertura report for Go and Rust
gocov convert "${tmp_dir}/coverage.out.filtered" | gocov-xml > "${tmp_dir}/coverage.xml"
reportgenerator -reports:"${tmp_dir}/coverage.xml" -targetdir:"${tmp_dir}" -reporttypes:Cobertura

# Generate the Cobertura report for C
gcovr --cobertura "${tmp_dir}/Cobertura_C.xml" "${RAW_COVERAGE_DIR}"

# Merge Cobertura reports into a single one
reportgenerator -reports:"${tmp_dir}/Cobertura.xml;${tmp_dir}/Cobertura_C.xml" \
-targetdir:"${COVERAGE_DIR}" -reporttypes:Cobertura

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
directory: ${{ env.COVERAGE_DIR }}
files: ${{ env.COVERAGE_DIR }}/Cobertura.xml
token: ${{ inputs.codecov-token }}

- name: Upload coverage artifacts
uses: actions/upload-artifact@v5
with:
name: coverage
path: ${{ env.COVERAGE_DIR }}
30 changes: 30 additions & 0 deletions .github/actions/install-debug-symbols/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: 'Install debug symbols for glibc, PAM and GLib'
description: 'Installs debug symbols for glibc, PAM and GLib for better stack traces'
runs:
using: 'composite'
steps:
- uses: canonical/desktop-engineering/gh-actions/common/dpkg-install-speedup@main

- name: Install glibc, PAM and GLib debug symbols
shell: bash
run: |
# Install glibc, PAM and GLib debug symbols
set -eu

sudo apt-get install -y ubuntu-dbgsym-keyring libc6-dbg
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted universe multiverse" | \
sudo tee -a /etc/apt/sources.list.d/ddebs.list
# Sometimes ddebs archive is stuck, so in case of failure we need to go manual
sudo apt-get update -y || true
if ! sudo apt-get install -y libpam-modules-dbgsym libpam0*-dbgsym libglib2.0-0*-dbgsym; then
sudo apt-get install -y ubuntu-dev-tools
for pkg in pam glib2.0; do
pull-lp-debs "${pkg}" $(lsb_release -cs)
pull-lp-ddebs "${pkg}" $(lsb_release -cs)
done
sudo apt-get install -y ./libpam0*.*deb ./libpam-modules*.*deb ./libglib2.0-0*-dbgsym*.ddeb
sudo apt-get remove -y ubuntu-dev-tools
sudo apt-get autoremove -y
fi
26 changes: 26 additions & 0 deletions .github/actions/setup-go-coverage-tests/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: 'Setup Go Tests with Coverage Analysis'
description: 'Additional setup steps for Go tests with coverage analysis'
runs:
using: 'composite'
steps:
- name: Install grcov
uses: baptiste0928/cargo-install@v3
with:
crate: grcov

- name: Install coverage collection dependencies
shell: bash
run: |
# Install coverage collection dependencies
set -eu

echo "::group::Install coverage collection dependencies"

# Dependendencies for C coverage collection
sudo apt-get install -y gcovr

# Dependendencies for Go coverage collection
go install github.com/AlekSi/gocov-xml@latest
go install github.com/adombeck/gocov/gocov@latest
dotnet tool install -g dotnet-reportgenerator-globaltool
echo "::endgroup::"
66 changes: 66 additions & 0 deletions .github/actions/setup-go-tests/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: 'Setup Go Tests'
description: 'Common setup steps for Go tests'
runs:
using: 'composite'
steps:
- uses: actions/setup-go@v6
with:
go-version-file: go.mod

- uses: canonical/desktop-engineering/gh-actions/common/dpkg-install-speedup@main

- name: Install dependencies
shell: bash
run: |
# Install dependencies
set -eu
echo "::group::Install dependencies"

sudo apt-get update

# Disable the php8.3-fpm.service which is enabled by default on ubuntu-latest-runner
# and is restarted when installing the dependencies but times out after 90s.
sudo systemctl mask --now php8.3-fpm.service || true

# The integration tests build the NSS crate, so we need the cargo build dependencies in order to run them.
sudo apt-get install -y protobuf-compiler

sudo apt-get install -y ${{ env.go_build_dependencies }} ${{ env.go_test_dependencies}}

echo "::endgroup::"

- name: Install gotestfmt and our wrapper script
uses: canonical/desktop-engineering/gh-actions/go/gotestfmt@main

- name: Install VHS and ttyd for integration tests
shell: bash
run: |
# Install VHS and ttyd for integration tests
set -eu
echo "::group::Install VHS and ttyd"
go install github.com/charmbracelet/vhs@latest

# VHS requires ttyd >= 1.7.2 to work properly.
wget https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.x86_64
chmod +x ttyd.x86_64
sudo mv ttyd.x86_64 /usr/bin/ttyd

# VHS doesn't really use ffmpeg anymore now, but it still checks for it.
# Drop this when https://github.com/charmbracelet/vhs/pull/591 is released.
sudo ln -s /usr/bin/true /usr/local/bin/ffmpeg
echo "::endgroup::"

- name: Install latest Rust version
shell: bash
run: rustup update stable

- name: Prepare tests artifacts path
shell: bash
run: |
# Prepare tests artifacts path
set -eu

artifacts_dir=$(mktemp -d --tmpdir authd-test-artifacts-XXXXXX)
echo AUTHD_TESTS_ARTIFACTS_PATH="${artifacts_dir}" >> $GITHUB_ENV

echo ASAN_OPTIONS="log_path=${artifacts_dir}/asan.log:print_stats=true" >> $GITHUB_ENV
26 changes: 26 additions & 0 deletions .github/actions/setup-oras/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: 'Setup oras'
description: 'Setup oras CLI tool for pushing and pulling OCI artifacts.'
inputs:
version:
description: 'Version of oras to install'
required: false
default: '1.3.0'
runs:
using: 'composite'
steps:
- name: Install oras
shell: bash
run: |
# Install oras CLI
set -eu

VERSION="${{ inputs.version }}"
FILENAME="oras_${VERSION}_linux_$(dpkg --print-architecture).tar.gz"
curl -fsSL \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-o "${FILENAME}" \
"https://github.com/oras-project/oras/releases/download/v${VERSION}/${FILENAME}"
mkdir -p oras-install/
tar -zxf "${FILENAME}" -C oras-install/
sudo mv oras-install/oras /usr/local/bin/
rm -rf "${FILENAME}" oras-install/
10 changes: 10 additions & 0 deletions .github/actions/upload-test-artifacts/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: 'Upload test artifacts'
description: 'Uploads test artifacts'
runs:
using: 'composite'
steps:
- name: Upload test artifacts
uses: actions/upload-artifact@v5
with:
name: authd-${{ github.job }}-artifacts-${{ github.run_attempt }}
path: ${{ env.AUTHD_TESTS_ARTIFACTS_PATH }}
39 changes: 38 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ updates:
commit-message:
prefix: "deps(ci)"

# Codebase
# authd codebase
## Go dependencies
- package-ecosystem: "gomod"
directory: "/" # Location of package manifests
Expand Down Expand Up @@ -61,3 +61,40 @@ updates:
update-types: ["minor", "patch"]
commit-message:
prefix: "deps(rust)"

## git submodules
- package-ecosystem: "gitsubmodule"
directory: "/" # Directory containing .gitmodules
schedule:
interval: "weekly"
commit-message:
prefix: "deps(submodule)"

# authd-oidc-brokers codebase
## Go dependencies
- package-ecosystem: "gomod"
directory: "/authd-oidc-brokers" # Location of package manifests
schedule:
interval: "weekly"
groups:
minor-updates:
update-types: [ "minor", "patch" ]
commit-message:
prefix: "deps(brokers/go)"

- package-ecosystem: "gomod"
directory: "/authd-oidc-brokers/tools"
schedule:
interval: "weekly"
groups:
minor-updates:
update-types: [ "minor", "patch" ]
commit-message:
prefix: "deps(brokers/go-tools)"
## rust-toolchain.toml
- package-ecosystem: "cargo"
directory: "/authd-oidc-brokers"
schedule:
interval: "weekly"
commit-message:
prefix: "deps(brokers/rust)"
41 changes: 41 additions & 0 deletions .github/scripts/compute-deb-build-hash.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/bash

set -euo pipefail

# Add all files in the repo, except for those that we know are not relevant for
# the build of the Debian package.
relevant_files=$(git ls-files | grep -v \
-e '^\.github/' \
-e '^\.gitignore$' \
-e '^\.gitmodules$' \
-e '^\.golangci\.yaml$' \
-e '\.md$' \
-e '^COPYING' \
-e '^authd-oidc-brokers/' \
-e '^docs/' \
-e '^e2e-tests/' \
-e '^examplebroker/' \
-e '^gotestcov$' \
-e '^snap/' \
-e '_test\.go$' \
-e '/testdata/' \
-e '/testutils/')

# We excluded the .github directory, so we need to add the workflow file back,
# since it is relevant for the build of the Debian package.
relevant_files="${relevant_files}"$'\n'".github/workflows/debian-build.yaml"

# Sort the files
relevant_files=$(echo "${relevant_files}" | sort -u)

# Print the files for debugging purposes.
echo >&2 "Build-relevant files: ${relevant_files}"

hash=$(echo "${relevant_files}" |
grep -e '.' |
xargs git hash-object | sha256sum | cut -d' ' -f1)

# Print the hash for debugging purposes.
echo >&2 "Hash: ${hash}"

echo "${hash}"
Loading
Loading