Skip to content

done

done #694

Workflow file for this run

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 0/ 1/ 2/ 3/
- name: Update archlinux core database
run: >
docker run --rm
--user $(id -u):$(id -g)
--mount type=bind,source=/home/runner/.PPpackage/repository/0/,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
--data-path /mnt/repository/
--repository /mnt/repository.json
- name: Update archlinux extra database
run: >
docker run --rm
--user $(id -u):$(id -g)
--mount type=bind,source=/home/runner/.PPpackage/repository/1/,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
--data-path /mnt/repository/
--repository /mnt/repository.json
- name: Update AUR database
run: >
docker run --rm
--user $(id -u):$(id -g)
--mount type=bind,source=/home/runner/.PPpackage/repository/2/,target=/mnt/repository/
--env DATABASE_PATH=/mnt/database/
docker.io/fackop/pppackage-updater:latest
PPpackage.repository_driver.AUR
--data-path /mnt/repository/
- name: Check if conancenter database exists
id: check_conancenter
uses: andstor/[email protected]
with:
files: database/conancenter/cache/
- name: Update conancenter database
if: steps.check_conancenter.outputs.files_exists == 'false'
run: >
docker run --rm
--user $(id -u):$(id -g)
--mount type=bind,source=/home/runner/.PPpackage/repository/3/,target=/mnt/repository/
--mount type=bind,source=${{ github.workspace }}/examples/update/repository-conancenter.json,target=/mnt/repository.json
--env DATABASE_PATH=/mnt/database/
docker.io/fackop/pppackage-updater:latest
PPpackage.repository_driver.conan
--data-path /mnt/repository/
--repository /mnt/repository.json
- name: Run PPpackage
run: >
USER="$(id -u):$(id -g)" docker compose
--file .github/compose.yaml
run --rm
-T metamanager < examples/input/conan-build.json
- name: Test alpm hooks (check if ldconfig ran)
run: ls -l root/etc/ld.so.cache