Skip to content

Commit

Permalink
Merge master branch into storage-config-ui (#1855)
Browse files Browse the repository at this point in the history
## Problem

The feature branch `storage-config-ui` has been running in parallel to
master for months already. Getting out of sync little by little.

## Solution

Merge the changes from `master` into `storage-config-ui` solving all the
conflicts.
  • Loading branch information
dgdavid authored Dec 27, 2024
2 parents e6d8bf4 + d377bce commit 143095e
Show file tree
Hide file tree
Showing 263 changed files with 27,526 additions and 61,667 deletions.
1 change: 1 addition & 0 deletions .github/workflows/ci-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ jobs:
run: zypper --non-interactive install
clang-devel
dbus-1-daemon
golang-github-google-jsonnet
jq
libopenssl-3-devel
openssl-3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/github-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
run: cd web && npm ci

- name: Build Web UI documentation
run: cd web && npm run typedoc:client && mv typedoc.out/ ../doc/dist/web-ui
run: cd web && npm run typedoc && mv typedoc.out/ ../doc/dist/web-ui

- name: Setup Pages
uses: actions/configure-pages@v3
Expand Down
58 changes: 32 additions & 26 deletions .github/workflows/weblate-merge-po.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
zypper --non-interactive ref
- name: Install tools
run: zypper --non-interactive install --no-recommends git gettext-tools python3-langtable
run: zypper --non-interactive install --no-recommends nodejs npm git gettext-tools python3-langtable

- name: Configure Git
run: |
Expand All @@ -53,61 +53,67 @@ jobs:
path: agama-weblate
repository: ${{ github.repository_owner }}/agama-weblate

- name: Update PO files
- name: Install NPM packages
working-directory: ./agama/web/share/po
run: npm ci

- name: Validate the PO files
working-directory: ./agama-weblate
run: ls web/*.po | xargs -n1 msgfmt --check-format -o /dev/null

- name: Update JS translations
working-directory: ./agama
run: |
mkdir -p web/po
mkdir -p web/src/po
# delete the current translations
find web/po -name '*.po' -exec git rm '{}' ';'
find web/src/po -name '*.js' -exec git rm '{}' ';'
# copy the new ones
mkdir -p web/po
cp -a ../agama-weblate/web/*.po web/po
git add web/po/*.po
# update the list of supported languages, it is used by the PO->JS converter in the next step
web/share/update-languages.py --po-directory ../agama-weblate/web > web/src/languages.json
- name: Validate the PO files
working-directory: ./agama
run: ls web/po/*.po | xargs -n1 msgfmt --check-format -o /dev/null
# rebuild the JS files
(cd web/src/po && SRCDIR=../../../../agama-weblate/web ../../share/po/po-converter.js)
# stage the changes
git add web/src/po/*.js web/src/languages.json
# any changes besides the timestamps in the PO files?
# any changes detected?
- name: Check changes
id: check_changes
working-directory: ./agama
run: |
git diff --staged --ignore-matching-lines="POT-Creation-Date:" \
--ignore-matching-lines="PO-Revision-Date:" web/po > po.diff
git diff --staged web | tee tr.diff
if [ -s po.diff ]; then
echo "PO files updated"
if [ -s tr.diff ]; then
echo "Translations updated"
# this is an Output Parameter
# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter
echo "po_updated=true" >> $GITHUB_OUTPUT
echo "updated=true" >> $GITHUB_OUTPUT
else
echo "PO files unchanged"
echo "po_updated=false" >> $GITHUB_OUTPUT
echo "Translations not changed"
echo "updated=false" >> $GITHUB_OUTPUT
fi
rm po.diff
rm tr.diff
- name: Push updated PO files
# run only when a PO file has been updated
if: steps.check_changes.outputs.po_updated == 'true'
if: steps.check_changes.outputs.updated == 'true'
working-directory: ./agama
run: |
web/share/update-languages.py > web/src/languages.json
# use a unique branch to avoid possible conflicts with already existing branches
# use an unique branch to avoid possible conflicts with already existing branches
git checkout -b "po_merge_${GITHUB_RUN_ID}"
git commit -a -m "Update web PO files"$'\n\n'"Agama-weblate commit: `git -C ../agama-weblate rev-parse HEAD`"
git commit -a -m "Update web translation files"$'\n\n'"Agama-weblate commit: `git -C ../agama-weblate rev-parse HEAD`"
git push origin "po_merge_${GITHUB_RUN_ID}"
- name: Create pull request
# run only when a PO file has been updated
if: steps.check_changes.outputs.po_updated == 'true'
if: steps.check_changes.outputs.updated == 'true'
working-directory: ./agama
run: |
gh pr create -B master -H "po_merge_${GITHUB_RUN_ID}" \
--label translations --label bot \
--title "Update web PO files" \
--title "Update web translation files" \
--body "Updating the web translation files from the agama-weblate repository"
env:
GH_TOKEN: ${{ github.token }}
4 changes: 2 additions & 2 deletions PACKAGING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ The Agama packages are available in the
OBS project. These packages are automatically updated whenever the master branch is changed or when
a new version is released.

You can find more details the automatic OBS synchronization in the
[obs_integration.md](doc/obs_integration.md) file.
You can find more details the automatic OBS synchronization at
[obs_integration.md](https://agama-project.github.io/docs/devel/obs_integration).

The process to build each package is slightly different depending on the technology we are using.
While the Ruby-based one (`rubygem-agama-yast`) is built as any other YaST package, the Agama server
Expand Down
25 changes: 19 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,24 +67,25 @@ might want to access remotely to the installer. If you know the IP address of th
need to point your browser to `https://$IP`.

For the case you do not know the address, or just for convenience, the Live ISO is configured to use
mDNS (sometimes called Avahi, Zeroconf, Bonjour) for hostname resolution. Therefore, connecting to
`https://agama.local` should do the trick.
[Multicast DNS](https://en.wikipedia.org/wiki/Multicast_DNS) (sometimes called mDNS, Avahi,
Zeroconf, Bonjour) for hostname resolution. Therefore, connecting to `https://agama.local` should do
the trick.

> [!WARNING]
> Do not use the `.local` hostnames in untrusted networks (like public WiFi networks, shared
> networks), it is a security risk. An attacker can easily send malicious responses for the `.local`
> hostname resolutions and point you to a wrong Agama instance which could for example steal your
> root password!
If you have troubles or you want to know more about this feature, check our
[Avahi/mDNS](./doc/avahi.md) documentation.
If you have troubles or you want to know more about this feature, check our [Remote
access](https://agama-project.github.io/docs/user/remote) documentation.

## Other Resources

- If you want to know how Agama works, you should read about
[Agama's architecture](/doc/architecture.md)
[Agama's architecture](https://agama-project.github.io/docs/devel/architecture)
- If you would like to [contribute](#how-to-contribute), you might be interested in:
- [Running Agama from sources](./doc/running.md).
- [Running Agama from sources](https://agama-project.github.io/docs/devel/running).
- [Working with Agama's web server](./rust/WEB-SERVER.md).
- [Working with Agama's web UI](./web/README.md).
- You can check the overall status of the project through the [status page](/STATUS.md).
Expand All @@ -95,3 +96,15 @@ If you want to contribute to Agama, then please open a pull request or report an
get involved in [our discussions](https://github.com/openSUSE/agama/discussions).

For more details, please read the [contributing](CONTRIBUTING.md) guidelines.

### Translators

Thank you for translating Agama to your language!

If something is broken about the translations, see the detailed
[Agama i18n workflow and internals][i18n] documentation.

See also the [openSUSE Translation][trans-ml] mailing list and its archives.

[i18n]: https://agama-project.github.io/docs/devel/i18n
[trans-ml]: https://lists.opensuse.org/manage/lists/translation.lists.opensuse.org/
7 changes: 4 additions & 3 deletions autoinstallation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ approach might sound familiar to AutoYaST users. On the other hand, Agama can ac
shell script, enabling custom pre-installation workflows.

Although Agama defines its own [profile format](../rust/agama-lib/share/profile.schema.json), it is
able to partially handle AutoYaST profiles. Please, check the [AutoYaST support document](../doc/
autoyast.md) for further information.
able to partially handle AutoYaST profiles. Please, check the [AutoYaST support document](
https://agama-project.github.io/docs/user/autoyast) for further information.

## Profile-based installation

Expand Down Expand Up @@ -235,7 +235,8 @@ Using the correct extension in the file name is important:
- `.jsonnet` enables dynamic content through Jsonnet.
- `.json` assumes the profile is just a JSON file, so no dynamic content is expected.
- `.xml`, `.erb` or a trailing slash (`/`) indicates that you want to import an AutoYaST profile.
Check [autoyast.md](../doc/autoyast.doc) for further information.
Check the [AutoYaST support document](https://agama-project.github.io/docs/user/autoyast)
for further information.
- `.sh` would be interpreted as a shell script.

## Caveats
Expand Down
Loading

0 comments on commit 143095e

Please sign in to comment.