Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
7320969
feat(storage): add label to config model
joseivanlopez Feb 26, 2025
c8aab44
web: update config-model types
joseivanlopez Feb 26, 2025
f79bcca
web: add file system label input
joseivanlopez Feb 26, 2025
0df9479
service: changelog
joseivanlopez Feb 26, 2025
5b1c0a9
rust: changelog
joseivanlopez Feb 26, 2025
c033941
web: changelog
joseivanlopez Feb 26, 2025
1d27d60
feat(web): edit file system label (#2074)
joseivanlopez Feb 27, 2025
a425c62
Add alpha-label-less leap16.svg (gh#agama-project/agama#2091).
nshvvaiia Feb 27, 2025
4792af7
Merge branch 'after-release-beta2' into drop-alpha-label
imobachgs Feb 28, 2025
877f326
Add alpha-label-less leap16.svg (#2094)
imobachgs Feb 28, 2025
315ffa8
Update service PO files
yast-bot Mar 2, 2025
d49ea0b
fix(web): adjust UI for unsupported AutoYaST question
dgdavid Mar 3, 2025
651a867
Set BLS env for storage-ng according to the product selection
mchf Feb 28, 2025
45fe10a
Made boot strategy selection configurable in product's file
mchf Feb 28, 2025
f348678
Documentation
mchf Feb 28, 2025
bbec6ff
Updated testsuite
mchf Feb 28, 2025
be824df
Fine tunning the ENV variable usage
mchf Mar 3, 2025
0acd09f
Cleanup
mchf Mar 3, 2025
8299d5e
Updated changelog
mchf Mar 5, 2025
de64b3a
refactor(rust): extract Transfer::get to a generic handler
imobachgs Feb 28, 2025
eb2361a
Set BLS env for storage-ng according to the product selection (#2097)
mchf Mar 5, 2025
9ffba96
feat(rust): add support for device:, usb:, label: and hd/dvd/cd: URLs
imobachgs Feb 28, 2025
142901f
fix(rust): adapt to Transfer::get API changes
imobachgs Feb 28, 2025
577f7e9
Decrease the libzypp timeout, retry automatically
lslezak Mar 5, 2025
80c42d5
Update changes
lslezak Mar 5, 2025
984cc05
Decrease the libzypp timeout, retry automatically (#2117)
lslezak Mar 5, 2025
68fb418
docs(rust): extend transfer API documentation
imobachgs Mar 5, 2025
61e9154
feat(rust): extract label: to a separate LabelHandler
imobachgs Mar 5, 2025
a876d6c
refactor(rust): move transfer handlers to separate modules
imobachgs Mar 5, 2025
54ed4b4
feat(rust)!: the download command expects a destination
imobachgs Mar 5, 2025
bfddec2
feat(rust): add some feedback to "agama download"
imobachgs Mar 5, 2025
b4417da
feat(web): allow placing additional content in popup header
dgdavid Mar 6, 2025
94a3321
fix(web): render license language switcher out of heading
dgdavid Mar 6, 2025
156f024
feat(web): make license language switcher scrollable
dgdavid Mar 6, 2025
a320851
fix(web): align license language selector
dgdavid Mar 6, 2025
bdbd0de
fix(web): force license dialog to have auto width
dgdavid Mar 6, 2025
75a504d
fix(web): use Dropdown for licenses language selector
dgdavid Mar 6, 2025
be8183f
fix(web): please linter
dgdavid Mar 6, 2025
1d413fb
fix(web): update test
dgdavid Mar 6, 2025
2f58864
doc(web): add entry in the changes file
dgdavid Mar 6, 2025
353de60
refactor(rust): use lsblk --pairs to read the file systems
imobachgs Mar 6, 2025
f6a6f9e
fix(rust): FileSystemReader uses the shortest path as mount point
imobachgs Mar 6, 2025
d8f4a6e
fix(rust): FileSystem includes the whole block device
imobachgs Mar 6, 2025
4b00c20
chore(rust): updates from code review
imobachgs Mar 6, 2025
f17075c
refactor(rust): move mount logic to the FileSystem struct
imobachgs Mar 6, 2025
8e9655e
fix(rust): mount file systems in ro mode
imobachgs Mar 6, 2025
6506628
refactor(rust): better naming for FileSystemsList
imobachgs Mar 6, 2025
909c719
fix(rust): handle devices= with no /dev prefix
imobachgs Mar 6, 2025
9814e23
Merge branch 'after-release-beta2' into extend-transfer-urls
imobachgs Mar 6, 2025
1657b09
docs(rust): update changes file
imobachgs Mar 6, 2025
9b86fd2
feat: add support for some YaST-like URLs (#2118)
imobachgs Mar 6, 2025
eb74ed5
fix(web): avoid license language switcher overflowing the viewport (#…
dgdavid Mar 6, 2025
babb706
fix(web): adjust UI for unsupported AutoYaST question (#2101)
dgdavid Mar 6, 2025
cab4c0f
fix(rust): fix handling of unmounted file systems
imobachgs Mar 7, 2025
17ab98d
test(rust): add a test for file systems reading
imobachgs Mar 7, 2025
6b33f19
fix(rust): fix handling of unmounted file systems (#2124)
imobachgs Mar 7, 2025
0230c77
Properly set the systemd service timeout
lslezak Mar 7, 2025
2a432a6
Properly set the systemd service timeout (#2128)
lslezak Mar 7, 2025
9ad7a94
fix: install and package model schema
joseivanlopez Mar 10, 2025
34b22a5
fix: adapt profile examples
joseivanlopez Mar 10, 2025
1b44dbe
rust: changelog
joseivanlopez Mar 10, 2025
d07ba38
Several fixes (#2135)
joseivanlopez Mar 10, 2025
9370255
Update service PO files (#2100)
lslezak Mar 10, 2025
ad4934f
Do only one automatic download retry
lslezak Mar 10, 2025
f10e7ed
Do only one automatic download retry (#2139)
lslezak Mar 10, 2025
55a9384
Improved OBS autosubmission
lslezak Feb 27, 2025
a1b0c6c
Improved OBS autosubmission (#2145)
lslezak Mar 11, 2025
feaaa67
Bump the version to 13pre
lslezak Mar 11, 2025
96ee1fa
Bump the version to 13pre (#2146)
lslezak Mar 11, 2025
883b610
feat(ruby): collect Agama logs after the installation
imobachgs Mar 11, 2025
cb63d36
fix(ruby): stop saving logs to /tmp
imobachgs Mar 12, 2025
1bffd48
fix(ruby): drop unneeded test
imobachgs Mar 12, 2025
5cba5fb
doc(ruby): update changes file
imobachgs Mar 12, 2025
5adf2ac
feat(ruby): collect the logs at the end of the installation (#2148)
imobachgs Mar 12, 2025
b876a98
fix(rust): add the extension to filename in disposition
imobachgs Mar 12, 2025
90f6422
doc(rust): update changes files
imobachgs Mar 12, 2025
942c253
fix(rust): add extension to the "filename" in the disposition header …
imobachgs Mar 12, 2025
06b75b5
Fix some bootloader comments
teclator Mar 11, 2025
3955e43
Added specific hostname management support
teclator Mar 11, 2025
b2d1575
Allow to set the persistent hostname through cmdline
teclator Mar 11, 2025
d8ee5df
Do not expose the hostname dhcp settings by now
teclator Mar 11, 2025
d6ea67e
Allow to disable set hostname by DHCP
teclator Mar 11, 2025
5dab1cc
Ensure the directory exists
teclator Mar 12, 2025
2ed4a57
Added hostname install settings
teclator Mar 12, 2025
5914e58
Added changelog
teclator Mar 12, 2025
eecced9
Fix copyright year
teclator Mar 12, 2025
b967cc5
Some fixes based on code review
teclator Mar 12, 2025
46ba799
Make the hostname settings optional
teclator Mar 13, 2025
65e3ab8
Do not clone but use a reference
teclator Mar 13, 2025
9ac77fd
Hostname handling (#2142)
teclator Mar 13, 2025
7e7998d
feat(rust): allow selecting individual packages
imobachgs Mar 13, 2025
cd96909
feat(rust): add "packages" the profile schema
imobachgs Mar 13, 2025
0497643
feat(ruby): read the list of packages from an AutoYaST profile
imobachgs Mar 14, 2025
07ec28c
refactor(rust): use a const for the user's resolvable list name
imobachgs Mar 14, 2025
b8b0ee4
fix(rust): make software elements optional
imobachgs Mar 14, 2025
5b213a8
feat(web): add packages to SoftwareConfig type
imobachgs Mar 14, 2025
3ad01cf
doc: update changes files
imobachgs Mar 14, 2025
4ec79d4
Merge branch 'after-release-beta2' into select-packages-proposal
imobachgs Mar 14, 2025
be6a7c2
feat: allow selecting individual packages (#2153)
imobachgs Mar 14, 2025
817a98e
Merge branch 'master' into merge-after-release-beta2
imobachgs Mar 14, 2025
922ec76
chore: sync `after-release-beta2` branch with `master` (#2155)
imobachgs Mar 14, 2025
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
44 changes: 44 additions & 0 deletions .github/workflows/ci-devel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: CI - Devel scripts

on:
push:
paths:
# NOTE: GitHub Actions do not allow using YAML references, the same path
# list is used below for the pull request event. Keep both lists in sync!!

# this file as well
- .github/workflows/ci-devel.yml
# any change in the devel subfolder
- devel/**
# except the Markdown documentation
- "!devel/**.md"
pull_request:
paths:
# NOTE: GitHub Actions do not allow using YAML references, the same path
# list is used above for the push event. Keep both lists in sync!!

# this file as well
- .github/workflows/ci-devel.yml
# any change in the devel subfolder
- devel/**
# except the Markdown documentation
- "!devel/**.md"

# allow running manually
workflow_dispatch:

jobs:
ci_devel:
runs-on: ubuntu-latest

steps:

- name: Git Checkout
uses: actions/checkout@v4
with:
# checkout only the "devel" subdirectory
sparse-checkout: |
devel

- name: Run the tests
run: find devel -type f -exec grep -l -E "^#! *(/usr/|)/bin/(ba|)sh" \{\} \; | xargs -I% bash -c "echo 'Checking %...' && shellcheck %"
48 changes: 0 additions & 48 deletions .github/workflows/obs-release.yml

This file was deleted.

37 changes: 17 additions & 20 deletions .github/workflows/obs-service-shared.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,24 @@ name: Update OBS Service Package
on:
workflow_call:
secrets:
OBS_USER:
required: true
OBS_PASSWORD:
required: true

jobs:
update_service:
# do not run in forks which do not set the OBS_PROJECT variable
if: vars.OBS_PROJECT != ''
# do not run in forks which do not set the OBS_PROJECTS and OBS_USER variables,
# or the mapping for the current branch is missing
if: vars.OBS_PROJECTS && fromJson(vars.OBS_PROJECTS)[github.ref_name] && vars.OBS_USER

runs-on: ubuntu-latest

container:
image: registry.opensuse.org/opensuse/tumbleweed:latest

env:
# to avoid Ruby UTF-8 errors (the default is "POSIX")
LC_ALL: en_US.UTF-8

steps:
- name: Configure and refresh repositories
# disable unused repositories to have a faster refresh
Expand All @@ -43,33 +46,27 @@ jobs:
# fetch all history, we need to find the latest tag and offset for the version number
fetch-depth: 0

- name: Git Checkout (release tag only)
if: ${{ github.ref_type == 'tag' }}
uses: actions/checkout@v4

- name: Configure git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"

- name: Git Checkout
uses: actions/checkout@v4
with:
# fetch all history with tags, we need to find the latest version tag
fetch-depth: 0
fetch-tags: true

- name: Configure osc
run: .github/workflows/configure_osc.sh
env:
OBS_USER: ${{ secrets.OBS_USER }}
OBS_USER: ${{ vars.OBS_USER }}
OBS_PASSWORD: ${{ secrets.OBS_PASSWORD }}

- name: Commit the rubygem-agama-yast package to ${{ vars.OBS_PROJECT }}
- name: Commit the rubygem-agama-yast package to ${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }}
run: rake osc:commit
working-directory: ./service
env:
# do not build the package with "osc", it takes long time
# and does not provide much value
SKIP_OSC_BUILD: 1
OBS_PROJECT: ${{ vars.OBS_PROJECT }}

- name: Submit the rubygem-agama-yast package
# only when a tag has been pushed
if: ${{ github.ref_type == 'tag' }}
# the package has been comitted in the previous step, just submit it
run: rake osc:sr:force
working-directory: ./service
env:
OBS_PROJECT: ${{ vars.OBS_PROJECT }}
OBS_PROJECT: ${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }}
3 changes: 0 additions & 3 deletions .github/workflows/obs-staging-autoinstallation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ name: Submit agama-auto
on:
# runs on pushes targeting the default branch
push:
branches:
- master
- release
paths:
# run only when an autoinstallation source is changed
- autoinstallation/**
Expand Down
19 changes: 8 additions & 11 deletions .github/workflows/obs-staging-live.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
name: Submit agama-installer

on:
# runs on pushes targeting the default branch
push:
branches:
- master
- release
paths:
# run only when a live ISO source is changed
- live/**
Expand All @@ -14,9 +10,10 @@ on:
workflow_dispatch:

jobs:
update_staging_package:
# do not run in forks which do not set the OBS_PROJECT variable
if: vars.OBS_PROJECT != ''
update_obs_package:
# do not run in forks which do not set the OBS_PROJECTS variable,
# or the mapping for the current branch is missing
if: vars.OBS_PROJECTS && fromJson(vars.OBS_PROJECTS)[github.ref_name] && vars.OBS_USER

runs-on: ubuntu-latest

Expand All @@ -41,11 +38,11 @@ jobs:
- name: Configure osc
run: .github/workflows/configure_osc.sh
env:
OBS_USER: ${{ secrets.OBS_USER }}
OBS_USER: ${{ vars.OBS_USER }}
OBS_PASSWORD: ${{ secrets.OBS_PASSWORD }}

- name: Checkout ${{ vars.OBS_PROJECT }} agama-installer
run: osc co -o dist ${{ vars.OBS_PROJECT }} agama-installer
- name: Checkout ${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }} agama-installer
run: osc co -o dist ${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }} agama-installer
working-directory: ./live

- name: Build sources
Expand All @@ -60,6 +57,6 @@ jobs:
run: osc diff && osc status
working-directory: ./live/dist

- name: Commit agama-installer to ${{ vars.OBS_PROJECT }}
- name: Commit agama-installer to ${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }}
run: osc commit -m "Updated to Agama $GITHUB_SHA"
working-directory: ./live/dist
6 changes: 1 addition & 5 deletions .github/workflows/obs-staging-products.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
name: Submit agama-products

on:
# runs on pushes targeting the default branch
push:
branches:
- master
- release
paths:
# run only when a Rust source is changed
# run only when a product source is changed
- products.d/**

# allow running manually
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/obs-staging-rust.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
name: Submit agama

on:
# runs on pushes targeting the default branch
push:
branches:
- master
- release
paths:
# run only when a Rust source is changed
- rust/**
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/obs-staging-service.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
name: Submit rubygem-agama-yast

on:
# runs on pushes targeting the default branch
push:
branches:
- master
- release
paths:
# run only when a service source is changed
- service/**
Expand Down
64 changes: 21 additions & 43 deletions .github/workflows/obs-staging-shared.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ name: Update OBS Packages
on:
workflow_call:
secrets:
OBS_USER:
required: true
OBS_PASSWORD:
required: true

Expand All @@ -27,28 +25,17 @@ on:
type: string

jobs:
update_staging_package:
# do not run in forks which do not set the OBS_PROJECT variable,
# for the "release" branch or a git tag use the OBS_PROJECT_RELEASE variable
if: vars.OBS_PROJECT != '' || ((github.ref_name == 'release' || github.ref_type == 'tag') && vars.OBS_PROJECT_RELEASE != '')
update_obs_package:
# do not run in forks which do not set the OBS_PROJECTS and OBS_USER variables,
# or the mapping for the current branch is missing
if: vars.OBS_PROJECTS && fromJson(vars.OBS_PROJECTS)[github.ref_name] && vars.OBS_USER

runs-on: ubuntu-latest

container:
image: registry.opensuse.org/opensuse/tumbleweed:latest

steps:
- name: Select OBS project
id: obs_project
run: |-
if [ "${{ github.ref_name }}" = "release" -o "${{ github.ref_type }}" = "tag" ]; then
echo "OBS_PROJECT=${{ vars.OBS_PROJECT_RELEASE }}" >> "$GITHUB_OUTPUT"
echo "OBS project: ${{ vars.OBS_PROJECT_RELEASE }}"
else
echo "OBS_PROJECT=${{ vars.OBS_PROJECT }}" >> "$GITHUB_OUTPUT"
echo "OBS project: ${{ vars.OBS_PROJECT }}"
fi

- name: Configure and refresh repositories
# disable unused repositories to have a faster refresh
run: zypper modifyrepo -d repo-non-oss repo-openh264 repo-update && zypper ref
Expand All @@ -73,54 +60,45 @@ jobs:
- name: Configure osc
run: .github/workflows/configure_osc.sh
env:
OBS_USER: ${{ secrets.OBS_USER }}
OBS_USER: ${{ vars.OBS_USER }}
OBS_PASSWORD: ${{ secrets.OBS_PASSWORD }}

- name: Checkout ${{ steps.obs_project.outputs.OBS_PROJECT }} ${{ inputs.package_name }}
run: osc co ${{ steps.obs_project.outputs.OBS_PROJECT }} ${{ inputs.package_name }}
- name: Checkout ${{ inputs.package_name }} from ${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }}
run: osc co ${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }} ${{ inputs.package_name }}

- name: Configure git
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"

- name: Update service revision
# only when a tag has been pushed, or "release" branch updated
if: github.ref_type == 'tag' || github.ref_name == 'release'
if: inputs.service_file != ''
run: |-
echo "Updating revision to \"${{ github.ref_name }}\""
sed -i -e 's#<param name="revision">.*</param>#<param name="revision">${{ github.ref_name }}</param>#' _service
working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}
sed -i -e 's#<param name="revision">.*</param>#<param name="revision">${{ github.ref_name }}</param>#' ${{ inputs.service_file }}

- name: Copy optional service file
# patch the URL in the file so it works also from forks, forks also by
# default do not inherit the tags so remove the version format option if
# no tag is present
if: inputs.service_file != ''
run: |
sed -e 's#<param name="url">.*</param>#<param name="url">https://github.com/${{ github.repository }}.git</param>#' ${{ inputs.service_file }} > ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}/_service
if [ -z "$(git tag -l)" ]; then sed -i -e 's#<param name="versionformat">.*</param>##' ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}/_service; fi
sed -e 's#<param name="url">.*</param>#<param name="url">https://github.com/${{ github.repository }}.git</param>#' ${{ inputs.service_file }} > ./${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }}/${{ inputs.package_name }}/_service
if [ -z "$(git tag -l)" ]; then sed -i -e 's#<param name="versionformat">.*</param>##' ./${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }}/${{ inputs.package_name }}/_service; fi

- name: Run services
run: osc service manualrun
working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}

- name: Cleanup
# sometimes the "osc service" run does not cleanup properly all
# downloaded NPM package tarballs and they are accidentally added to the
# OBS package, so delete any TGZ files present
run: rm -vf *.tgz
working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}
run: |
osc service manualrun
# sometimes the "osc service" run does not cleanup properly all
# downloaded NPM package tarballs and they are accidentally added to the
# OBS package, so delete any TGZ files present
rm -vf *.tgz
working-directory: ./${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }}/${{ inputs.package_name }}

- name: Check status
run: osc addremove && osc diff && osc status
working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}
working-directory: ./${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }}/${{ inputs.package_name }}

- name: Commit ${{ inputs.package_name }} to ${{ steps.obs_project.outputs.OBS_PROJECT }}
- name: Commit ${{ inputs.package_name }} to ${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }}
run: |-
osc commit -m "Updated to $(sed -e '/^version:/!d' -e 's/version: *\(.*\)/\1/' agama.obsinfo) ($(sed -e '/^commit:/!d' -e 's/commit: *\(.*\)/\1/' agama.obsinfo))"
working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}

- name: Submit the package
# only when a tag has been pushed
if: github.ref_type == 'tag'
run: osc sr --yes -m "Releasing version ${{ github.ref_name }}"
working-directory: ./${{ steps.obs_project.outputs.OBS_PROJECT }}/${{ inputs.package_name }}
working-directory: ./${{ fromJson(vars.OBS_PROJECTS)[github.ref_name] }}/${{ inputs.package_name }}
4 changes: 0 additions & 4 deletions .github/workflows/obs-staging-web.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
name: Submit agama-web-ui

on:
# runs on pushes targeting the default branch
push:
branches:
- master
- release
paths:
# run only when a web frontend source is changed
- web/**
Expand Down
Loading