Files
packages/.github/workflows/bootstrap.yml
T
madomado 0ab719cdf2 Mado/bootstrap f42 (#3310)
* feat(ci/bootstrap): minor fixes and build + install anda once

* fix(ci/bootstrap): split things to make stuff work idk

* fix(ci/bootstrap): swap out systemd for real systemd and I hate fedora

* fix(ci/bootstrap): build srpm macros first

* feat(ci/bootstrap): include rpmbuild

* feat(ci/bootstrap): ok now I understand why anda needs to exist

* fix(ci/bootstrap): and I hate rpmbuild

* fix(ci/bootstrap): specify full absolute path for rpmbuild

* fix(ci/bootstrap): no more moving rpms around thanks

* fix(ci/bootstrap): nvm we still need to move things around

* fix(ci/bootstrap): rpmbuild output move stuff around again

* fix(ci/bootstrap): anyway install script

also fix anda error output messages when

* fix(ci/bootstrap): need to tidy up output dir

* feat(ci/bootstrap): also build terra-release
2025-02-19 18:25:00 +08:00

78 lines
3.1 KiB
YAML

name: Bootstrap Andaman and Subatomic
on:
workflow_dispatch:
jobs:
bootstrap:
strategy:
matrix:
version: ["42"]
arch: ["x86_64", "aarch64"]
fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
container:
image: registry.fedoraproject.org/fedora-minimal:${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Install repositories
run: |
dnf5 swap -y --setopt=install_weak_deps=False systemd-standalone-sysusers systemd
dnf5 install -y --setopt=install_weak_deps=False curl wget git-core openssl-devel cargo podman fuse-overlayfs dnf5-plugins rpmbuild script
- uses: actions/checkout@v4
with:
ref: f${{ matrix.version }}
fetch-depth: 1
- name: Build anda-srpm-macros
run: |
mkdir -p anda-build/rpm/rpms
rpmbuild -bb anda/terra/srpm-macros/*.spec --undefine=_disable_source_fetch -D "_sourcedir $(pwd)/anda/terra/srpm-macros/" -D "_rpmdir $(pwd)/anda-build/rpm/rpms/"
mv ./anda-build/rpm/rpms/*/anda-*.rpm ./anda-build/rpm/rpms/
dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm
- name: Install build dependencies
run: dnf5 builddep -y anda/terra/{mock-configs,srpm-macros}/*.spec anda/tools/buildsys/{anda,subatomic}/*.spec
- name: Install Anda
run: |
rpmbuild -bb anda/tools/buildsys/anda/*.spec --undefine=_disable_source_fetch -D "_sourcedir $(pwd)/anda/tools/buildsys/anda/" -D "_rpmdir $(pwd)/anda-build/rpm/rpms/"
mv ./anda-build/rpm/rpms/*/anda-*.rpm ./anda-build/rpm/rpms/
dnf5 install -y ./anda-build/rpm/rpms/anda-*.rpm
- name: Build terra-mock-configs
run: |
echo "PATH=$PATH:/github/home/.cargo/bin" >> $GITHUB_ENV
export PATH=$PATH:/github/home/.cargo/bin
git config --global --add safe.directory "$GITHUB_WORKSPACE"
anda build -rrpmbuild anda/terra/mock-configs/pkg
- name: Install terra-mock-configs
run: dnf5 install -y anda-build/rpm/rpms/terra-mock-configs*.rpm
- name: Build trra-release
run: anda build -rrpmbuild anda/terra/release/pkg
- name: Build Subatomic
run: anda build -rrpmbuild anda/tools/buildsys/subatomic/pkg
- name: Install Subatomic
run: dnf5 install -y ./anda-build/rpm/rpms/subatomic-*.rpm
- name: Tidy up output directory
run: rmdir anda-build/rpm/rpms/{noarch,aarch64,x86_64} | true
- name: Upload packages to subatomic
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic
if: github.event_name == 'push'
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}-source anda-build/rpm/srpm/*