done #694
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 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 |