each repository has own color in the graph #681
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 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 | |
--env DATABASE_PATH=/mnt/database/ | |
docker.io/fackop/pppackage-updater:latest | |
PPpackage.repository_driver.pacman | |
--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 | |
--env DATABASE_PATH=/mnt/database/ | |
docker.io/fackop/pppackage-updater:latest | |
PPpackage.repository_driver.pacman | |
--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/ | |
--mount type=bind,source=${{ github.workspace }}/examples/update/repository-AUR.json,target=/mnt/repository.json | |
--env DATABASE_PATH=/mnt/database/ | |
docker.io/fackop/pppackage-updater:latest | |
PPpackage.repository_driver.AUR | |
--repository /mnt/repository.json | |
- 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 | |
--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 |