Skip to content

Repository Testing

Repository Testing #15

Workflow file for this run

name: Repository Testing
on:
push:
tags:
- stable-*
- testing-*
- dev-*
env:
yagna_tag: v0.15.0
ya-runtime-wasi_tag: pre-rel-v0.2.4
ya-installer-resources_tag: ^v.*
ya-runtime-vm_tag: ^pre-rel-v0.4.0-ITL-.*
ya-runtime-vm-nvidia_tag: ^pre-rel-v0.1.3-.*
golem-nvidia-kernel_tag: ^v.*
distribution: testing
apt-sub-repo: apt-repo
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
update-repo:
name: "Fetch packages and build repository"
runs-on: ubuntu-22.04
# Grant GITHUB_TOKEN the permissions required to push to `golem-apt-repository`
permissions:
contents: write
steps:
# Download all deb packages
- uses: actions/checkout@v4
- name: "Get deb package: yagna"
uses: ./.github/actions/fetch-release-deb
with:
repo: yagna
pattern: ${{ env.yagna_tag }}
prerelease: false
- name: "Get deb package: ya-runtime-wasi"
uses: ./.github/actions/fetch-release-deb
with:
repo: ya-runtime-wasi
pattern: ${{ env.ya-runtime-wasi_tag }}
prerelease: true
- name: "Get deb package: ya-installer-resources"
uses: ./.github/actions/fetch-release-deb
with:
repo: ya-installer-resources
pattern: ${{ env.ya-installer-resources_tag }}
prerelease: true
- name: "Get deb package: ya-runtime-vm"
uses: ./.github/actions/fetch-release-deb
with:
repo: ya-runtime-vm
pattern: ${{ env.ya-runtime-vm_tag }}
prerelease: true
- name: "Get deb package: ya-runtime-vm-nvidia"
uses: ./.github/actions/fetch-release-deb
with:
owner: golemfactory
repo: ya-runtime-vm-nvidia
pattern: ${{ env.ya-runtime-vm-nvidia_tag }}
prerelease: true
- name: "Get deb package: golem-nvidia-kernel"
uses: ./.github/actions/fetch-release-deb
with:
owner: golemfactory
repo: golem-nvidia-kernel
pattern: ${{ env.golem-nvidia-kernel_tag }}
prerelease: true
- name: Extract Version
id: tag
uses: actions/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
return context.payload.ref.replace(/\/refs\/tags\//, '');
- name: Checkout golem-apt-repository
uses: actions/checkout@v4
with:
repository: golemfactory/golem-apt-repository
token: ${{ secrets.GITHUB_TOKEN }}
path: apt-repo
- name: Import GPG key
id: gpg_key
run: |
echo "$GPG_KEY" | gpg --batch --import
printf "keyid=%s\n" $(gpg -K --with-colons |grep ^fpr|cut -f 10 -d :) >> "$GITHUB_OUTPUT"
env:
GPG_KEY: ${{ secrets.APT_GPG_KEY }}
- name: Create repository
run: |
TARGET_DIR="./${{ env.apt-sub-repo }}/${{ env.distribution }}"
sudo apt-get -qy install reprepro
./update-local-repository.sh ./packages $TARGET_DIR ubuntu jammy ${{ steps.gpg_key.outputs.keyid }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-central-1
- name: Commit new packages to golem-apt-repository
run: |
cd ${{ env.apt-sub-repo }}
aws s3 sync . s3://repo-golem-gpu-live