feat: add combination image back for latest
Build Container Image / build_emscripten_amd64 (push) Successful in 37s
Details
Build Container Image / build_emscripten (push) Successful in 1m5s
Details
Build Container Image / build_wasi_amd64 (push) Successful in 1m17s
Details
Build Container Image / build_wasi (push) Successful in 53s
Details
Build Container Image / push_emscripten_amd64 (push) Successful in 1m16s
Details
Build Container Image / push_wasi_amd64 (push) Successful in 1m0s
Details
Build Container Image / push_emscripten (push) Successful in 1m14s
Details
Build Container Image / push_wasi (push) Successful in 42s
Details
Build Container Image / update_readme (push) Successful in 9s
Details
Build Container Image / build_latest_amd64 (push) Successful in 6m18s
Details
Build Container Image / build_latest (push) Successful in 27s
Details
Build Container Image / push_latest_amd64 (push) Successful in 1m59s
Details
Build Container Image / push_latest (push) Successful in 20s
Details
Build Container Image / build_emscripten_amd64 (push) Successful in 37s
Details
Build Container Image / build_emscripten (push) Successful in 1m5s
Details
Build Container Image / build_wasi_amd64 (push) Successful in 1m17s
Details
Build Container Image / build_wasi (push) Successful in 53s
Details
Build Container Image / push_emscripten_amd64 (push) Successful in 1m16s
Details
Build Container Image / push_wasi_amd64 (push) Successful in 1m0s
Details
Build Container Image / push_emscripten (push) Successful in 1m14s
Details
Build Container Image / push_wasi (push) Successful in 42s
Details
Build Container Image / update_readme (push) Successful in 9s
Details
Build Container Image / build_latest_amd64 (push) Successful in 6m18s
Details
Build Container Image / build_latest (push) Successful in 27s
Details
Build Container Image / push_latest_amd64 (push) Successful in 1m59s
Details
Build Container Image / push_latest (push) Successful in 20s
Details
This commit is contained in:
parent
3bc98ef7d5
commit
b1494c2479
|
@ -137,6 +137,70 @@ jobs:
|
|||
docker rmi code.nephatrine.net/nephnet/nxb-webassembly-amd64:wasi
|
||||
docker push nephatrine/amd64:nxb-webassembly-wasi
|
||||
docker rmi nephatrine/amd64:nxb-webassembly-wasi
|
||||
build_latest_amd64:
|
||||
if: gitea.repository_owner == 'NephNET' && (!(startsWith(gitea.event.head_commit.message, 'chore') || startsWith(gitea.event.head_commit.message, 'docs')) || gitea.event_name == 'schedule')
|
||||
runs-on: nephnet-amd64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: https://gitea.com/actions/checkout@v4
|
||||
- name: BuildX Setup
|
||||
uses: https://github.com/docker/setup-buildx-action@v3
|
||||
- name: Docker Login
|
||||
uses: https://github.com/docker/login-action@v3
|
||||
if: gitea.ref_name == 'master' || gitea.ref_name == ''
|
||||
with:
|
||||
registry: code.nephatrine.net
|
||||
username: ${{ gitea.actor }}
|
||||
password: ${{ secrets.PACKAGER_TOKEN }}
|
||||
- name: Docker Login (Pull Auth)
|
||||
uses: https://github.com/docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
- name: Build & Push (Master)
|
||||
uses: https://github.com/docker/build-push-action@v5
|
||||
if: gitea.ref_name == 'master' || gitea.ref_name == ''
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64
|
||||
provenance: false
|
||||
pull: true
|
||||
push: true
|
||||
file: Dockerfile
|
||||
tags: code.nephatrine.net/nephnet/nxb-webassembly-amd64:latest
|
||||
cache-from: type=registry,ref=code.nephatrine.net/nephnet/nxb-webassembly-amd64:latest-cache
|
||||
cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=code.nephatrine.net/nephnet/nxb-webassembly-amd64:latest-cache,mode=max
|
||||
- name: Build & Push (Branch)
|
||||
if: gitea.ref_name != 'master' && gitea.ref_name != ''
|
||||
run: |
|
||||
export BRANCH=${GITHUB_REF##*/}
|
||||
export BRANCH=${BRANCH:-unknown}
|
||||
docker buildx build --pull -t code.nephatrine.net/nephnet/nxb-webassembly:${BRANCH}-latest-amd64 --platform linux/amd64 -f Dockerfile ${{ gitea.workspace }}
|
||||
- name: Notify Discord
|
||||
uses: https://github.com/sarisia/actions-status-discord@v1
|
||||
if: failure() || gitea.event_name != 'schedule'
|
||||
with:
|
||||
title: "Container Build (X86_64; EMJS+WASI)"
|
||||
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
|
||||
push_latest_amd64:
|
||||
if: gitea.ref_name == 'master' || gitea.ref_name == ''
|
||||
needs: [build_latest_amd64]
|
||||
runs-on: nephnet-amd64
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- name: Docker Login
|
||||
uses: https://github.com/docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
- name: Tag & Push
|
||||
run: |
|
||||
docker pull code.nephatrine.net/nephnet/nxb-webassembly-amd64:latest --platform linux/amd64
|
||||
docker tag code.nephatrine.net/nephnet/nxb-webassembly-amd64:latest nephatrine/amd64:nxb-webassembly-latest
|
||||
docker rmi code.nephatrine.net/nephnet/nxb-webassembly-amd64:latest
|
||||
docker push nephatrine/amd64:nxb-webassembly-latest
|
||||
docker rmi nephatrine/amd64:nxb-webassembly-latest
|
||||
build_emscripten:
|
||||
if: gitea.ref_name == 'master' || gitea.ref_name == ''
|
||||
needs: [build_emscripten_amd64]
|
||||
|
@ -151,12 +215,10 @@ jobs:
|
|||
password: ${{ secrets.PACKAGER_TOKEN }}
|
||||
- name: Docker Manifest
|
||||
run: |
|
||||
docker manifest create code.nephatrine.net/nephnet/nxb-webassembly:latest --amend code.nephatrine.net/nephnet/nxb-webassembly-amd64:emscripten
|
||||
docker manifest create code.nephatrine.net/nephnet/nxb-webassembly:emscripten --amend code.nephatrine.net/nephnet/nxb-webassembly-amd64:emscripten
|
||||
docker manifest create code.nephatrine.net/nephnet/nxb-webassembly:emscripten-3.1.56 --amend code.nephatrine.net/nephnet/nxb-webassembly-amd64:emscripten
|
||||
docker manifest create code.nephatrine.net/nephnet/nxb-webassembly:emscripten-3.1 --amend code.nephatrine.net/nephnet/nxb-webassembly-amd64:emscripten
|
||||
docker manifest create code.nephatrine.net/nephnet/nxb-webassembly:emscripten-3 --amend code.nephatrine.net/nephnet/nxb-webassembly-amd64:emscripten
|
||||
docker manifest push --purge code.nephatrine.net/nephnet/nxb-webassembly:latest
|
||||
docker manifest push --purge code.nephatrine.net/nephnet/nxb-webassembly:emscripten
|
||||
docker manifest push --purge code.nephatrine.net/nephnet/nxb-webassembly:emscripten-3.1.56
|
||||
docker manifest push --purge code.nephatrine.net/nephnet/nxb-webassembly:emscripten-3.1
|
||||
|
@ -180,13 +242,11 @@ jobs:
|
|||
- name: Docker Manifest
|
||||
run: |
|
||||
docker manifest create nephatrine/nxbuilder:debian-emscripten --amend nephatrine/amd64:nxb-webassembly-emscripten
|
||||
docker manifest create nephatrine/nxb-webassembly:latest --amend nephatrine/amd64:nxb-webassembly-emscripten
|
||||
docker manifest create nephatrine/nxb-webassembly:emscripten --amend nephatrine/amd64:nxb-webassembly-emscripten
|
||||
docker manifest create nephatrine/nxb-webassembly:emscripten-3.1.56 --amend nephatrine/amd64:nxb-webassembly-emscripten
|
||||
docker manifest create nephatrine/nxb-webassembly:emscripten-3.1 --amend nephatrine/amd64:nxb-webassembly-emscripten
|
||||
docker manifest create nephatrine/nxb-webassembly:emscripten-3 --amend nephatrine/amd64:nxb-webassembly-emscripten
|
||||
docker manifest push --purge nephatrine/nxbuilder:debian-emscripten
|
||||
docker manifest push --purge nephatrine/nxb-webassembly:latest
|
||||
docker manifest push --purge nephatrine/nxb-webassembly:emscripten
|
||||
docker manifest push --purge nephatrine/nxb-webassembly:emscripten-3.1.56
|
||||
docker manifest push --purge nephatrine/nxb-webassembly:emscripten-3.1
|
||||
|
@ -253,6 +313,36 @@ jobs:
|
|||
description: "The container image was pushed to [DockerHub](https://hub.docker.com/repository/docker/nephatrine/nxb-webassembly/general).\nPull `nephatrine/nxb-webassembly:wasi-sdk` for the newest image."
|
||||
nodetail: true
|
||||
webhook: ${{ secrets.DISCORD_WEBHOOK_PACKAGE }}
|
||||
build_latest:
|
||||
if: gitea.ref_name == 'master' || gitea.ref_name == ''
|
||||
needs: [build_latest_amd64]
|
||||
runs-on: nephnet
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- name: Docker Login
|
||||
uses: https://github.com/docker/login-action@v3
|
||||
with:
|
||||
registry: code.nephatrine.net
|
||||
username: ${{ gitea.actor }}
|
||||
password: ${{ secrets.PACKAGER_TOKEN }}
|
||||
- name: Docker Manifest
|
||||
run: |
|
||||
docker manifest create code.nephatrine.net/nephnet/nxb-webassembly:latest --amend code.nephatrine.net/nephnet/nxb-webassembly-amd64:latest
|
||||
docker manifest push --purge code.nephatrine.net/nephnet/nxb-webassembly:latest
|
||||
push_latest:
|
||||
needs: [push_latest_amd64]
|
||||
runs-on: nephnet
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- name: Docker Login
|
||||
uses: https://github.com/docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
- name: Docker Manifest
|
||||
run: |
|
||||
docker manifest create nephatrine/nxb-webassembly:latest --amend nephatrine/amd64:nxb-webassembly-latest
|
||||
docker manifest push --purge nephatrine/nxb-webassembly:latest
|
||||
update_readme:
|
||||
needs: [push_emscripten, push_wasi]
|
||||
runs-on: nephnet
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
# SPDX-FileCopyrightText: 2023 - 2024 Daniel Wolf <nephatrine@gmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: ISC
|
||||
|
||||
FROM code.nephatrine.net/nephnet/nxb-debian:latest
|
||||
LABEL maintainer="Daniel Wolf <nephatrine@gmail.com>"
|
||||
|
||||
ENV EMSCRIPTEN_PATH=/opt/emsdk
|
||||
ARG EMSCRIPTEN_VERSION=3.1.56
|
||||
RUN echo "====== INSTALL EMSCRIPTEN ======" \
|
||||
&& git -C /opt clone -b "$EMSCRIPTEN_VERSION" --single-branch --depth=1 https://github.com/emscripten-core/emsdk.git && cd /opt/emsdk \
|
||||
&& ./emsdk install "${EMSCRIPTEN_VERSION}" --shallow --generator=Ninja \
|
||||
&& ./emsdk activate "${EMSCRIPTEN_VERSION}" \
|
||||
&& . ./emsdk_env.sh \
|
||||
&& embuilder build SYSTEM --pic --lto \
|
||||
&& rm -rf /tmp/* /var/tmp/*
|
||||
ENV PATH=${EMSCRIPTEN_PATH}:${EMSCRIPTEN_PATH}/upstream/emscripten:$PATH
|
||||
|
||||
ARG WASI_VERSION=21
|
||||
RUN echo "====== INSTALL WASI-SDK ======" \
|
||||
&& cd /opt \
|
||||
&& curl https://wasmtime.dev/install.sh -sSf | bash \
|
||||
&& wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION}.0-linux.tar.gz \
|
||||
&& tar -xvzf wasi-sdk-${WASI_VERSION}.0-linux.tar.gz \
|
||||
&& mv wasi-sdk-${WASI_VERSION}.0 wasi-sdk \
|
||||
&& cp -nrvs /opt/wasi-sdk/share/cmake/Platform/. "/usr/share/$(ls /usr/share/ | egrep 'cmake-[0-9]' | tail -1)/Modules/Platform/" \
|
||||
&& rm -rf /tmp/* /var/tmp/* /opt/wasi-sdk-${WASI_VERSION}.0-linux.tar.gz
|
||||
ENV WASI_SDK_PREFIX=/opt/wasi-sdk WASMTIME_HOME=/root/.wasmtime
|
||||
ENV PATH=${WASMTIME_HOME}/bin:$PATH
|
||||
|
||||
COPY override /
|
||||
RUN echo "====== TEST TOOLCHAINS ======" \
|
||||
&& git -C "${HOME}" clone --single-branch --depth=1 https://code.nephatrine.net/nephatrine/hello-test.git \
|
||||
&& mkdir /tmp/build-emscripten && cd /tmp/build-emscripten \
|
||||
&& nxbuild-emscripten -GNinja "${HOME}/hello-test" \
|
||||
&& ninja && node HelloTest \
|
||||
&& mkdir /tmp/build-wasi && cd /tmp/build-wasi \
|
||||
&& nxbuild-wasi -GNinja "${HOME}/hello-test" \
|
||||
&& ninja && wasmtime HelloTest \
|
||||
&& cd .. && rm -rf /tmp/* /var/tmp/* "${HOME}/hello-test"
|
|
@ -1,4 +1,4 @@
|
|||
# SPDX-FileCopyrightText: 2023 - 2024 Daniel Wolf <nephatrine@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Daniel Wolf <nephatrine@gmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: ISC
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# SPDX-FileCopyrightText: 2023 - 2024 Daniel Wolf <nephatrine@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024 Daniel Wolf <nephatrine@gmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: ISC
|
||||
|
||||
|
|
|
@ -39,7 +39,5 @@ beyond that. It can also be used as a quick "cleanroom" to test builds in.
|
|||
You can spin up a quick temporary test container like this:
|
||||
|
||||
~~~
|
||||
docker run --rm -ti nephatrine/nxb-webassembly:emscripten /bin/bash
|
||||
- or -
|
||||
docker run --rm -ti nephatrine/nxb-webassembly:wasi /bin/bash
|
||||
docker run --rm -ti nephatrine/nxb-webassembly:latest /bin/bash
|
||||
~~~
|
||||
|
|
Loading…
Reference in New Issue