From ebe2c106076c60fcd6e67aaf66371661bfc418e8 Mon Sep 17 00:00:00 2001 From: Wanjohi Date: Sun, 8 Dec 2024 17:30:10 +0300 Subject: [PATCH 1/4] =?UTF-8?q?=E2=9C=A8=20feat:=20Run=20CI=20job=20for?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/relay.yml | 46 +++++++++++++++++++++++++++++++++ containers/runner.Containerfile | 6 ++--- 2 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/relay.yml diff --git a/.github/workflows/relay.yml b/.github/workflows/relay.yml new file mode 100644 index 00000000..c6b07abb --- /dev/null +++ b/.github/workflows/relay.yml @@ -0,0 +1,46 @@ +#Tabs not spaces, you moron :) + +name: Build nestri:relay +on: + pull_request: + paths: + - "containers/relay.Containerfile" + - ".github/workflows/relay.yml" + schedule: + - cron: 0 0 * * * # At the end of everyday + push: + branches: [main] + paths: + - "containers/relay.Containerfile" + - ".github/workflows/relay.yml" + tags: + - v*.*.* + release: + types: [created] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: nestrilabs/nestri + BASE_TAG_PREFIX: relay + +jobs: + build-docker-pr: + name: Build image on PR + runs-on: ubuntu-latest + if: ${{ github.event_name == 'pull_request' }} + steps: + - + name: Checkout repo + uses: actions/checkout@v4 + - + name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + - + name: Build Docker image + uses: docker/build-push-action@v5 + with: + file: containers/relay.Containerfile + context: ./ + push: false + load: true + tags: nestri:relay \ No newline at end of file diff --git a/containers/runner.Containerfile b/containers/runner.Containerfile index 0f70edcd..5de1e13c 100644 --- a/containers/runner.Containerfile +++ b/containers/runner.Containerfile @@ -44,7 +44,7 @@ RUN mkdir plugin && \ #****************************************************************************** -# runtime +# runtime #****************************************************************************** FROM ${BASE_IMAGE} AS runtime @@ -69,14 +69,14 @@ RUN pacman -Syu --noconfirm --needed \ ENV USER="nestri" \ UID=99 \ GID=100 \ - USER_PASSWORD="nestri1234" + USER_PWD="nestri1234" RUN mkdir -p /home/${USER} && \ groupadd -g ${GID} ${USER} && \ useradd -d /home/${USER} -u ${UID} -g ${GID} -s /bin/bash ${USER} && \ chown -R ${USER}:${USER} /home/${USER} && \ echo "${USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ - echo "${USER}:${USER_PASSWORD}" | chpasswd + echo "${USER}:${USER_PWD}" | chpasswd # Run directory # RUN mkdir -p /run/user/${UID} && \ From 46fc7a0fd4f9a4e065c354dcfbfc8e879065c23a Mon Sep 17 00:00:00 2001 From: Wanjohi Date: Mon, 9 Dec 2024 19:25:59 +0300 Subject: [PATCH 2/4] fix: Add ` gst-plugin-rswebrtc` --- containers/runner.Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/containers/runner.Containerfile b/containers/runner.Containerfile index 5de1e13c..51ef409d 100644 --- a/containers/runner.Containerfile +++ b/containers/runner.Containerfile @@ -9,7 +9,7 @@ WORKDIR /builder/ # Grab build and rust packages # RUN pacman -Syu --noconfirm meson pkgconf cmake git gcc make rustup \ - gstreamer gst-plugins-base gst-plugins-good + gstreamer gst-plugins-base gst-plugins-good gst-plugin-rswebrtc # Setup stable rust toolchain # RUN rustup default stable From 157cdffaf5396b115b515d314e09de575fb8c70d Mon Sep 17 00:00:00 2001 From: Wanjohi Date: Mon, 9 Dec 2024 20:02:38 +0300 Subject: [PATCH 3/4] feat: Add CI job for main --- .github/workflows/relay.yml | 44 +++++++++++++++++++++++++++++++- .github/workflows/runner.yml | 49 +++++++++++++++++++++++++++++++++++- 2 files changed, 91 insertions(+), 2 deletions(-) diff --git a/.github/workflows/relay.yml b/.github/workflows/relay.yml index c6b07abb..52d581c2 100644 --- a/.github/workflows/relay.yml +++ b/.github/workflows/relay.yml @@ -43,4 +43,46 @@ jobs: context: ./ push: false load: true - tags: nestri:relay \ No newline at end of file + tags: nestri:relay + + build-docker-main: + name: Build image on release + if: ${{ github.event_name == 'release' || (github.event_name == 'push' && github.ref == 'refs/heads/main') }} + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - + name: Checkout repo + uses: actions/checkout@v4 + - + name: Log into registry ${{ env.REGISTRY }} + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ github.token }} + - + name: Extract Container metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }} + # + #tag on release, and a nightly build for 'dev' + tags: | + type=raw,value=nightly,enable={{is_default_branch}} + type=ref,event=tag + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + - + name: Build Docker image + uses: docker/build-push-action@v5 + with: + file: containers/relay.Containerfile + context: ./ + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file diff --git a/.github/workflows/runner.yml b/.github/workflows/runner.yml index 279a9d94..ac17776c 100644 --- a/.github/workflows/runner.yml +++ b/.github/workflows/runner.yml @@ -24,6 +24,11 @@ env: IMAGE_NAME: nestrilabs/nestri BASE_TAG_PREFIX: runner +# This makes our release ci quit prematurely +# concurrency: +# group: ci-${{ github.ref }} +# cancel-in-progress: true + jobs: build-docker-pr: name: Build image on PR @@ -44,4 +49,46 @@ jobs: context: ./ push: false load: true - tags: nestri:runner \ No newline at end of file + tags: nestri:runner + + build-docker-main: + name: Build image on release + if: ${{ github.event_name == 'release' || (github.event_name == 'push' && github.ref == 'refs/heads/main') }} + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - + name: Checkout repo + uses: actions/checkout@v4 + - + name: Log into registry ${{ env.REGISTRY }} + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ github.token }} + - + name: Extract Container metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/${{ env.BASE_TAG_PREFIX }} + # + #tag on release, and a nightly build for 'dev' + tags: | + type=raw,value=nightly,enable={{is_default_branch}} + type=ref,event=tag + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + - + name: Build Docker image + uses: docker/build-push-action@v5 + with: + file: containers/runner.Containerfile + context: ./ + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From 307f5b2fea5d65c9b045c4f7bd0b98da9a69befb Mon Sep 17 00:00:00 2001 From: Wanjohi Date: Mon, 9 Dec 2024 20:05:31 +0300 Subject: [PATCH 4/4] feat: Rename to `Push to main` --- .github/workflows/relay.yml | 2 +- .github/workflows/runner.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/relay.yml b/.github/workflows/relay.yml index 52d581c2..f3ffe223 100644 --- a/.github/workflows/relay.yml +++ b/.github/workflows/relay.yml @@ -46,7 +46,7 @@ jobs: tags: nestri:relay build-docker-main: - name: Build image on release + name: Build image on main if: ${{ github.event_name == 'release' || (github.event_name == 'push' && github.ref == 'refs/heads/main') }} runs-on: ubuntu-latest permissions: diff --git a/.github/workflows/runner.yml b/.github/workflows/runner.yml index ac17776c..919ea91c 100644 --- a/.github/workflows/runner.yml +++ b/.github/workflows/runner.yml @@ -52,7 +52,7 @@ jobs: tags: nestri:runner build-docker-main: - name: Build image on release + name: Build image on main if: ${{ github.event_name == 'release' || (github.event_name == 'push' && github.ref == 'refs/heads/main') }} runs-on: ubuntu-latest permissions: