From 34aadf7303a210bdc26fda71d1cafa869cb677ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Feb 2025 06:17:37 +0000 Subject: [PATCH 1/3] chore(deps): bump vanilla-os/vib-gh-action from 0.8.1 to 1.0.0 Bumps [vanilla-os/vib-gh-action](https://github.com/vanilla-os/vib-gh-action) from 0.8.1 to 1.0.0. - [Release notes](https://github.com/vanilla-os/vib-gh-action/releases) - [Commits](https://github.com/vanilla-os/vib-gh-action/compare/v0.8.1...v1.0.0) --- updated-dependencies: - dependency-name: vanilla-os/vib-gh-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- .github/workflows/vib-build.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cf3f274..10803b9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,7 +40,7 @@ jobs: run: | sed 's/ghcr.io\/vanilla-os\/pico:dev/ghcr.io\/vanilla-os\/pico:main/' -i recipe.yml - - uses: vanilla-os/vib-gh-action@v0.8.1 + - uses: vanilla-os/vib-gh-action@v1.0.0 with: recipe: 'recipe.yml' plugins: 'Vanilla-OS/vib-fsguard:v1.5.3' diff --git a/.github/workflows/vib-build.yml b/.github/workflows/vib-build.yml index a5d44a5..76b1c24 100644 --- a/.github/workflows/vib-build.yml +++ b/.github/workflows/vib-build.yml @@ -41,7 +41,7 @@ jobs: run: | sed 's/ghcr.io\/vanilla-os\/pico:dev/ghcr.io\/vanilla-os\/pico:main/' -i recipe.yml - - uses: vanilla-os/vib-gh-action@v0.8.1 + - uses: vanilla-os/vib-gh-action@v1.0.0 with: recipe: 'recipe.yml' plugins: 'Vanilla-OS/vib-fsguard:v1.5.3' From 0550a5a224398a5dfe8603409befb262b6966a26 Mon Sep 17 00:00:00 2001 From: "K.B.Dharun Krishna" Date: Tue, 25 Feb 2025 11:55:36 +0530 Subject: [PATCH 2/3] fix: adapt recipe and module to vib 1.0.0 Signed-off-by: K.B.Dharun Krishna --- modules/00-vanilla-abroot.yml | 6 ++-- modules/00-vanilla-base-files.yml | 10 +++---- modules/01-kernel.yml | 7 +++-- modules/05-firmware.yml | 28 ++++++++--------- modules/10-input-and-locale.yml | 14 ++++----- modules/100-modules.yml | 18 +++++------ modules/110-fwupd.yml | 8 ++--- modules/120-fingerprint.yml | 8 ++--- modules/140-manpages.yml | 8 ++--- modules/20-ssh.yml | 16 +++++----- modules/30-utils.yml | 22 +++++++------- modules/40-essentials.yml | 50 +++++++++++++++---------------- modules/50-fs.yml | 22 +++++++------- modules/60-sound.yml | 16 +++++----- modules/70-compression.yml | 10 +++---- modules/80-xdg.yml | 10 +++---- modules/90-network.yml | 50 +++++++++++++++---------------- modules/91-iptables.yml | 6 ++-- recipe.yml | 17 ++++++----- 19 files changed, 164 insertions(+), 162 deletions(-) diff --git a/modules/00-vanilla-abroot.yml b/modules/00-vanilla-abroot.yml index 02d72b6..045d83a 100644 --- a/modules/00-vanilla-abroot.yml +++ b/modules/00-vanilla-abroot.yml @@ -20,6 +20,6 @@ modules: - mv /sources/abroot-manpage/man/man1/abroot.1 /usr/share/man/man1/ - name: abroot-deps type: apt - source: - packages: - - netavark + sources: + - packages: + - netavark diff --git a/modules/00-vanilla-base-files.yml b/modules/00-vanilla-base-files.yml index 974319f..0ef464a 100644 --- a/modules/00-vanilla-base-files.yml +++ b/modules/00-vanilla-base-files.yml @@ -10,8 +10,8 @@ commands: modules: - name: base-files-deps-install type: apt - source: - packages: - - dpkg-dev - - build-essential - - debhelper + sources: + - packages: + - dpkg-dev + - build-essential + - debhelper diff --git a/modules/01-kernel.yml b/modules/01-kernel.yml index 1a30abc..4fcb67d 100644 --- a/modules/01-kernel.yml +++ b/modules/01-kernel.yml @@ -1,8 +1,9 @@ name: kernel type: apt -source: - packages: - - linux-image-6.12.9-amd64 +sources: + - packages: + - linux-image-6.12.9-amd64 + # removed temporarily to avoid changing kernel version # - linux-image-amd64 # - linux-headers-amd64 diff --git a/modules/05-firmware.yml b/modules/05-firmware.yml index 302ffa6..dcd5ca6 100644 --- a/modules/05-firmware.yml +++ b/modules/05-firmware.yml @@ -1,16 +1,16 @@ name: firmware type: apt -source: - packages: - - firmware-linux - - firmware-linux-nonfree - - firmware-linux-free - - firmware-iwlwifi - - firmware-realtek - - firmware-atheros - - intel-microcode - - amd64-microcode - - b43-fwcutter - - firmware-b43-installer - - firmware-brcm80211 - - firmware-sof-signed +sources: + - packages: + - firmware-linux + - firmware-linux-nonfree + - firmware-linux-free + - firmware-iwlwifi + - firmware-realtek + - firmware-atheros + - intel-microcode + - amd64-microcode + - b43-fwcutter + - firmware-b43-installer + - firmware-brcm80211 + - firmware-sof-signed diff --git a/modules/10-input-and-locale.yml b/modules/10-input-and-locale.yml index ae29f28..d5e6f0a 100644 --- a/modules/10-input-and-locale.yml +++ b/modules/10-input-and-locale.yml @@ -1,9 +1,9 @@ name: input-and-locale type: apt -source: - packages: - - locales - - kmod - - xkb-data - - im-config - - console-setup +sources: + - packages: + - locales + - kmod + - xkb-data + - im-config + - console-setup diff --git a/modules/100-modules.yml b/modules/100-modules.yml index 34cb29a..21d50b8 100644 --- a/modules/100-modules.yml +++ b/modules/100-modules.yml @@ -1,11 +1,11 @@ name: modules type: apt -source: - packages: - - dkms - - bolt - - inputattach - - iucode-tool - - cryptsetup-initramfs - - acpi-call-dkms - - libsasl2-modules +sources: + - packages: + - dkms + - bolt + - inputattach + - iucode-tool + - cryptsetup-initramfs + - acpi-call-dkms + - libsasl2-modules diff --git a/modules/110-fwupd.yml b/modules/110-fwupd.yml index 0047f2b..abed2f6 100644 --- a/modules/110-fwupd.yml +++ b/modules/110-fwupd.yml @@ -1,6 +1,6 @@ name: fwupd type: apt -source: - packages: - - fwupd - - fwupd-amd64-signed +sources: + - packages: + - fwupd + - fwupd-amd64-signed diff --git a/modules/120-fingerprint.yml b/modules/120-fingerprint.yml index 25b20c2..982335c 100644 --- a/modules/120-fingerprint.yml +++ b/modules/120-fingerprint.yml @@ -1,6 +1,6 @@ name: fingerprint type: apt -source: - packages: - - fprintd - - libpam-fprintd +sources: + - packages: + - fprintd + - libpam-fprintd diff --git a/modules/140-manpages.yml b/modules/140-manpages.yml index 0b4000d..618d65f 100644 --- a/modules/140-manpages.yml +++ b/modules/140-manpages.yml @@ -1,6 +1,6 @@ name: manpages type: apt -source: - packages: - - manpages - - manpages-posix +sources: + - packages: + - manpages + - manpages-posix diff --git a/modules/20-ssh.yml b/modules/20-ssh.yml index e9ef8c4..a30e244 100644 --- a/modules/20-ssh.yml +++ b/modules/20-ssh.yml @@ -1,10 +1,10 @@ name: ssh type: apt -source: - packages: - - gpg - - gpg-agent - - dirmngr - - ca-certificates - - openssh-server - - spice-vdagent +sources: + - packages: + - gpg + - gpg-agent + - dirmngr + - ca-certificates + - openssh-server + - spice-vdagent diff --git a/modules/30-utils.yml b/modules/30-utils.yml index e0f8a4d..e46c212 100644 --- a/modules/30-utils.yml +++ b/modules/30-utils.yml @@ -1,13 +1,13 @@ name: utils type: apt -source: - packages: - - nano - - zsync - - rsync - - dialog - - less - - curl - - tracker - - bash-completion - - libnss-myhostname +sources: + - packages: + - nano + - zsync + - rsync + - dialog + - less + - curl + - tracker + - bash-completion + - libnss-myhostname diff --git a/modules/40-essentials.yml b/modules/40-essentials.yml index 3251968..5b945b0 100644 --- a/modules/40-essentials.yml +++ b/modules/40-essentials.yml @@ -1,27 +1,27 @@ name: essentials type: apt -source: - packages: - - setserial - - systemd-sysv - - user-setup - - console-setup - - sudo - - acpi - - polkitd - - pkexec - - bc - - pcmciautils - - samba-common-bin - - ibus - - ibus-table - - laptop-detect - - efibootmgr - - grub-efi-amd64 - - grub-efi-amd64-bin - - grub-efi-amd64-signed - - shim-signed - - shim-helpers-amd64-signed - - uidmap - - minisign - - zram-tools +sources: + - packages: + - setserial + - systemd-sysv + - user-setup + - console-setup + - sudo + - acpi + - polkitd + - pkexec + - bc + - pcmciautils + - samba-common-bin + - ibus + - ibus-table + - laptop-detect + - efibootmgr + - grub-efi-amd64 + - grub-efi-amd64-bin + - grub-efi-amd64-signed + - shim-signed + - shim-helpers-amd64-signed + - uidmap + - minisign + - zram-tools diff --git a/modules/50-fs.yml b/modules/50-fs.yml index 9716ad0..c081ddd 100644 --- a/modules/50-fs.yml +++ b/modules/50-fs.yml @@ -1,13 +1,13 @@ name: fs type: apt -source: - packages: - - exfatprogs - - btrfs-progs - - dosfstools - - gvfs-backends - - ntfs-3g - - nfs-common - - gvfs-fuse - - libfuse3-3 - - lvm2 +sources: + - packages: + - exfatprogs + - btrfs-progs + - dosfstools + - gvfs-backends + - ntfs-3g + - nfs-common + - gvfs-fuse + - libfuse3-3 + - lvm2 diff --git a/modules/60-sound.yml b/modules/60-sound.yml index 6b43580..a473213 100644 --- a/modules/60-sound.yml +++ b/modules/60-sound.yml @@ -1,10 +1,10 @@ name: sound type: apt -source: - packages: - - pipewire-pulse - - pipewire-alsa - - wireplumber - - alsa-utils - - alsa-firmware-loaders - - libasound2t64 +sources: + - packages: + - pipewire-pulse + - pipewire-alsa + - wireplumber + - alsa-utils + - alsa-firmware-loaders + - libasound2t64 diff --git a/modules/70-compression.yml b/modules/70-compression.yml index 270165b..38e62e1 100644 --- a/modules/70-compression.yml +++ b/modules/70-compression.yml @@ -1,7 +1,7 @@ name: compression type: apt -source: - packages: - - zstd - - zip - - unzip +sources: + - packages: + - zstd + - zip + - unzip diff --git a/modules/80-xdg.yml b/modules/80-xdg.yml index 7bead37..aa85cbe 100644 --- a/modules/80-xdg.yml +++ b/modules/80-xdg.yml @@ -1,7 +1,7 @@ name: xdg type: apt -source: - packages: - - xdg-utils - - xdg-user-dirs - - xdg-user-dirs-gtk +sources: + - packages: + - xdg-utils + - xdg-user-dirs + - xdg-user-dirs-gtk diff --git a/modules/90-network.yml b/modules/90-network.yml index ba52898..683acfb 100644 --- a/modules/90-network.yml +++ b/modules/90-network.yml @@ -1,27 +1,27 @@ name: network type: apt -source: - packages: - - network-manager - - network-manager-config-connectivity-debian - - network-manager-openvpn - - network-manager-fortisslvpn - - network-manager-l2tp - - network-manager-openconnect - - network-manager-ssh - - network-manager-vpnc - - modemmanager - - wpasupplicant - - wireless-tools - # removed temporarily to avoid changing kernel version - # - wireguard - - avahi-autoipd - - avahi-daemon - - rfkill - - bluez - - bluez-obexd - - libspa-0.2-bluetooth - - libnss-mdns - - libproxy1-plugin-networkmanager - - ntp - - iputils-ping +sources: + - packages: + - network-manager + - network-manager-config-connectivity-debian + - network-manager-openvpn + - network-manager-fortisslvpn + - network-manager-l2tp + - network-manager-openconnect + - network-manager-ssh + - network-manager-vpnc + - modemmanager + - wpasupplicant + - wireless-tools + # removed temporarily to avoid changing kernel version + # - wireguard + - avahi-autoipd + - avahi-daemon + - rfkill + - bluez + - bluez-obexd + - libspa-0.2-bluetooth + - libnss-mdns + - libproxy1-plugin-networkmanager + - ntp + - iputils-ping diff --git a/modules/91-iptables.yml b/modules/91-iptables.yml index a435c6f..d03d9ba 100644 --- a/modules/91-iptables.yml +++ b/modules/91-iptables.yml @@ -1,8 +1,8 @@ name: iptables type: apt -source: - packages: - - iptables +sources: + - packages: + - iptables modules: - name: enable-iptables-systemd-unit type: shell diff --git a/recipe.yml b/recipe.yml index 438ef5c..0b4b5f6 100644 --- a/recipe.yml +++ b/recipe.yml @@ -1,5 +1,6 @@ name: Vanilla Core id: core +vibversion: 1.0.0 stages: - id: build @@ -59,11 +60,11 @@ stages: - name: fsguard-runtime-deps type: apt - source: - packages: - - "minisign" - - "squashfs-tools" - - "python3" + sources: + - packages: + - "minisign" + - "squashfs-tools" + - "python3" - name: cleanup1 type: shell @@ -85,9 +86,9 @@ stages: modules: - name: minisign type: apt - source: - packages: - - "minisign" + sources: + - packages: + - "minisign" - name: cleanup2 type: shell From 11a6a2dd42eb2504032a27e659e7995b3122714f Mon Sep 17 00:00:00 2001 From: "K.B.Dharun Krishna" Date: Tue, 25 Feb 2025 19:48:50 +0530 Subject: [PATCH 3/3] fix: update shell modules to new vib syntax Signed-off-by: K.B.Dharun Krishna --- modules/00-vanilla-abroot.yml | 18 +++++++++--------- modules/00-vanilla-apx-stacks.yml | 8 ++++---- modules/00-vanilla-apx.yml | 24 ++++++++++++------------ modules/00-vanilla-base-files.yml | 8 ++++---- modules/03-fswarn.yml | 8 ++++---- modules/150-init-executable.yml | 1 - modules/998-podman-registry.yml | 2 +- modules/999-remove-grub-files.yml | 6 +++--- modules/999-replace-locale-gen.yml | 2 +- recipe.yml | 8 ++++---- 10 files changed, 42 insertions(+), 43 deletions(-) diff --git a/modules/00-vanilla-abroot.yml b/modules/00-vanilla-abroot.yml index 045d83a..22c6eff 100644 --- a/modules/00-vanilla-abroot.yml +++ b/modules/00-vanilla-abroot.yml @@ -1,9 +1,9 @@ name: abroot type: shell -source: - type: tar - url: https://github.com/Vanilla-OS/ABRoot/releases/download/v2.1.1/abrootv2.tar.gz - checksum: 257b31fab1d735c4a833f93a576cdeced2d9cef67cf4da6dc81694be655d9d05 +sources: + - type: tar + url: https://github.com/Vanilla-OS/ABRoot/releases/download/v2.1.1/abrootv2.tar.gz + checksum: 257b31fab1d735c4a833f93a576cdeced2d9cef67cf4da6dc81694be655d9d05 commands: - apt install -y podman golang-github-containers-common patch wget - mkdir -p /usr/bin @@ -12,12 +12,12 @@ commands: modules: - name: abroot-manpage type: shell - source: - type: tar - url: https://github.com/Vanilla-OS/ABRoot/releases/download/v2.1.1/abroot-man.tar.gz - checksum: 2437300bdae0316a17bc2e5fc25d3dd356297ccfc14e70c77fa1a410e20eed65 + sources: + - type: tar + url: https://github.com/Vanilla-OS/ABRoot/releases/download/v2.1.1/abroot-man.tar.gz + checksum: 2437300bdae0316a17bc2e5fc25d3dd356297ccfc14e70c77fa1a410e20eed65 commands: - - mv /sources/abroot-manpage/man/man1/abroot.1 /usr/share/man/man1/ + - mv /sources/abroot-manpage/man/man1/abroot.1 /usr/share/man/man1/ - name: abroot-deps type: apt sources: diff --git a/modules/00-vanilla-apx-stacks.yml b/modules/00-vanilla-apx-stacks.yml index 9763549..f1ddb04 100644 --- a/modules/00-vanilla-apx-stacks.yml +++ b/modules/00-vanilla-apx-stacks.yml @@ -1,9 +1,9 @@ name: apx-stacks type: shell -source: - type: git - url: https://github.com/Vanilla-OS/vanilla-apx-configs.git - tag: v1.0.0 +sources: + - type: git + url: https://github.com/Vanilla-OS/vanilla-apx-configs.git + tag: v1.0.0 commands: - mkdir -p /usr/share/apx - mv /sources/apx-stacks/stacks /usr/share/apx/ diff --git a/modules/00-vanilla-apx.yml b/modules/00-vanilla-apx.yml index 8efe09d..362b01b 100644 --- a/modules/00-vanilla-apx.yml +++ b/modules/00-vanilla-apx.yml @@ -1,9 +1,9 @@ name: apx type: shell -source: - type: tar - url: https://github.com/Vanilla-OS/apx/releases/download/v2.4.4/apx.tar.gz - checksum: 4b56b253fdb70815ce2407faa0aa22a0ae5ab02a389cb5934b0947c3a767ef45 +sources: + - type: tar + url: https://github.com/Vanilla-OS/apx/releases/download/v2.4.4/apx.tar.gz + checksum: 4b56b253fdb70815ce2407faa0aa22a0ae5ab02a389cb5934b0947c3a767ef45 commands: - mkdir -p /usr/bin - cp /sources/apx/apx /usr/bin/apx @@ -11,10 +11,10 @@ commands: modules: - name: distrobox type: shell - source: - type: tar - url: https://github.com/89luca89/distrobox/archive/refs/tags/1.8.1.2.tar.gz - checksum: 3ecbce9b8c5b5df941f986798ffa6ea7fdf742223d42204207974c4323d5b9fc + sources: + - type: tar + url: https://github.com/89luca89/distrobox/archive/refs/tags/1.8.1.2.tar.gz + checksum: 3ecbce9b8c5b5df941f986798ffa6ea7fdf742223d42204207974c4323d5b9fc commands: - mkdir -p /usr/share/apx - cp -r /sources/distrobox/distrobox-1.8.1.2 /usr/share/apx/distrobox @@ -22,9 +22,9 @@ modules: - sed -E -i 's/.*printf "distrobox.*/echo apx \$(echo ${container_name} | sed "s|apx-||") enter/g' /usr/share/apx/distrobox/distrobox-create - name: apx-manpage type: shell - source: - type: tar - url: https://github.com/Vanilla-OS/apx/releases/download/v2.4.4/apx-man.tar.gz - checksum: caa70a0d592e8387cf8e189f9dc1ea2946ac9a44fd5a06747220b75666e81e27 + sources: + - type: tar + url: https://github.com/Vanilla-OS/apx/releases/download/v2.4.4/apx-man.tar.gz + checksum: caa70a0d592e8387cf8e189f9dc1ea2946ac9a44fd5a06747220b75666e81e27 commands: - mv /sources/apx-manpage/man/man1/apx.1 /usr/share/man/man1/ diff --git a/modules/00-vanilla-base-files.yml b/modules/00-vanilla-base-files.yml index 0ef464a..bbc5e04 100644 --- a/modules/00-vanilla-base-files.yml +++ b/modules/00-vanilla-base-files.yml @@ -1,9 +1,9 @@ name: base-files type: shell -source: - type: file - url: https://github.com/Vanilla-OS/base-files/releases/download/v1.0.0/base-files.deb - checksum: f7235c903242c5c8aa5a584c748700da869481e2ea3de6a3a67dfa92c1f25f5d +sources: + - type: file + url: https://github.com/Vanilla-OS/base-files/releases/download/v1.0.0/base-files.deb + checksum: f7235c903242c5c8aa5a584c748700da869481e2ea3de6a3a67dfa92c1f25f5d commands: - dpkg -i /sources/base-files/base-files.deb - apt -y install -f diff --git a/modules/03-fswarn.yml b/modules/03-fswarn.yml index 1ce4008..fbe664d 100644 --- a/modules/03-fswarn.yml +++ b/modules/03-fswarn.yml @@ -3,7 +3,7 @@ type: shell commands: - mkdir -p /boot/ - cp /sources/fswarn/fswarn-x86_64.squash /boot/fswarn.squash -source: - type: tar - url: https://github.com/Vanilla-OS/fswarn/releases/download/v1.0-1/fswarn.tar.xz - checksum: 52f66710132138c21b81b56cb2d6edc7e59ad6eef4a4065b81af0f852d827dab +sources: + - type: tar + url: https://github.com/Vanilla-OS/fswarn/releases/download/v1.0-1/fswarn.tar.xz + checksum: 52f66710132138c21b81b56cb2d6edc7e59ad6eef4a4065b81af0f852d827dab diff --git a/modules/150-init-executable.yml b/modules/150-init-executable.yml index 26bffab..8491265 100644 --- a/modules/150-init-executable.yml +++ b/modules/150-init-executable.yml @@ -5,4 +5,3 @@ commands: - mv /usr/sbin/init.new /usr/sbin/init - chmod +x /usr/sbin/init - chmod +x /usr/share/init.d/* - diff --git a/modules/998-podman-registry.yml b/modules/998-podman-registry.yml index 1f0d417..0305db7 100644 --- a/modules/998-podman-registry.yml +++ b/modules/998-podman-registry.yml @@ -3,4 +3,4 @@ name: podman-rgistry type: shell commands: -- echo "unqualified-search-registries=[\"docker.io\"]" >> /etc/containers/registries.conf + - echo "unqualified-search-registries=[\"docker.io\"]" >> /etc/containers/registries.conf diff --git a/modules/999-remove-grub-files.yml b/modules/999-remove-grub-files.yml index c823f66..7103d3c 100644 --- a/modules/999-remove-grub-files.yml +++ b/modules/999-remove-grub-files.yml @@ -1,6 +1,6 @@ name: remove-grub-files type: shell commands: -- rm /etc/grub.d/05_debian_theme -- rm /etc/grub.d/10_linux -- rm /etc/grub.d/20_linux_xen + - rm /etc/grub.d/05_debian_theme + - rm /etc/grub.d/10_linux + - rm /etc/grub.d/20_linux_xen diff --git a/modules/999-replace-locale-gen.yml b/modules/999-replace-locale-gen.yml index 104f8d2..2ba526c 100644 --- a/modules/999-replace-locale-gen.yml +++ b/modules/999-replace-locale-gen.yml @@ -1,4 +1,4 @@ name: replace-locale-gen type: shell commands: -- mv /usr/sbin/locale-gen-replacement /usr/sbin/locale-gen + - mv /usr/sbin/locale-gen-replacement /usr/sbin/locale-gen diff --git a/recipe.yml b/recipe.yml index 0b4b5f6..ba00ee2 100644 --- a/recipe.yml +++ b/recipe.yml @@ -69,14 +69,14 @@ stages: - name: cleanup1 type: shell commands: - - apt remove -y dpkg-dev build-essential - - apt autoremove -y - - apt clean + - apt remove -y dpkg-dev build-essential + - apt autoremove -y + - apt clean - name: polkit-remember-auth type: shell commands: - - sed -ie 's/auth_admin/auth_admin_keep/' /usr/share/polkit-1/actions/org.freedesktop.policykit.policy + - sed -ie 's/auth_admin/auth_admin_keep/' /usr/share/polkit-1/actions/org.freedesktop.policykit.policy - name: fsguard type: fsguard