bugfix: build compressor #751
Workflow file for this run
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: Test | |
on: | |
push: | |
branches-ignore: | |
- main | |
jobs: | |
build-metamanager: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: docker/[email protected] | |
- uses: docker/[email protected] | |
with: | |
target: metamanager | |
tags: docker.io/fackop/pppackage-metamanager:latest | |
outputs: type=docker,dest=/tmp/image-metamanager.tar | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
- uses: actions/[email protected] | |
with: | |
name: image-metamanager | |
path: /tmp/image-metamanager.tar | |
build-solver: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: docker/[email protected] | |
- uses: docker/[email protected] | |
with: | |
target: solver | |
tags: docker.io/fackop/pppackage-solver:latest | |
outputs: type=docker,dest=/tmp/image-solver.tar | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
- uses: actions/[email protected] | |
with: | |
name: image-solver | |
path: /tmp/image-solver.tar | |
build-updater: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: docker/[email protected] | |
- uses: docker/[email protected] | |
with: | |
target: updater | |
tags: docker.io/fackop/pppackage-updater:latest | |
outputs: type=docker,dest=/tmp/image-updater.tar | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
- uses: actions/[email protected] | |
with: | |
name: image-updater | |
path: /tmp/image-updater.tar | |
test: | |
runs-on: ubuntu-latest | |
needs: | |
- build-metamanager | |
- build-updater | |
- build-solver | |
steps: | |
- uses: actions/[email protected] | |
- name: Install podman | |
uses: awalsh128/[email protected] | |
with: | |
packages: podman | |
- name: Download seccomp.json | |
run: sudo wget https://raw.githubusercontent.com/containers/common/main/pkg/seccomp/seccomp.json --output-document /etc/containers/seccomp.json | |
- name: Cache .PPpackage | |
uses: actions/[email protected] | |
with: | |
path: /home/runner/.PPpackage/ | |
key: cache | |
- name: Download image artifacts | |
uses: actions/[email protected] | |
with: | |
pattern: image-* | |
path: /tmp/ | |
merge-multiple: true | |
- name: Load images | |
run: | | |
docker load --input /tmp/image-metamanager.tar | |
docker load --input /tmp/image-updater.tar | |
podman load --input /tmp/image-solver.tar | |
podman tag localhost/latest:latest docker.io/fackop/pppackage-solver:latest | |
- name: Create directories | |
run: | | |
mkdir -p root/ output/ /home/runner/.PPpackage/ workdir/ | |
cd /home/runner/.PPpackage/ | |
mkdir -p cache/ repository/ | |
cd repository/ | |
mkdir -p archlinux-core/ archlinux-extra/ AUR/ conancenter/ | |
- name: Update archlinux-core | |
run: > | |
docker run --rm | |
--user $(id -u):$(id -g) | |
--mount type=bind,source=/home/runner/.PPpackage/repository/archlinux-core/,target=/mnt/repository/ | |
--mount type=bind,source=${{ github.workspace }}/examples/update/repository-pacman.json,target=/mnt/repository.json | |
--env REPOSITORY=core | |
docker.io/fackop/pppackage-updater:latest | |
PPpackage.repository_driver.pacman | |
archlinux-core | |
--data-path /mnt/repository/ | |
--repository-config /mnt/repository.json | |
- name: Update archlinux-extra | |
run: > | |
docker run --rm | |
--user $(id -u):$(id -g) | |
--mount type=bind,source=/home/runner/.PPpackage/repository/archlinux-extra/,target=/mnt/repository/ | |
--mount type=bind,source=${{ github.workspace }}/examples/update/repository-pacman.json,target=/mnt/repository.json | |
--env REPOSITORY=extra | |
docker.io/fackop/pppackage-updater:latest | |
PPpackage.repository_driver.pacman | |
archlinux-extra | |
--data-path /mnt/repository/ | |
--repository-config /mnt/repository.json | |
- name: Update AUR | |
run: > | |
docker run --rm | |
--user $(id -u):$(id -g) | |
--mount type=bind,source=/home/runner/.PPpackage/repository/AUR/,target=/mnt/repository/ | |
docker.io/fackop/pppackage-updater:latest | |
PPpackage.repository_driver.AUR | |
AUR | |
--data-path /mnt/repository/ | |
- name: Update conancenter | |
run: > | |
docker run --rm | |
--user $(id -u):$(id -g) | |
--mount type=bind,source=/home/runner/.PPpackage/repository/conancenter/,target=/mnt/repository/ | |
--mount type=bind,source=${{ github.workspace }}/examples/update/repository-conancenter.json,target=/mnt/repository.json | |
docker.io/fackop/pppackage-updater:latest | |
PPpackage.repository_driver.conan | |
conancenter | |
--data-path /mnt/repository/ | |
--repository-config /mnt/repository.json | |
- name: Run PPpackage for conan-build | |
run: > | |
USER="$(id -u):$(id -g)" docker compose | |
--file .github/compose.yaml | |
run --rm -T | |
metamanager | |
/mnt/root --config /mnt/config.json | |
<examples/input/conan-build.json | |
- name: Test alpm hooks (check if ldconfig ran) | |
run: ls -l root/etc/ld.so.cache | |
- name: Run PPpackage for conan-conflict | |
run: > | |
USER="$(id -u):$(id -g)" docker compose | |
--file .github/compose.yaml | |
run --rm -T metamanager | |
/mnt/root --config /mnt/config.json --just-resolve | |
<examples/input/conan-conflict/PP.json | |
- name: Clean meta-manager outputs | |
run: rm -rf output/ root/ | |
- name: Run PPpackage for project compressor | |
run: > | |
USER="$(id -u):$(id -g)" docker compose | |
--file .github/compose.yaml | |
run --rm -T | |
metamanager | |
/mnt/root --config /mnt/config.json | |
<examples/project/compressor/requirements.json | |
- name: Build project compressor | |
run: ./examples/project/compressor/build-in-container.sh docker ${{ github.workspace }}/root ${{ github.workspace }}/output/generators | |
- name: Run project compressor | |
run: ./examples/project/compressor/build/output/compressor | |
# wait for Ubuntu 24 becoming ubuntu-latest | |
fakealpm: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/[email protected] | |
- name: Install fakealpm dependencies | |
uses: awalsh128/[email protected] | |
with: | |
packages: libarchive-dev libalpm-dev gcc cmake ninja-build libboost-all-dev nlohmann-json3-dev | |
- name: Build fakelpm | |
run: ./src/installer/pacman/fakealpm/build.sh src/installer/pacman/fakealpm/ build/fakealpm/ /usr/local |