Compare commits

..

21 commits

Author SHA1 Message Date
Brian C. Lane
27c3126975 - build(deps): bump actions/setup-go from 5 to 6 (49699333+dependabot[bot])
- build(deps): bump github.com/spf13/cobra from 1.9.1 to 1.10.1 (49699333+dependabot[bot])
- test: iot-qcow2-image does not support packages (bcl)
- test: qcow2 renamed to server-qcow2 (bcl)
- build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1 (49699333+dependabot[bot])
- build(deps): bump actions/checkout from 4 to 5 (49699333+dependabot[bot])
- tests: Use current host arch in info and list tests (bcl)
2025-10-15 10:53:41 -07:00
Alejandro Sáez
07d97f6296 rebuild 2025-10-10 15:15:19 +02:00
Maxwell G
77a093fe28 Rebuild for golang-1.25.0 2025-08-15 18:46:17 -05:00
Brian C. Lane
c2c99826af tests: Skip checking arch when testing sent body
Patch the tests to fix build failures on non-x86_64 arches.
2025-08-14 09:43:28 -07:00
Brian C. Lane
7d46e8107d - golangci: Disable linting for a few things (bcl)
- test: Remove unneeded fmt.Sprintf (bcl)
- lint: Clean up lint errcheck errors (bcl)
- workflows: Update to golangci-lint 2.3.0 (bcl)
- workflows: Update to use go 1.23 and drop 1.21 and 1.22 (bcl)
- GHA: enable the stale action to delete its saved state (thozza)
- composer-cli: Add cloudapi support to delete command (bcl)
- cloud: Add DeleteCompose function and tests (bcl)
- cloud: Add DeleteRaw function and tests (bcl)
- tests: Fix TestComposeInfoCloud (bcl)
- cloud: Handle unexpected status codes (bcl)
- composer-cli: Add cloudapi support to compose image command (bcl)
- cloud: Add ComposeImagePath function (bcl)
- cloud: Add GetFilePath function to download an image file (bcl)
- common: Move part of GetFilePath into common.SaveResponseBodyToFile (bcl)
- composer-cli: Add size to the compose status cloud command (bcl)
- composer-cli: Add support for more cloudapi detail to compose list (bcl)
- composer-cli: Add cloudapi support to the compose info command (bcl)
- apischema: Add UploadTypes function to ComposeMetadataV1 (bcl)
- cloud: Add GetComposeMetadata function (bcl)
- common: Move blueprint struct to common (bcl)
- cloud: Move status mapping into a function (bcl)
- apischema: Move ComposeResponseV1 to apischema (bcl)
- apischema: Move Status to apischema (bcl)
- apischema: Move PackageDetails to apischema (bcl)
- apischema: Move ComposeInfo to apischema (bcl)
- apischema: Add a common location to define cloudapi structs (bcl)
- build(deps): bump github.com/BurntSushi/toml from 1.4.0 to 1.5.0 (49699333+dependabot[bot])
- compose: Add listing cloud composes to the status command (bcl)
- compose: Add listing cloud composes to the list command (bcl)
- cloud: Add test for ListComposes (bcl)
- cloud: Implement ListComposes to return cloudapi compose info (bcl)
- projects: Add cloudapi support to depsolve command (bcl)
- blueprints: Add cloudapi support for depsolving local blueprint files (bcl)
- cloud: Add DepsolveBlueprint function (bcl)
- depsolve: Move parsing of weldr response into apischema (bcl)
- depsolve: Use common.PackageNEVRA (bcl)
- README.md: align with image-builder-cli (florian.schueller)
- projects: Add cloudapi support to the list command (bcl)
- projects: Add cloudapi support for project info command (bcl)
- cloud: Add SearchPackages function (bcl)
- composer-cli: Add a --weldr-only flag (bcl)
- tests: OSTree does not support the qcow2 image type (bcl)
- compose: Add cloudapi support to the compose types command (bcl)
- cloud: Add ComposeTypes function to return image types (bcl)
- common: Add SortedMapKeys helper (bcl)
- distros: Add cloudapi support to the list command (bcl)
- cloud: Add test for ListDistros (bcl)
- cloud: Add ListDistros function to return distro names (bcl)
- github/workflows/pr_best_practices: initial version (florian.schueller)
- common: PackageNEVRA JSON epoch field can be string or int (bcl)
- common: Move PackageNEVRA to common (bcl)
- common: Move GetHostDistroName to common (bcl)
- common: Refactor GetContentFilename (bcl)
- common: Refactor cloud common to use internal common functions (bcl)
- common: Create a common package to share functions (bcl)
- weldr: Function to check APIResponse for an error ID (bcl)
- build(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1 (49699333+dependabot[bot])
- cloud: Make the test bool private (bcl)
- compose: Return an error when opening a file (bcl)
- cloud: Add tests for ComposeWait function (bcl)
- compose: Add cloud API --wait to start command (bcl)
- compose: Add support for cloud API UUIDs to compose wait (bcl)
- cloud: Add ComposeWait function (bcl)
- cloud: Add test for ComposeInfo (bcl)
- cloud: Add ComposeInfo function (bcl)
- compose: Remove redundant 'Error' from error strings in start (bcl)
- compose: Add upload handling for cloud (bcl)
- cloud: Add support for passing upload options (bcl)
- compose: Add ability to use a local blueprint to start a compose (bcl)
- cloud: Add StartCompose function (bcl)
- cloud: Add ServerStatus function (bcl)
- status: Add cloudapi status to show command (bcl)
- Makefile: Pass VERSION into build container (bcl)
- cmd: Add cloudapi client (bcl)
- cloud: Add basic Client functions for cloud api (bcl)
- go.mod: Upgrade modules to current versions (bcl)
- go.mod: Bump go version to 1.22.6 (bcl)
- tools: Use go toolbox in prepare-source.sh (bcl)
- Fix non-constant log strings (bcl)
- Bump testify version to 1.10.0 (bcl)
2025-08-14 08:52:00 -07:00
Fedora Release Engineering
2c752bf449 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 20:22:13 +00:00
Brian C. Lane
0ee2f84e8b - Fix non-constant log strings
Resolves: rhbz#2341535
2025-01-27 10:01:29 -08:00
Fedora Release Engineering
6e6d05f0d1 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 14:54:58 +00:00
Brian C. Lane
9a4c67bed5 - tests: Remove openstack (bcl)
- readme: project links (lukas)
- Makefile: implement "fully source containers" HMS-3883 (florian.schueller)
- README: fix anchor typo (florian.schueller)
- README: fix compatibility with docusaurus (florian.schueller)
- go.mod: Use go 1.21 (bcl)
- workflows: Use go 1.21.x for govuln tests (bcl)
- build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 (49699333+dependabot[bot])
- build(deps): bump github.com/BurntSushi/toml from 1.3.2 to 1.4.0 (49699333+dependabot[bot])
- Makefile: dnf5 builddep accepts .spec files without --spec (bcl)
- Containerfile: Install dnf5-plugins for builddep support (bcl)
- bash: Add status show to bash completion (bcl)
- go.mod: Use go 1.20 (bcl)
- bash: Add wait command to bash completion (bcl)
2024-11-12 10:20:54 -08:00
Fedora Release Engineering
c28cc3505c Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 09:15:30 +00:00
Brian C. Lane
8932c4155b - New release: 35.13 (bcl)
- HACKING.md: Reformat code blocks for docusaurus (simon.steinbeiss)
- README: Update code block formatting and drop subtitle (simon.steinbeiss)
- info: Add upload status to the output (bcl)
- info: Fix display of blueprint packages with no version (bcl)
- weldr: Add Stringer interface to Package (bcl)
- compose: Add --wait options to start-ostree (bcl)
- compose: Add --wait options to start command (bcl)
- compose: Add compose wait command (bcl)
- weldr: Add ComposeWait to wait for a compose to finish (bcl)
- build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (49699333+dependabot[bot])
- CI: Drop SonarQube in favor of Snyk (jrusz)
2024-03-07 15:02:28 -08:00
Brian C. Lane
e94fa8e5b1 - New release: 35.12 (bcl)
- Update documentation urls for new locations (bcl)
- workflows: Stop using golint (bcl)
- workflows: Add Go 1.21 and 1.22 to test matrix (bcl)
- workflows: Update to golangci-lint 1.56.2 (bcl)
- weldr: go fmt changes to a couple comments (bcl)
- Go: Switch to go 1.19 (bcl)
- weldr: Update ostree test for parentid with no url (bcl)
- build(deps): bump actions/setup-go from 4 to 5 (49699333+dependabot[bot])
- Makefile: Turn off seccomp for build-in-podman (bcl)
- build(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (49699333+dependabot[bot])
- build(deps): bump actions/checkout from 3 to 4 (49699333+dependabot[bot])
- Actions: add workflow for marking and closing stale issues and PRs (thozza)
- composer-cli: Update doc links (simon.steinbeiss)
- build(deps): bump github.com/BurntSushi/toml from 1.3.1 to 1.3.2 (49699333+dependabot[bot])
2024-02-19 15:00:06 -08:00
Maxwell G
4795194446
Rebuild for golang 1.22.0 2024-02-11 23:41:48 +00:00
Fedora Release Engineering
e305c075e9 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 08:37:27 +00:00
Fedora Release Engineering
ecb3e49aca Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 18:07:24 +00:00
Brian C. Lane
52a1cde8b1 - New release: 35.11 (bcl)
- build(deps): bump github.com/BurntSushi/toml from 1.3.0 to 1.3.1 (49699333+dependabot[bot])
- build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (49699333+dependabot[bot])
- CI: Update terraform hash (bcl)
- build(deps): bump github.com/BurntSushi/toml from 1.2.1 to 1.3.0 (49699333+dependabot[bot])
- build(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 (49699333+dependabot[bot])
- docs: fix typo/formatting in HACKING.md (idiez)
- Add release creation documentation (bcl)
2023-06-08 16:18:17 -07:00
Brian C. Lane
ab3258d4ce - New release: 35.10 (bcl)
- Add support for compose start warning messages (bcl)
- build(deps): bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (49699333+dependabot[bot])
- workflow: Ignore govulncheck failures (bcl)
- build(deps): bump actions/setup-go from 3 to 4 (49699333+dependabot[bot])
- workflow: Switch to testing on go 1.18, 1.19, 1.20 (bcl)
- maint: Update to use go v1.18 by default (bcl)
- build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (49699333+dependabot[bot])
- spec: Require createrepo_c for weldr-client-tests package (bcl)
- Build weldr-client-tests by default (bcl)
- spec: migrate the license field to SPDX (ondrej)
2023-04-11 14:42:42 -07:00
Fedora Release Engineering
7b4accad57 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 06:44:35 +00:00
Brian C. Lane
676b933470 tests: Add tmt tests based on RHEL tests
Also turn on building of weldr-client-tests, it is needed by the tmt tests.
2022-12-15 09:28:28 -08:00
Brian C. Lane
71582c2bba - New release: 35.9 (bcl)
- tests: Replace os.MkdirTemp with t.TempDir (bcl)
- blueprint save: Allow overriding bad blueprint names (bcl)
- tests: Clean up checking err in tests (bcl)
- composer-cli: Implement blueprints diff (bcl)
- saveBlueprint: Return the filename to the caller (bcl)
- composer-cli: Add tests for using --commit with old servers (bcl)
- weldr: Return error about the blueprints change route (bcl)
- weldr: Save the http status code as part of APIResponse (bcl)
- Add --commit support to blueprints save (bcl)
- Add --commit to blueprints show (bcl)
- gitleaks: Exclude the test password used in tests (bcl)
- ci: add tags to AWS instances (tlavocat)
- build(deps): bump github.com/BurntSushi/toml from 1.2.0 to 1.2.1 (49699333+dependabot[bot])
- build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (49699333+dependabot[bot])
- build(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.1 (49699333+dependabot[bot])
2022-11-30 16:28:01 -08:00
Brian C. Lane
6130db0954 - New release: 35.8 (bcl)
- completion: Remove providers from bash completion script (bcl)
- completion: Filter out new headers from compose list (bcl)
- docs: Remove unneeded Long descriptions (bcl)
- docs: Use a custom help template (bcl)
- docs: Add more command documentation (bcl)
- cmdline: Add package glob support to modules list command (bcl)
- workflow: Add govulncheck on go v1.18 (bcl)
- tests: Update to use golangci-lint 1.49.0 (bcl)
2022-09-30 11:35:50 -07:00
8 changed files with 171 additions and 16 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

18
.gitignore vendored
View file

@ -12,3 +12,21 @@
/weldr-client-35.6.tar.gz.asc
/weldr-client-35.7.tar.gz
/weldr-client-35.7.tar.gz.asc
/weldr-client-35.8.tar.gz
/weldr-client-35.8.tar.gz.asc
/weldr-client-35.9.tar.gz
/weldr-client-35.9.tar.gz.asc
/weldr-client-35.10.tar.gz
/weldr-client-35.10.tar.gz.asc
/weldr-client-35.11.tar.gz
/weldr-client-35.11.tar.gz.asc
/weldr-client-35.12.tar.gz
/weldr-client-35.12.tar.gz.asc
/weldr-client-35.13.tar.gz
/weldr-client-35.13.tar.gz.asc
/weldr-client-35.14.tar.gz
/weldr-client-35.14.tar.gz.asc
/weldr-client-36.0.tar.gz
/weldr-client-36.0.tar.gz.asc
/weldr-client-36.1.tar.gz
/weldr-client-36.1.tar.gz.asc

View file

@ -0,0 +1,48 @@
From 6815aa4a2a0b2bd376d0f6e072580a9c60086e3e Mon Sep 17 00:00:00 2001
From: "Brian C. Lane" <bcl@redhat.com>
Date: Thu, 14 Aug 2025 09:26:25 -0700
Subject: [PATCH] tests: Skip checking arch when testing sent body
The host architecture is included in the body of the request, skip
checking for the specific arch in order to keep the tests architecture
independent.
Related: RHEL-60137
---
cmd/composer-cli/projects/info_test.go | 4 +++-
cmd/composer-cli/projects/list_test.go | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/cmd/composer-cli/projects/info_test.go b/cmd/composer-cli/projects/info_test.go
index 3f9a85f..dd2a78c 100644
--- a/cmd/composer-cli/projects/info_test.go
+++ b/cmd/composer-cli/projects/info_test.go
@@ -457,7 +457,9 @@ func TestCmdProjectsInfoCloud(t *testing.T) {
sentBody, err := io.ReadAll(mcc.Req.Body)
assert.Nil(t, mcc.Req.Body.Close())
require.Nil(t, err)
- assert.Contains(t, string(sentBody), `{"distribution":"homer","architecture":"x86_64","packages":["tmux"]}`)
+ // NOTE: sentBody also contains arch specific architecture, skip checking that.
+ assert.Contains(t, string(sentBody), `"distribution":"homer"`)
+ assert.Contains(t, string(sentBody), `"packages":["tmux"]`)
assert.Equal(t, "application/json", mcc.Req.Header.Get("Content-Type"))
assert.Equal(t, "/api/image-builder-composer/v2/search/packages", mcc.Req.URL.Path)
}
diff --git a/cmd/composer-cli/projects/list_test.go b/cmd/composer-cli/projects/list_test.go
index b809224..386b793 100644
--- a/cmd/composer-cli/projects/list_test.go
+++ b/cmd/composer-cli/projects/list_test.go
@@ -363,7 +363,9 @@ func TestCmdProjectsListCloud(t *testing.T) {
sentBody, err := io.ReadAll(mcc.Req.Body)
assert.Nil(t, mcc.Req.Body.Close())
require.Nil(t, err)
- assert.Contains(t, string(sentBody), `{"distribution":"homer","architecture":"x86_64","packages":["*"]}`)
+ // NOTE: sentBody also contains arch specific architecture, skip checking that.
+ assert.Contains(t, string(sentBody), `"distribution":"homer"`)
+ assert.Contains(t, string(sentBody), `"packages":["*"]`)
assert.Equal(t, "application/json", mcc.Req.Header.Get("Content-Type"))
assert.Equal(t, "/api/image-builder-composer/v2/search/packages", mcc.Req.URL.Path)
}
--
2.50.1

7
gating.yaml Normal file
View file

@ -0,0 +1,7 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts: [bodhi_update_push_stable]
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View file

@ -0,0 +1,10 @@
summary: Run integration tests
prepare:
how: install
package:
- osbuild-composer
- weldr-client
- weldr-client-tests
- createrepo_c
execute:
script: ./tests/scripts/run_tests.sh ./tests/

View file

@ -1,3 +1,3 @@
SHA512 (weldr-client-35.7.tar.gz) = 37f5606d5989b99ab31b01c4e160a78ed9fb0e5a2fa73de0599ae71b36c5c29594c4e3b77552a8378e5f577c648d414d6da543f15763ff0a374cd029a53c405d
SHA512 (weldr-client-35.7.tar.gz.asc) = 0322f77861e324044b2bd3d358a1236d7b9fccbaa226f81f232baee458e0b82170758a22e19dc38b610476d1c823ff84d8b31a98af26a1842603f06035102e87
SHA512 (gpg-117E8C168EFE3A7F.key) = 88c0a30ebbaa3b586d5ac5fd5fdcf1f92f58ab580d7770e39ef9ff4ce380c1a748e815d3f9f9c13a6b2d1b1cd554886c360fba7a586f518a8aa7a4972317526b
SHA512 (weldr-client-36.1.tar.gz) = 52bac9879b73e3137d434a9c46a2914e0446ed63db14c9176cbd2a47aaf10a757a905a138401208958631237d354a7689035fd5a68297720431b212151eabd4d
SHA512 (weldr-client-36.1.tar.gz.asc) = 0d0fd65355356aaac2eb8052c182f619d8d7da5c6af164d7b3da97b2fc0b4435d6e4cff2b81914e99e8f094a518432dd0b769e28fba4c90b8a9453326d6b3f1a
SHA512 (gpg-117E8C168EFE3A7F.key) = cbbf218fe4427bd16f64b60cafd8c98bc3b073c25cfe2c19f03405ebfbf88ac05f0a3fa4e44afbbc514616b426008bc1e76b4e3ea49825a6ece4ad63638bb52b

67
tests/scripts/run_tests.sh Executable file
View file

@ -0,0 +1,67 @@
#!/bin/bash
set -eux
FAILANY=0
function fail {
echo -e "\n\n#### ERROR: $1\n"
FAIL=1
FAILANY=1
}
function status {
if [ "$FAIL" -eq 0 ]; then
echo -e "\n\n#### PASS: $1\n"
else
echo -e "\n\n#### FAIL: $1\n"
fi
}
function running {
FAIL=0
echo -e "\n\n#### RUN: $1\n"
}
backend_start() {
export BACKEND="osbuild-composer"
systemctl start osbuild-composer.socket
RET=$?
if [ "$RET" -eq 0 ]; then
# wait for the backend to become ready
tries=0
until curl -m 15 --unix-socket /run/weldr/api.socket http://localhost:4000/api/status | grep 'db_supported.*true'; do
echo "#### INFO: Waiting for backend to become ready. Try $tries ..."
tries=$((tries + 1))
if [ $tries -gt 50 ]; then
fail "Backend taking too long to become ready"
# Log why starting osbuild-composer failed
journalctl -u osbuild-composer
exit 1
fi
sleep 10
done
else
fail "Unable to start composer backend (exit code $RET)"
# Log why starting osbuild-composer failed
journalctl -u osbuild-composer
exit $RET
fi
}
: ${1?"Usage: $0 TOPDIR"}
TOPDIR=$1
# What versions of things do we have installed?
rpm -q weldr-client osbuild osbuild-composer
composer-cli version || fail "Getting composer-cli version"
# Start osbuild-composer
backend_start
composer-cli status show || fail "Getting osbuild-composer status"
/usr/libexec/tests/composer-cli/composer-cli-tests -test.v || fail "Running integration tests"
exit $FAILANY

View file

@ -1,15 +1,15 @@
# Pass --with tests to rpmbuild to build composer-cli-tests
%bcond_with tests
# Pass --without tests to skip building composer-cli-tests
%bcond_without tests
# Pass --without signed to skip gpg signed tar.gz (DO NOT DO THAT IN PRODUCTION)
%bcond_without signed
%global goipath github.com/osbuild/weldr-client/v2
Name: weldr-client
Version: 35.7
Version: 36.1
Release: 1%{?dist}
# Upstream license specification: Apache-2.0
License: ASL 2.0
License: Apache-2.0
Summary: Command line utility to control osbuild-composer
%gometa
@ -23,6 +23,8 @@ Source2: https://keys.openpgp.org/vks/v1/by-fingerprint/117E8C168EFE3A7F#/gpg-
Obsoletes: composer-cli < 35.0
Provides: composer-cli = %{version}-%{release}
Requires: diffutils
BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
%if 0%{?fedora}
BuildRequires: golang(github.com/BurntSushi/toml)
@ -115,6 +117,8 @@ make test
%package tests
Summary: Integration tests for composer-cli
Requires: createrepo_c
%description tests
Integration tests to be run on a pristine-dedicated system to test the
composer-cli package.
@ -126,12 +130,12 @@ composer-cli package.
%changelog
* Thu Sep 08 2022 Brian C. Lane <bcl@redhat.com> - 35.7-1
- New release: 35.7 (bcl)
- spec: Move %gometa macro above %gourl (bcl)
- weldr: When starting a compose pass size as bytes, not MiB (bcl)
- tests: Use correct size value in bytes for test (bcl)
- workflow: Add Go 1.18 to text matrix (bcl)
- Replace deprecated ioutil functions (bcl)
- build(deps): bump github.com/BurntSushi/toml from 1.1.0 to 1.2.0 (49699333+dependabot[bot])
- build(deps): bump github.com/stretchr/testify from 1.7.4 to 1.8.0 (49699333+dependabot[bot])
* Wed Oct 15 2025 Brian C. Lane <bcl@redhat.com> - 36.1-1
- New release: 36.1 (bcl)
- build(deps): bump actions/setup-go from 5 to 6 (49699333+dependabot[bot])
- build(deps): bump github.com/spf13/cobra from 1.9.1 to 1.10.1 (49699333+dependabot[bot])
- test: iot-qcow2-image does not support packages (bcl)
- test: qcow2 renamed to server-qcow2 (bcl)
- build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1 (49699333+dependabot[bot])
- build(deps): bump actions/checkout from 4 to 5 (49699333+dependabot[bot])
- tests: Use current host arch in info and list tests (bcl)