Bootstrap Andaman and Subatomic #64
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Bootstrap Andaman and Subatomic | |
on: | |
workflow_dispatch: | |
jobs: | |
bootstrap: | |
strategy: | |
matrix: | |
version: ["10"] | |
arch: ["x86_64", "aarch64"] | |
fail-fast: true | |
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }} | |
container: | |
image: quay.io/centos/centos:stream${{ matrix.version }}-development | |
options: --cap-add=SYS_ADMIN --privileged | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: el${{ matrix.version }} | |
fetch-depth: 1 | |
- name: Install repositories | |
run: | | |
dnf install -y 'dnf-command(config-manager)' | |
dnf config-manager --set-enabled crb | |
dnf install -y https://dl.fedoraproject.org/pub/epel/${{ matrix.version }}/Everything/${{ matrix.arch }}/os/Packages/e/epel-release-${{ matrix.version }}-1.el${{ matrix.version }}_0.noarch.rpm | |
dnf install -y mock wget git-core openssl-devel cargo podman fuse-overlayfs rpm-build mock | |
dnf builddep -y anda/{terra/{mock-configs,srpm-macros},tools/buildsys/subatomic}/*.spec | |
- name: Install Anda | |
run: cargo install anda | |
- 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 -c almalinux-${{ matrix.version }}-${{ matrix.arch }} anda/terra/mock-configs/pkg --rpm-builder=rpmbuild | |
- name: Install terra-mock-configs | |
run: dnf install -y anda-build/rpm/rpms/terra-mock-configs*.rpm | |
- name: Build anda-srpm-macros | |
run: anda build -c terra-el${{ matrix.version }}-dev-${{ matrix.arch }}.cfg anda/terra/srpm-macros/pkg --rpm-builder=rpmbuild | |
- name: Build Subatomic | |
run: anda build -c terra-el${{ matrix.version }}-dev-${{ matrix.arch }}.cfg anda/tools/buildsys/subatomic/pkg --rpm-builder=rpmbuild | |
- name: Install Subatomic | |
run: dnf install -y ./anda-build/rpm/rpms/subatomic-*.rpm | |
- name: Install Build Dependencies for Andaman | |
run: dnf builddep -y anda/tools/buildsys/anda/*.spec | |
- name: Build Andaman | |
run: anda build -c terra-el${{ matrix.version }}-dev-${{ matrix.arch }} anda/tools/buildsys/anda/pkg --rpm-builder=rpmbuild | |
- name: Upload packages to subatomic | |
run: | | |
subatomic-cli upload --prune \ | |
--server https://subatomic.fyralabs.com \ | |
--token ${{ secrets.SUBATOMIC_TOKEN }} \ | |
terrael${{ 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 }} \ | |
terrael${{ matrix.version }}-source anda-build/rpm/srpm/* |