Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 29 #2677

Merged
merged 109 commits into from
Aug 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
5a9f6b5
lock: alert the user about corrupted lock
lucasmoura Feb 1, 2023
d29e42a
tests: do not delete user ssh keys on cleanup
lucasmoura Jun 12, 2023
56a8ae1
chore: rename more ubuntu-advantage occurrences to ubuntu-pro
renanrodrigo Jun 21, 2023
e847ae7
tests: add mantic to the integration test suite
renanrodrigo May 11, 2023
b80d1a9
tests: add lunar as a stable release
renanrodrigo May 11, 2023
6b173e8
fix: ignore non-USN items on related usns
lucasmoura Jun 22, 2023
dfdd987
tools: show sbuild output by default when running build script
orndorffgrant Jun 12, 2023
6bcb2d3
refactor: move all http helpers to one module
orndorffgrant Jun 5, 2023
9df749b
refactor: implementation-agnostic interface to readurl
orndorffgrant Jun 6, 2023
575d02b
chore: rename repo GPG keys from -advantage to -pro
renanrodrigo Jun 6, 2023
4ede300
chore: archive older sru test scripts
renanrodrigo Jun 14, 2023
5d29f04
ci: change CI to detect documentation references in the PR body
renanrodrigo Jun 29, 2023
4abf18d
debian/README: add file with basic explanation on the source code
renanrodrigo Jul 4, 2023
6710e94
tests: require contract token in the correct tests
renanrodrigo Jul 6, 2023
58b7a48
system: try/except logic to remove files and folders
renanrodrigo Jul 6, 2023
ee74d2e
tests: update apt_messages.feature for use with behave-any
orndorffgrant Jul 6, 2023
54f10e2
api: u.apt_news.current_news.v1
orndorffgrant Jul 6, 2023
41af80b
tests: fix positional parameter to local upgrade test
renanrodrigo Jul 7, 2023
8f91481
tests: add variants information to the jammy VM test
renanrodrigo Jul 7, 2023
903636a
tests: pass architecture as a parameter to build_debs
renanrodrigo Jul 7, 2023
82f8379
logging_revamp: refactor logging tests
CalvoM Apr 21, 2023
2d7c245
add suport for additionalSnaps directive
lucasmoura Jun 1, 2023
98941d5
tests: do not check keyring folder for tarball
lucasmoura Jun 2, 2023
1e531db
anbox: add service support
lucasmoura Jun 6, 2023
53e8d90
anbox: update integration tests
lucasmoura Jun 6, 2023
8858a97
anbox: ignore enableByDefault obligation
lucasmoura Jul 6, 2023
f36e218
tests: fail if installing from 'prebuilt' but no debs are found
renanrodrigo Jul 10, 2023
8a7de7e
anbox: turn contract directive to cammel case
lucasmoura Jul 13, 2023
c8c7c3f
system: add function to get reboot required pkgs
lucasmoura Jul 6, 2023
36e0969
reboot_required: add more data to endpoint
lucasmoura Jul 7, 2023
fb3253b
move get_reboot_status to api module
lucasmoura Jul 10, 2023
832d084
docs: fix broken links in README and CONTRIBUTING
renanrodrigo Jul 13, 2023
8d67600
tests: add missing related usn to Fix behave test
renanrodrigo Jul 13, 2023
a2510f0
apt_news: allow current_news api to be called as non-root
orndorffgrant Jul 17, 2023
d7b8b99
anbox: add help text
lucasmoura Jul 18, 2023
2ba0427
anbox: update related messages
lucasmoura Jul 18, 2023
9134b9e
snap: add channel support when installing snap
lucasmoura Jul 18, 2023
105b3c3
anbox: update help text
lucasmoura Jul 19, 2023
1a57c08
tests: remove kinetic from the codebase
renanrodrigo Jul 21, 2023
39e0a04
test: rename required snaps test to match content
renanrodrigo Jul 19, 2023
5bf9ef7
snapd: look for the snapd package instead of the snap command
renanrodrigo Jul 20, 2023
c337780
apt: fix internal tuple name
orndorffgrant Jun 20, 2023
bb320f8
system: function to detect if we're on a desktop
orndorffgrant Jun 20, 2023
cdd756b
refactor: separate and simplify attach/refresh code
orndorffgrant Jun 27, 2023
459c51b
state: start recording attached_at date
orndorffgrant Jun 20, 2023
e8e7e29
contract: send new activityInfo format
orndorffgrant Jun 16, 2023
95dac6e
system: try to detect docker when systemd-detect-virt fails
orndorffgrant Jun 20, 2023
4d53a56
contract: send activityInfo after attach
orndorffgrant Jun 20, 2023
ec72844
contract: send activityInfo after cli enable and disable
orndorffgrant Jun 20, 2023
4fd9acf
tests: update attach_invalidtoken.feature for use with behave-any
orndorffgrant Jun 27, 2023
ff9de13
contract: support old airgapped server machineInfo
orndorffgrant Jul 3, 2023
b87c47f
tests: fix mock response body serialization
orndorffgrant Jul 18, 2023
a3fcd3c
anbox: support bash autocomplete for anbox-cloud
orndorffgrant Jul 24, 2023
88e1387
anbox: remove duplicate phrase in messaging
orndorffgrant Jul 24, 2023
02c31f6
logging_revamp: replace modules' logger names
CalvoM Mar 31, 2023
fe668f8
logging_revamp: add tests for replace module logger names
CalvoM Apr 19, 2023
aec7613
logging_revamp: add null handler in api endpoint
CalvoM Apr 19, 2023
564c778
logging_revamp: replace modules' logger names
CalvoM May 9, 2023
8d1ec1b
logging_revamp: setup_logging configures uaclient logger only
CalvoM May 15, 2023
cc63a8f
logging_revamp: replace modules' logger name
CalvoM Jun 21, 2023
30c74b9
tests: add fips availability on staging for jammy
orndorffgrant Jul 26, 2023
7c13de9
tests: update related usns of USN-6130-1
orndorffgrant Jul 27, 2023
d8098c9
tests: step to move file from machine to machine
orndorffgrant Jul 21, 2023
af244c9
tests: allow multiple packages in apt install step
orndorffgrant Jul 21, 2023
eee1df7
tests: combine verify-that-running steps
orndorffgrant Jul 21, 2023
e6e8d8b
tests: machine-name behave template var
orndorffgrant Jul 21, 2023
46b54f7
http: configure web proxies on all entrypoints that make http requests
orndorffgrant Jul 24, 2023
b7c1ed3
refactor: drill proxies down to http.readurl
orndorffgrant Jul 25, 2023
55e189a
http: use pycurl for tls-in-tls requests
orndorffgrant Jul 21, 2023
a8204fe
refactor: use global proxy config instead of drilling proxy args
orndorffgrant Jul 21, 2023
10d0150
tests: allow -D args for boolean test config values
orndorffgrant Jul 19, 2023
6a12f1f
tests: behave template var for any config value
orndorffgrant Jul 19, 2023
ccbad86
tests: better assertion errors for failed output comparison steps
orndorffgrant Jul 19, 2023
c250696
tests: step for running command with multiline stdin
orndorffgrant Jul 19, 2023
a6dc615
refactor: simplify helper for querying if systemd unit is active
orndorffgrant Jul 19, 2023
5ac0c6f
cli: pass everything after -- as extra_args to action
orndorffgrant Jul 19, 2023
b9db9ef
contract: support requiredPackages directive
orndorffgrant Jul 27, 2023
9303bc3
system: support not piping subprocess stdouterr
orndorffgrant Jul 27, 2023
45bf26c
landscape: support enabling and disabling landscape-client
orndorffgrant Jul 27, 2023
3863d4b
logging: fix calls to logging to use correct logger
orndorffgrant Jul 31, 2023
9633509
move get_contract_expiry_status to contract module
lucasmoura Jul 10, 2023
a38eb28
Add fix module
lucasmoura Jul 12, 2023
89d257a
api: add support to --data through the CLI
lucasmoura Jul 13, 2023
d85d506
api: add endpoint to cve fix plan
lucasmoura Jul 14, 2023
2790393
api: add endpoint to usn fix plan
lucasmoura Jul 17, 2023
6966d3b
test plan endpoint when package can't be installed
lucasmoura Jul 17, 2023
b3eedac
change invalid CVE/USN message for fix plan API
lucasmoura Jul 19, 2023
112a319
fix_plan: Add JSON schema check for tests
lucasmoura Jul 19, 2023
d2931c5
move fix module into the security fix api module
lucasmoura Jul 31, 2023
15f3252
plan: add one more related usn to bionic test
lucasmoura Jul 31, 2023
69c72f4
esm: pin repositories to a higher priority using static files
renanrodrigo Jul 31, 2023
6015524
tests: add manual check for esm pin
lucasmoura Jul 21, 2023
4454043
contract: change default value of lastAttachment so server doesn't tr…
orndorffgrant Jul 31, 2023
5e21fcf
docs: Add sync tabs to API reference (#2617)
s-makin Jun 15, 2023
ddf35df
Docs front page overhaul (#2569)
s-makin Jun 1, 2023
5d365f3
docs: add mermaid plugin and replace image
orndorffgrant May 31, 2023
e24b13f
docs: make mermaid diagrams fit the furo theme
orndorffgrant Jun 1, 2023
29fc9f6
docs: add dev-doc introducing mermaid with helpful links
orndorffgrant Jun 1, 2023
73fce00
docs: add incompatibility matrix for Pro services
lucasmoura Jun 7, 2023
a740177
docs: add compatibility matrix
lucasmoura Jun 14, 2023
2a67aff
docs: remove content related to docs from the main branch
renanrodrigo Jun 29, 2023
74f5292
copyright: update date and project name
renanrodrigo Jun 21, 2023
f7ea2c6
docs: skip PR builds on PRs to main
orndorffgrant Jul 21, 2023
b40e7cd
sbuild: specify build dir
CalvoM Jun 9, 2023
3eb1691
ci: check that new changelog entries get all bug references
orndorffgrant Jun 12, 2023
d8955d9
chore: bump development version in the changelog
renanrodrigo Jun 20, 2023
d0b4e6c
chore: archive release 28 sru tests
renanrodrigo Jul 21, 2023
9a29075
bump version to 29
lucasmoura Jul 31, 2023
a22ba2b
New upstream release: 29
lucasmoura Jul 31, 2023
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
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ sudo pro new-sub-command --new-flag
that apply. -->
- [ ] I have updated or added any unit tests accordingly
- [ ] I have updated or added any integration tests accordingly
- [ ] I have updated or added any documentation accordingly
- [ ] Changes here need to be documented, and this was done in: <!-- Insert PR number here if the box is checked (ex. #1234) -->

## Does this PR require extra reviews?
<!-- Should people outside of the team see and approve these changes before the
Expand Down
33 changes: 30 additions & 3 deletions .github/actions/bug-refs/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const github = require('@actions/github');

const commentHeader = "<!-- ubuntu-pro-client-bug-refs -->";

function createCommentBody(commits, title) {
function createCommentBody(commits, title, body) {
let newComment = "";
newComment += commentHeader;
newComment += "\n";
Expand Down Expand Up @@ -49,6 +49,19 @@ function createCommentBody(commits, title) {
}
newComment += "\n";

newComment += "Documentation:";
if (!body.includes('[x] Changes here need to be documented')){
newComment += " The changes in this PR do not require documentation changes.";
} else {
docsPullMatch = body.match(/and this was done in: (#\d+)/)
if (docsPullMatch){
newComment += ` Documentation changes addressed in ${docsPullMatch[1]}`;
} else {
newComment += " The changes in this PR do require documentation changes, but those were not addressed yet.";
}
}
newComment += "\n\n";

newComment += "👍 this comment to confirm that this is correct.";

return newComment;
Expand Down Expand Up @@ -80,7 +93,11 @@ async function run() {
if (theComment) {
// comment already exists, update it appropriately
const existingBody = theComment.body;
const newBody = createCommentBody(commits.data, context.payload.pull_request.title);
const newBody = createCommentBody(
commits.data,
context.payload.pull_request.title,
context.payload.pull_request.body
);
if (existingBody !== newBody) {
client.rest.issues.updateComment({
owner: context.issue.owner,
Expand All @@ -91,13 +108,23 @@ async function run() {
}
} else {
// first run, comment doesn't exist yet
const newBody = createCommentBody(commits.data, context.payload.pull_request.title);
const newBody = createCommentBody(
commits.data,
context.payload.pull_request.title,
context.payload.pull_request.body
);
client.rest.issues.createComment({
owner: context.issue.owner,
repo: context.issue.repo,
issue_number: context.issue.number,
body: newBody,
});
client.rest.reactions.createForIssue({
owner: context.issue.owner,
repo: context.issue.repo,
issue_number: context.issue.number,
content: "eyes"
});
}
}

Expand Down
9 changes: 9 additions & 0 deletions .github/actions/release-changelog-bug-refs/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: 'Ensure Release Changelog has Bug References'
description: "Block releases if bug references in commits aren't in the proposed changelog entry"
inputs:
repo-token:
description: 'Token for the repository. Can be passed in using {{ secrets.GITHUB_TOKEN }}'
required: true
runs:
using: 'node16'
main: 'index.js'
44 changes: 44 additions & 0 deletions .github/actions/release-changelog-bug-refs/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
const fs = require('fs/promises');
const core = require('@actions/core');
const github = require('@actions/github');

async function run() {
const context = github.context;
if (context.eventName !== "pull_request") {
console.log(
'The event that triggered this action was not a pull request, skipping.'
);
return;
}

const client = github.getOctokit(
core.getInput('repo-token', {required: true})
);
const commits = await client.rest.pulls.listCommits({
owner: context.issue.owner,
repo: context.issue.repo,
pull_number: context.issue.number,
});
let lpBugs = [];
let ghIssues = [];
commits.data.forEach(commit => {
const message = commit.commit.message.toLocaleUpperCase();
lpBugs = lpBugs.concat(Array.from(message.matchAll(/LP: #(\d+)/g)).map(m => m[1]));
ghIssues = ghIssues.concat(Array.from(message.matchAll(/FIXES: #(\d+)/g)).map(m => m[1]));
ghIssues = ghIssues.concat(Array.from(message.matchAll(/CLOSES: #(\d+)/g)).map(m => m[1]));
});
const changelog = await fs.readFile("./debian/changelog", { encoding: "utf8" });
const changelogEntries = changelog.split("ubuntu-advantage-tools");
const newEntry = changelogEntries[1];
const missingLpBugs = lpBugs.filter(bug => !newEntry.includes(`LP: #${bug}`));
const missingGhIssues = ghIssues.filter(issue => !newEntry.includes(`GH: #${issue}`));

if (missingLpBugs.length > 0 || missingGhIssues.length > 0) {
core.setFailed({ missingLpBugs, missingGhIssues });
}
}

run().catch(error => {
console.error(error);
core.setFailed(error.message);
})
Loading
Loading