Skip to content

test

test #690

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 caches
uses: actions/[email protected]
with:
path: ${{ github.workspace }}/cache/
key: cache
- name: Cache databases
uses: actions/[email protected]
with:
path: ${{ github.workspace }}/database/
key: database
- 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/ cache/ workdir/
mkdir -p database/archlinux-core/ database/archlinux-extra/ database/AUR/ database/conancenter/
- name: Update archlinux core database
run: >
docker run --rm
--user $(id -u):$(id -g)
--mount type=bind,source=${{ github.workspace }}/database/archlinux-core/,target=/mnt/database/
--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/database/
--repository /mnt/repository.json
- name: Update archlinux extra database
run: >
docker run --rm
--user $(id -u):$(id -g)
--mount type=bind,source=${{ github.workspace }}/database/archlinux-extra/,target=/mnt/database/
--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/database/
--repository /mnt/repository.json
- name: Update AUR database
run: >
docker run --rm
--user $(id -u):$(id -g)
--mount type=bind,source=${{ github.workspace }}/database/AUR/,target=/mnt/database/
--env DATABASE_PATH=/mnt/database/
docker.io/fackop/pppackage-updater:latest
PPpackage.repository_driver.AUR
--data-path /mnt/database/
- 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=${{ github.workspace }}/database/conancenter/,target=/mnt/database/
--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/database/
--repository /mnt/repository.json
- name: Create default conan profile
if: steps.check_conancenter.outputs.files_exists == 'false'
run: >
docker run --rm
--user $(id -u):$(id -g)
--mount type=bind,source=${{ github.workspace }}/database/conancenter/,target=/mnt/database/
--env CONAN_HOME=/mnt/database/cache/
--entrypoint conan
docker.io/fackop/pppackage-updater:latest
profile detect
- 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