Skip to content

Commit

Permalink
feat: add Fedora 40 images
Browse files Browse the repository at this point in the history
  • Loading branch information
ivangabriele committed Sep 16, 2024
1 parent b651da8 commit 35672d0
Show file tree
Hide file tree
Showing 22 changed files with 252 additions and 37 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: true
matrix:
OS: ["debian-bullseye", "debian-bookworm"]
OS: ["debian-bullseye", "debian-bookworm", "fedora-40"]
NODE_VERSION: ["18", "20", "22"]
VARIANT: ["", "-nightly"]
env:
Expand Down Expand Up @@ -45,7 +45,7 @@ jobs:
strategy:
fail-fast: true
matrix:
OS: ["debian-bullseye", "debian-bookworm"]
OS: ["debian-bullseye", "debian-bookworm", "fedora-40"]
NODE_VERSION: ["18", "20", "22"]
VARIANT: ["", "-nightly"]
env:
Expand Down Expand Up @@ -79,7 +79,7 @@ jobs:
strategy:
fail-fast: true
matrix:
OS: ["debian-bullseye", "debian-bookworm"]
OS: ["debian-bullseye", "debian-bookworm", "fedora-40"]
NODE_VERSION: ["18", "20", "22"]
VARIANT: ["", "-nightly"]
env:
Expand Down
29 changes: 27 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Images are automatically updated on a daily basis.
- [Supported tags and respective `Dockerfile` links](#supported-tags-and-respective-dockerfile-links)
- [Debian v12 ("bookworm")](#debian-v12-bookworm)
- [Debian v11 ("bullseye")](#debian-v11-bullseye)
- [Fedora v40](#fedora-v40)
- [Legacy tags](#legacy-tags)
- [E2E Testing](#e2e-testing)
- [WebDriverIO](#webdriverio)
Expand All @@ -43,7 +44,7 @@ Images are automatically updated on a daily basis.
### Debian v12 ("bookworm")

> [!NOTE]
> These images (tags) should now be ready for both Tauri v1 and v2. But I'm testing them at the moment.
> These tags work with both **Tauri v1 and v2**. But I'm still testing them with Tauri v2 at the moment.
- [`debian-bookworm-22`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/debian-bookworm-22.Dockerfile)
- Base: [`rust:1-bookworm`](https://hub.docker.com/_/rust)
Expand All @@ -67,7 +68,7 @@ Images are automatically updated on a daily basis.
### Debian v11 ("bullseye")

> [!IMPORTANT]
> These images (tags) only work with Tauri v1. See [tauri-apps/tauri#9039](https://github.com/tauri-apps/tauri/issues/9039).
> These tags only work with **Tauri v1**. See [tauri-apps/tauri#9039](https://github.com/tauri-apps/tauri/issues/9039).
- [`debian-bullseye-22`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/debian-bullseye-22.Dockerfile)
- Base: [`rust:1-bullseye`](https://hub.docker.com/_/rust)
Expand All @@ -88,6 +89,30 @@ Images are automatically updated on a daily basis.
- Base: [`rust:1-bullseye`](https://hub.docker.com/_/rust)
- Debian v11 ("bullseye") + Rust v1 (nightly) + Node v18

### Fedora v40

> [!NOTE]
> These tags only work with **Tauri v2**. But I'm still testing them at the moment.
- [`fedora-40`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/fedora-40.Dockerfile)
- Base: [`fedora:40`](https://hub.docker.com/_/fedora)
- Debian v12 ("bookworm") + Rust v1 + Node v22
- [`fedora-40-nightly`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/fedora-40-nightly.Dockerfile)
- Base: [`fedora:40`](https://hub.docker.com/_/fedora)
- Debian v12 ("bookworm") + Rust v1 (nightly) + Node v22
- [`fedora-40`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/fedora-40.Dockerfile)
- Base: [`fedora:40`](https://hub.docker.com/_/fedora)
- Debian v12 ("bookworm") + Rust v1 + Node v20
- [`fedora-40-nightly`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/fedora-40-nightly.Dockerfile)
- Base: [`fedora:40`](https://hub.docker.com/_/fedora)
- Debian v12 ("bookworm") + Rust v1 (nightly) + Node v20
- [`fedora-40`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/fedora-40.Dockerfile)
- Base: [`fedora:40`](https://hub.docker.com/_/fedora)
- Debian v12 ("bookworm") + Rust v1 + Node v18
- [`fedora-40-nightly`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/fedora-40-nightly.Dockerfile)
- Base: [`fedora:40`](https://hub.docker.com/_/fedora)
- Debian v12 ("bookworm") + Rust v1 (nightly) + Node v18

### Legacy tags

These tags exist but their image is not updated anymore.
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bookworm-18-nightly.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bookworm-18-nightly` to build this image

FROM rust:bookworm

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bookworm-18.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bookworm-18` to build this image

FROM rust:bookworm

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bookworm-20-nightly.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bookworm-18-nightly` to build this image

FROM rust:bookworm

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bookworm-20.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bookworm-18` to build this image

FROM rust:bookworm

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bookworm-22-nightly.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bookworm-18-nightly` to build this image

FROM rust:bookworm

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bookworm-22.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bookworm-18` to build this image

FROM rust:bookworm

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bullseye-18-nightly.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bullseye-18-nightly` to build this image

FROM rust:bullseye

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bullseye-18.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bullseye-18` to build this image

FROM rust:bullseye

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bullseye-20-nightly.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bullseye-18-nightly` to build this image

FROM rust:bullseye

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bullseye-20.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bullseye-18` to build this image

FROM rust:bullseye

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bullseye-22-nightly.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bullseye-18-nightly` to build this image

FROM rust:bullseye

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/debian-bullseye-22.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-debian-bullseye-18` to build this image

FROM rust:bullseye

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/fedora-37-18-nightly.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-fedora-37-18-nightly` to build this image

FROM fedora:37

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/fedora-37-18.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-fedora-37-18` to build this image

FROM fedora:37

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/fedora-37-20-nightly.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-fedora-37-18-nightly` to build this image

FROM fedora:37

# Install base utils
Expand Down
2 changes: 0 additions & 2 deletions dockerfiles/fedora-37-20.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Run `make build-fedora-37-18` to build this image

FROM fedora:37

# Install base utils
Expand Down
57 changes: 57 additions & 0 deletions dockerfiles/fedora-40-20-nightly.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
FROM fedora:40

# Install base utils
RUN dnf update -y
RUN dnf install -y \
psmisc \
which

# Install Rust dependencies
# https://www.pragmaticlinux.com/2022/05/how-to-install-build-essential-on-fedora/
RUN dnf group install -y "C Development Tools and Libraries" "Development Tools"

# Rust
# https://forge.rust-lang.org/infra/other-installation-methods.html#other-ways-to-install-rustup
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
# TODO Find a cleaner solution to make rust/cargo binaries available everywhere.
RUN mv /root/.cargo/bin/* /usr/local/bin/
RUN rustup completions bash > /etc/bash_completion.d/rustup.bash-completion

# Intsall Rust nightly
RUN rustup default nightly

# Install Node.js
RUN curl -fsSL https://rpm.nodesource.com/setup_20.x | bash -
RUN dnf install -y nodejs

# Install Yarn
RUN curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo
RUN dnf install -y yarn

# Install Tarpaulin dependencies
RUN dnf group install -y "C Development Tools and Libraries" "Development Tools"
RUN dnf install -y openssl-devel

# Install Tarpaulin
RUN cargo install cargo-tarpaulin

# Install Tauri v2 dependencies
# https://v2.tauri.app/start/prerequisites/#linux
RUN dnf install -y \
curl \
file \
libappindicator-gtk3-devel \
librsvg2-devel \
openssl-devel \
webkit2gtk4.1-devel \
wget
# RUN dnf group install -y "C Development Tools and Libraries"

# Install tauri-driver
# https://tauri.app/v1/guides/testing/webdriver/introduction#system-dependencies
RUN cargo install tauri-driver
# TODO Find a cleaner solution to make rust/cargo binaries available everywhere.
RUN ln -s /root/.cargo/bin/tauri-driver /usr/local/bin/tauri-driver
RUN rustup completions bash > /etc/bash_completion.d/rustup.bash-completion

CMD ["/bin/bash"]
54 changes: 54 additions & 0 deletions dockerfiles/fedora-40-20.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
FROM fedora:40

# Install base utils
RUN dnf update -y
RUN dnf install -y \
psmisc \
which

# Install Rust dependencies
# https://www.pragmaticlinux.com/2022/05/how-to-install-build-essential-on-fedora/
RUN dnf group install -y "C Development Tools and Libraries" "Development Tools"

# Rust
# https://forge.rust-lang.org/infra/other-installation-methods.html#other-ways-to-install-rustup
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
# TODO Find a cleaner solution to make rust/cargo binaries available everywhere.
RUN mv /root/.cargo/bin/* /usr/local/bin/
RUN rustup completions bash > /etc/bash_completion.d/rustup.bash-completion

# Install Node.js
RUN curl -fsSL https://rpm.nodesource.com/setup_20.x | bash -
RUN dnf install -y nodejs

# Install Yarn
RUN curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo
RUN dnf install -y yarn

# Install Tarpaulin dependencies
RUN dnf group install -y "C Development Tools and Libraries" "Development Tools"
RUN dnf install -y openssl-devel

# Install Tarpaulin
RUN cargo install cargo-tarpaulin

# Install Tauri v2 dependencies
# https://v2.tauri.app/start/prerequisites/#linux
RUN dnf install -y \
curl \
file \
libappindicator-gtk3-devel \
librsvg2-devel \
openssl-devel \
webkit2gtk4.1-devel \
wget
# RUN dnf group install -y "C Development Tools and Libraries"

# Install tauri-driver
# https://tauri.app/v1/guides/testing/webdriver/introduction#system-dependencies
RUN cargo install tauri-driver
# TODO Find a cleaner solution to make rust/cargo binaries available everywhere.
RUN ln -s /root/.cargo/bin/tauri-driver /usr/local/bin/tauri-driver
RUN rustup completions bash > /etc/bash_completion.d/rustup.bash-completion

CMD ["/bin/bash"]
57 changes: 57 additions & 0 deletions dockerfiles/fedora-40-22-nightly.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
FROM fedora:40

# Install base utils
RUN dnf update -y
RUN dnf install -y \
psmisc \
which

# Install Rust dependencies
# https://www.pragmaticlinux.com/2022/05/how-to-install-build-essential-on-fedora/
RUN dnf group install -y "C Development Tools and Libraries" "Development Tools"

# Rust
# https://forge.rust-lang.org/infra/other-installation-methods.html#other-ways-to-install-rustup
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
# TODO Find a cleaner solution to make rust/cargo binaries available everywhere.
RUN mv /root/.cargo/bin/* /usr/local/bin/
RUN rustup completions bash > /etc/bash_completion.d/rustup.bash-completion

# Intsall Rust nightly
RUN rustup default nightly

# Install Node.js
RUN curl -fsSL https://rpm.nodesource.com/setup_22.x | bash -
RUN dnf install -y nodejs

# Install Yarn
RUN curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo
RUN dnf install -y yarn

# Install Tarpaulin dependencies
RUN dnf group install -y "C Development Tools and Libraries" "Development Tools"
RUN dnf install -y openssl-devel

# Install Tarpaulin
RUN cargo install cargo-tarpaulin

# Install Tauri v2 dependencies
# https://v2.tauri.app/start/prerequisites/#linux
RUN dnf install -y \
curl \
file \
libappindicator-gtk3-devel \
librsvg2-devel \
openssl-devel \
webkit2gtk4.1-devel \
wget
# RUN dnf group install -y "C Development Tools and Libraries"

# Install tauri-driver
# https://tauri.app/v1/guides/testing/webdriver/introduction#system-dependencies
RUN cargo install tauri-driver
# TODO Find a cleaner solution to make rust/cargo binaries available everywhere.
RUN ln -s /root/.cargo/bin/tauri-driver /usr/local/bin/tauri-driver
RUN rustup completions bash > /etc/bash_completion.d/rustup.bash-completion

CMD ["/bin/bash"]
Loading

0 comments on commit 35672d0

Please sign in to comment.