Skip to content

Commit

Permalink
+ tags testing
Browse files Browse the repository at this point in the history
  • Loading branch information
prekucki committed Jun 6, 2024
1 parent b0e8f1c commit d67b8e9
Show file tree
Hide file tree
Showing 4 changed files with 135 additions and 140 deletions.
151 changes: 131 additions & 20 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,154 @@
name: Build Image
on:
push:
branches:
- devel
tags:
- testing-v[0-9]+.*
workflow_dispatch:
inputs:
release:
description: 'Release type'
type: choice
required: true
options:
- stable
- release
- testing
- unstable
env:
VERSION: v0.15.0-${{ github.run_number }}

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.*

GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
build:
upload-repo:
name: "Fetch packages and build repository"
runs-on: ubuntu-22.04
steps:

- name: 'set release type'
if: github.event.inputs.release != ''
run: |
echo "DIST_TYPE=${github.event.inputs.release}" >> $GITHUB_ENV
- name: set tag release name
if: github.event.inputs.release==null && startsWith(github.ref, 'refs/tags/testing')
run: |
echo "DIST_TYPE=testing" >> $GITHUB_ENV
- 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: Import GPG key
id: gpg_key
env:
GPG_KEY: ${{ secrets.APT_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"
- 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 "./${{ env.apt-sub-repo }}/${{ env.distribution }}/" "s3://repo-golem-gpu-live/${{ env.distribution }}/"
build:
name: Building Image ${{ github.ref }}
runs-on: ubuntu-22.04
needs:
- upload-repo
steps:
- uses: actions/checkout@v4
- name: 'set release type'
if: github.event.inputs.release != ''
run: |
echo "DIST_TYPE=${github.event.inputs.release}" >> $GITHUB_ENV
- name: set tag release name
if: github.event.inputs.release==null && startsWith(github.ref, 'refs/tags/testing')
run: |
echo "DIST_TYPE=testing" >> $GITHUB_ENV
- run: |
sudo apt install \
debootstrap \
squashfs-tools \
xorriso \
isolinux \
syslinux-efi \
grub-pc-bin \
grub-efi-amd64-bin \
grub-efi-ia32-bin \
mtools \
dosfstools \
jq \
rsync \
docker.io
debootstrap squashfs-tools xorriso isolinux \
syslinux-efi grub-pc-bin grub-efi-amd64-bin \
grub-efi-ia32-bin mtools dosfstools \
jq rsync
- run: |
sudo make root image
BUILD_ARGS="--build-arg APT_REPO=https://gpu-live.cdn.golem.network/${DIST_TYPE}" make root image
- run: |
ks -al work/
- 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: Sending image to S3
run: |
set -x
ls -al work/
ls -alh work/golem-gpu-live-${VERSION}.img
sudo xz work/golem-gpu-live-${VERSION}.img
sudo chown $USER work/* work
aws s3 cp work/golem-gpu-live-${VERSION}.img.xz s3://repo-golem-gpu-live/images/golem-gpu-live-${DIST_TYPE}-${VERSION}.img.xz
4 changes: 2 additions & 2 deletions .github/workflows/repository.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
- repo-*

env:
yagna_tag: pre-rel-v0.14.0-rc1
yagna_tag: ^v.*
ya-runtime-wasi_tag: pre-rel-v0.2.4
ya-installer-resources_tag: ^v.*
ya-runtime-vm_tag: ^pre-rel-v0.4.0-ITL-.*
Expand All @@ -31,7 +31,7 @@ jobs:
with:
repo: yagna
pattern: ${{ env.yagna_tag }}
prerelease: true
prerelease: false

- name: "Get deb package: ya-runtime-wasi"
uses: ./.github/actions/fetch-release-deb
Expand Down
117 changes: 0 additions & 117 deletions .github/workflows/update-apt-repo.yml

This file was deleted.

3 changes: 2 additions & 1 deletion rootfs/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
FROM ubuntu:jammy

ARG DEBIAN_FRONTEND=noninteractive
ARG APT_REPO=https://gpu-live.cdn.golem.network/release

# install ca-certificates before accessing any https repo
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates && apt-get clean

# Add GOLEM's repository
COPY A6FC0686E1EFC16F5D8AAAA6C69F9049D4AC7CD4.asc /etc/apt/trusted.gpg.d/golem.asc
RUN bash -c 'echo deb https://golemfactory.github.io/golem-gpu-live jammy main > /etc/apt/sources.list.d/golem.list'
RUN bash -c "echo deb ${APT_REPO} jammy main > /etc/apt/sources.list.d/golem.list"

# Accept GOLEM terms for install then Wizard will manage it
RUN bash -c 'echo golem golem/terms/subsidy-01 string yes | debconf-set-selections'
Expand Down

0 comments on commit d67b8e9

Please sign in to comment.