Skip to content

Commit c248fe2

Browse files
committed
Re-add epiphany demo
This has some caveats to be aware of 1. No idea if it would work on apple or windows OS as they are not linux and would also need an X Server 2. Image is fixed to Ubuntu 22.04. Can't update the base image it won't work. 3. Tested on a Ubuntu 24.04 VM and Raspian Bookworm 64bit on a raspberry pi. In general running GUIs from containers is complex requiring various other components such as dbus to be running. In the case here it manages to work with an environment variable hack, but moving to 24.04 introduced a new issue with dbus. KDE apps may also have issues. Even X Can have issues like the shared memory extension. There are interesting tools such as X11Docker which try to provide easier solutions but on the whole trying to run gui applications from a container can be fragile. Signed-off-by: Dave Kelsey <[email protected]>
1 parent 33601ad commit c248fe2

File tree

11 files changed

+280
-168
lines changed

11 files changed

+280
-168
lines changed

.github/workflows/build.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,10 @@ jobs:
117117
with:
118118
build_main: ${{ !contains(inputs.build_main == 'true', 'false') }}
119119
release_tag: ${{ inputs.release_tag }}
120+
121+
epiphany:
122+
uses: ./.github/workflows/epiphany.yml
123+
secrets: inherit
124+
with:
125+
build_main: ${{ !contains(inputs.build_main == 'true', 'false') }}
126+
release_tag: ${{ inputs.release_tag }}

.github/workflows/epiphany.yml

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
name: epiphany
2+
3+
on:
4+
push:
5+
branches: [ 'main' ]
6+
paths: ['.github/workflows/epiphany.yml', 'epiphany/**']
7+
pull_request:
8+
branches: [ 'main' ]
9+
paths: ['.github/workflows/epiphany.yml', 'epiphany/**']
10+
workflow_call:
11+
inputs:
12+
build_main:
13+
description: "Build using liboqs and oqsprovider main branches"
14+
required: false
15+
default: false
16+
type: boolean
17+
release_tag:
18+
description: "Which docker tag to push to"
19+
required: false
20+
type: string
21+
workflow_dispatch:
22+
inputs:
23+
build_main:
24+
description: "Build using liboqs and oqsprovider main branches"
25+
required: false
26+
default: false
27+
type: boolean
28+
release_tag:
29+
description: "Which docker tag to push to"
30+
required: false
31+
type: string
32+
33+
env:
34+
build-args: |
35+
LIBOQS_TAG=main
36+
OQSPROVIDER_TAG=main
37+
push: ${{ github.repository == 'open-quantum-safe/oqs-demos' && github.ref == 'refs/heads/main' && github.event_name != 'pull_request' && inputs.build_main != 'true' }}
38+
39+
jobs:
40+
build:
41+
strategy:
42+
fail-fast: false
43+
matrix:
44+
include:
45+
- arch: x86_64
46+
runner: ubuntu-latest
47+
- arch: arm64
48+
runner: ubuntu-24.04-arm
49+
runs-on: ${{ matrix.runner }}
50+
steps:
51+
- uses: actions/checkout@v4
52+
- uses: docker/login-action@v3
53+
if: env.push == 'true'
54+
with:
55+
username: ${{ secrets.DOCKERHUB_USERNAME }}
56+
password: ${{ secrets.DOCKERHUB_TOKEN }}
57+
- uses: docker/login-action@v3
58+
with:
59+
registry: ghcr.io
60+
username: ${{ github.actor }}
61+
password: ${{ secrets.GITHUB_TOKEN }}
62+
63+
- name: Determine architecture
64+
id: arch
65+
run: echo "arch=$(uname -m)" >> $GITHUB_OUTPUT
66+
67+
- name: Build the epiphany Docker image
68+
uses: docker/build-push-action@v6
69+
with:
70+
load: true
71+
context: epiphany
72+
build-args: |
73+
ARCH=${{ steps.arch.outputs.arch }}
74+
${{ (inputs.build_main == 'true') && env.build-args || null }}
75+
tags: oqs-epiphany
76+
77+
- name: Scan Docker Image
78+
if: matrix.arch == 'x86_64' && env.push == 'true'
79+
uses: docker/[email protected]
80+
with:
81+
image: oqs-epiphany
82+
command: cves,recommendations
83+
sarif-file: epiphany-scan-results.sarif
84+
85+
- name: Upload Scan Results
86+
if: matrix.arch == 'x86_64' && env.push == 'true'
87+
uses: actions/[email protected]
88+
with:
89+
name: epiphany-scan-results
90+
path: epiphany-scan-results.sarif
91+
92+
- name: Push Docker image to registries
93+
if: env.push == 'true'
94+
uses: docker/build-push-action@v6
95+
with:
96+
push: true
97+
context: epiphany
98+
build-args: |
99+
${{ (inputs.build_main == 'true') && env.build-args || null }}
100+
tags: |
101+
ghcr.io/${{ github.repository_owner }}/epiphany:${{ inputs.release_tag || 'latest' }}-${{ matrix.arch }}
102+
openquantumsafe/epiphany:${{ inputs.release_tag || 'latest' }}-${{ matrix.arch }}
103+
104+
push:
105+
if: ${{ github.repository == 'open-quantum-safe/oqs-demos' && github.ref == 'refs/heads/main' && github.event_name != 'pull_request' && inputs.build_main != 'true' }}
106+
needs: build
107+
uses: ./.github/workflows/push-manifest.yml
108+
secrets: inherit
109+
with:
110+
image_name: epiphany
111+
release_tag: ${{ inputs.release_tag || 'latest' }}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Currently available integrations at their respective support level:
3131
| **h2load** | [Github: oqs-demos/h2load](h2load) | [ Dockerhub: openquantumsafe/h2load](https://hub.docker.com/repository/docker/openquantumsafe/h2load) | [![h2load](https://github.com/open-quantum-safe/oqs-demos/actions/workflows/h2load.yml/badge.svg)](https://github.com/open-quantum-safe/oqs-demos/actions/workflows/h2load.yml) Unmaintained
3232
| **HAproxy** | [Github: oqs-demos/haproxy](haproxy) | [Dockerhub: openquantumsafe/haproxy](https://hub.docker.com/repository/docker/openquantumsafe/haproxy) | [![haproxy](https://github.com/open-quantum-safe/oqs-demos/actions/workflows/haproxy.yml/badge.svg)](https://github.com/open-quantum-safe/oqs-demos/actions/workflows/haproxy.yml) Unmaintained
3333
| **Mosquitto** | [Github: oqs-demos/mosquitto](mosquitto) | [Dockerhub: openquantumsafe/mosquitto](https://hub.docker.com/repository/docker/openquantumsafe/mosquitto) | [![mosquitto](https://github.com/open-quantum-safe/oqs-demos/actions/workflows/mosquitto.yml/badge.svg)](https://github.com/open-quantum-safe/oqs-demos/actions/workflows/mosquitto.yml) Unmaintained
34-
| **Epiphany** | [Github: oqs-demos/epiphany](epiphany) | [Dockerhub: openquantumsafe/epiphany](https://hub.docker.com/repository/docker/openquantumsafe/epiphany) | Deprecated
34+
| **Epiphany** | [Github: oqs-demos/epiphany](epiphany) | [Dockerhub: openquantumsafe/epiphany](https://hub.docker.com/repository/docker/openquantumsafe/epiphany) | [![epiphany](https://github.com/open-quantum-safe/oqs-demos/actions/workflows/epiphany.yml/badge.svg)](https://github.com/open-quantum-safe/oqs-demos/actions/workflows/epiphany.yml) Maintained: @davidkel
3535
| **OpenLiteSpeed** | [Github: oqs-demos/openlitespeed](openlitespeed) | [ Dockerhub: openquantumsafe/openlitespeed](https://hub.docker.com/repository/docker/openquantumsafe/openlitespeed) | Deprecated
3636
| **Envoy** | [Github: oqs-demos/envoy](envoy) | [ Dockerhub: openquantumsafe/envoy](https://hub.docker.com/repository/docker/openquantumsafe/envoy) | Deprecated
3737
| **Unbound** | [Github: oqs-demos/unbound](unbound) | [ Dockerhub: openquantumsafe/unbound](https://hub.docker.com/repository/docker/openquantumsafe/unbound) | Deprecated

deprecated/epiphany/Dockerfile

Lines changed: 0 additions & 69 deletions
This file was deleted.

deprecated/epiphany/README.md

Lines changed: 0 additions & 32 deletions
This file was deleted.

deprecated/epiphany/certlink.sh

Lines changed: 0 additions & 18 deletions
This file was deleted.

deprecated/epiphany/openssl-client.cnf

Lines changed: 0 additions & 25 deletions
This file was deleted.

deprecated/epiphany/startepiphany.sh

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)