Skip to content

Commit adc7ee3

Browse files
committed
feat: add Node.js v20 images
1 parent f329dd5 commit adc7ee3

9 files changed

+324
-72
lines changed

.github/workflows/main.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
fail-fast: true
1919
matrix:
2020
OS: ["debian-bullseye", "debian-bookworm", "fedora-37"]
21-
NODE_VERSION: ["18"]
21+
NODE_VERSION: ["18", "20"]
2222
VARIANT: ["", "-nightly"]
2323
env:
2424
DOCKER_ARTIFACT_PATH: ./build/${{ matrix.OS }}-${{ matrix.NODE_VERSION }}${{ matrix.VARIANT }}.tar
@@ -46,7 +46,7 @@ jobs:
4646
fail-fast: true
4747
matrix:
4848
OS: ["debian-bullseye", "debian-bookworm", "fedora-37"]
49-
NODE_VERSION: ["18"]
49+
NODE_VERSION: ["18", "20"]
5050
VARIANT: ["", "-nightly"]
5151
env:
5252
DOCKER_ARTIFACT_PATH: ./build/${{ matrix.OS }}-${{ matrix.NODE_VERSION }}${{ matrix.VARIANT }}.tar
@@ -80,7 +80,7 @@ jobs:
8080
fail-fast: true
8181
matrix:
8282
OS: ["debian-bullseye", "debian-bookworm", "fedora-37"]
83-
NODE_VERSION: ["18"]
83+
NODE_VERSION: ["18", "20"]
8484
VARIANT: ["", "-nightly"]
8585
env:
8686
DOCKER_ARTIFACT_PATH: ./build/${{ matrix.OS }}-${{ matrix.NODE_VERSION }}${{ matrix.VARIANT }}.tar

Makefile

Lines changed: 3 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,14 @@
11
_NAME = "ivangabriele_tauri"
22

33
build:
4-
docker build -f "./dockerfiles/$(_TAG).Dockerfile" -t "ivangabriele/tauri:$(_TAG)" .
5-
build-debian-bullseye-18:
6-
_TAG="debian-bullseye-18" make build
7-
build-debian-bullseye-18-nightly:
8-
_TAG="debian-bullseye-18-nightly" make build
9-
build-debian-bookworm-18:
10-
_TAG="debian-bookworm-18" make build
11-
build-debian-bookworm-18-nightly:
12-
_TAG="debian-bookworm-18-nightly" make build
13-
build-fedora-37-18:
14-
_TAG="fedora-37-18" make build
15-
build-fedora-37-18-nightly:
16-
_TAG="fedora-37-18-nightly" make build
4+
docker build -f "./dockerfiles/$(TAG).Dockerfile" -t "ivangabriele/tauri:$(TAG)" .
175

186
run: --stop-and-remove
197
make build
20-
docker run -dt --name "$(_NAME)" "ivangabriele/tauri:$(_TAG)"
21-
run-debian-bullseye-18:
22-
_TAG="debian-bullseye-18" make run
23-
run-debian-bullseye-18-nightly:
24-
_TAG="debian-bullseye-18-nightly" make run
25-
run-debian-bookworm-18:
26-
_TAG="debian-bookworm-18" make run
27-
run-debian-bookworm-18-nightly:
28-
_TAG="debian-bookworm-18-nightly" make run
29-
run-fedora-37-18:
30-
_TAG="fedora-37-18" make run
31-
run-fedora-37-18-nightly:
32-
_TAG="fedora-37-18-nightly" make run
8+
docker run -dt --name "$(_NAME)" "ivangabriele/tauri:$(TAG)"
339

3410
test: run
35-
DOCKER_CONTAINER_NAME="$(_NAME)" DOCKER_IMAGE_TAG="$(_TAG)" npx -q jest
36-
test-debian-bullseye-18:
37-
_TAG="debian-bullseye-18" make test
38-
test-debian-bullseye-18-nightly:
39-
_TAG="debian-bullseye-18-nightly" make test
40-
test-debian-bookworm-18:
41-
_TAG="debian-bookworm-18" make test
42-
test-debian-bookworm-18-nightly:
43-
_TAG="debian-bookworm-18-nightly" make test
44-
test-fedora-37-18:
45-
_TAG="fedora-37-18" make test
46-
test-fedora-37-18-nightly:
47-
_TAG="fedora-37-18-nightly" make test
11+
DOCKER_CONTAINER_NAME="$(_NAME)" DOCKER_IMAGETAG="$(TAG)" npx -q jest
4812

4913
--stop-and-remove:
5014
docker stop "$(_NAME)" || true 2>/dev/null

README.md

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ Images are automatically updated on a daily basis.
2222
---
2323

2424
- [Supported tags and respective `Dockerfile` links](#supported-tags-and-respective-dockerfile-links)
25-
- [Tauri v1](#tauri-v1)
2625
- [E2E Testing](#e2e-testing)
2726
- [WebDriverIO](#webdriverio)
2827
- [Continuous Integration](#continuous-integration)
@@ -38,38 +37,37 @@ Images are automatically updated on a daily basis.
3837

3938
## Supported tags and respective `Dockerfile` links
4039

41-
### Tauri v1
40+
<!-- - [`debian-bookworm-20`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/debian-bookworm-20.Dockerfile)
41+
- Base: [`rust:1-bookworm`](https://hub.docker.com/_/rust)
42+
- Debian v12 ("bookworm") + Rust v1 + Node v20
43+
- [`debian-bookworm-20-nightly`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/debian-bookworm-20-nightly.Dockerfile)
44+
- Base: [`rust:1-bookworm`](https://hub.docker.com/_/rust)
45+
- Debian v12 ("bookworm") + Rust v1 (nightly) + Node v20
46+
- [`debian-bullseye-20`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/debian-bullseye-20.Dockerfile)
47+
- Base: [`rust:1-bullseye`](https://hub.docker.com/_/rust)
48+
- Debian v11 ("bullseye") + Rust v1 + Node v20
49+
- [`debian-bullseye-20-nightly`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/debian-bullseye-20-nightly.Dockerfile)
50+
- Base: [`rust:1-bullseye`](https://hub.docker.com/_/rust)
51+
- Debian v11 ("bullseye") + Rust v1 (nightly) + Node v20 -->
4252

4353
- [`debian-bookworm-18`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/debian-bookworm-18.Dockerfile)
4454
- Base: [`rust:1-bookworm`](https://hub.docker.com/_/rust)
45-
- Debian v12 ("bookworm")
46-
- Rust v1
47-
- Node v18
55+
- Debian v12 ("bookworm") + Rust v1 + Node v18
4856
- [`debian-bookworm-18-nightly`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/debian-bookworm-18-nightly.Dockerfile)
4957
- Base: [`rust:1-bookworm`](https://hub.docker.com/_/rust)
50-
- Debian v12 ("bookworm")
51-
- Rust v1 (nightly)
52-
- Node v18
58+
- Debian v12 ("bookworm") + Rust v1 (nightly) + Node v18
5359
- [`debian-bullseye-18`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/debian-bullseye-18.Dockerfile)
5460
- Base: [`rust:1-bullseye`](https://hub.docker.com/_/rust)
55-
- Debian v11 ("bullseye")
56-
- Rust v1
57-
- Node v18
61+
- Debian v11 ("bullseye") + Rust v1 + Node v18
5862
- [`debian-bullseye-18-nightly`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/debian-bullseye-18-nightly.Dockerfile)
5963
- Base: [`rust:1-bullseye`](https://hub.docker.com/_/rust)
60-
- Debian v11 ("bullseye")
61-
- Rust v1 (nightly)
62-
- Node v18
64+
- Debian v11 ("bullseye") + Rust v1 (nightly) + Node v18
6365
- [`fedora-37-18`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/fedora-37-18.Dockerfile)
6466
- Base: [`fedora:37`](https://hub.docker.com/_/fedora)
65-
- Fedora v37
66-
- Rust v1
67-
- Node v18
67+
- Fedora v37 + Rust v1 + Node v18
6868
- [`fedora-37-18-nightly`](https://github.com/ivangabriele/docker-tauri/blob/main/dockerfiles/fedora-37-18-nightly.Dockerfile)
6969
- Base: [`fedora:37`](https://hub.docker.com/_/fedora)
70-
- Fedora v37
71-
- Rust v1 (nightly)
72-
- Node v18
70+
- Fedora v37 + Rust v1 (nightly) + Node v18
7371

7472
## E2E Testing
7573

@@ -167,7 +165,7 @@ Excepted Ubuntu, all those planned distributions are a maybe for now.
167165
## Contribute
168166
169167
`X` is the OS name + version (one of `debian-bookworm`, `debian-bullseye`, `fedora-37`).
170-
`y` is the Node.js tag (`18`).
168+
`y` is the Node.js tag (one of `18`, `20`).
171169
`Z` is the Rust variant (`-nightly` or nothing).
172170

173171
### Prerequisites
@@ -178,31 +176,28 @@ Excepted Ubuntu, all those planned distributions are a maybe for now.
178176
### Build
179177

180178
```sh
181-
make build-X-Y # with no variant
182-
make build-X-Y-Z
179+
TAG=[DOCKER_TAG] make build
183180
```
184181

185-
Example: `make build-debian-bullseye-18` or `make build-debian-bullseye-18-nightly`.
182+
Example: `TAG=debian-bullseye-18 make build`
186183

187184
### Run
188185

189186
```sh
190-
make run-X-Y # with no variant
191-
make run-X-Y-Z
187+
TAG=[DOCKER_TAG] make run
192188
```
193189

194-
Example: `make run-debian-bullseye-18` or `make run-debian-bullseye-18-nightly`.
190+
Example: `TAG=debian-bullseye-18 make run`
195191

196192
### Test
197193

198194
You need to have [Node.js][link-nodejs] installed in order to run the tests:
199195

200196
```sh
201-
make test-X-Y # with no variant
202-
make test-X-Y-Z
197+
TAG=[DOCKER_TAG] make test
203198
```
204199

205-
Example: `make test-debian-bullseye-18` or `make test-debian-bullseye-18-nightly`.
200+
Example: `TAG=debian-bullseye-18 make test`.
206201

207202
---
208203

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Run `make build-debian-bookworm-18-nightly` to build this image
2+
3+
FROM rust:bookworm
4+
5+
# Install base utils
6+
RUN apt-get update
7+
RUN apt-get install -y \
8+
curl \
9+
psmisc
10+
11+
# Install Rust nightly
12+
RUN rustup default nightly
13+
14+
# Install Node.js
15+
RUN curl -fsSL "https://deb.nodesource.com/setup_20.x" | bash -
16+
RUN apt-get install -y nodejs
17+
18+
# Install Yarn
19+
RUN corepack enable
20+
21+
# Install Tarpaulin
22+
RUN cargo install cargo-tarpaulin
23+
24+
# Install Tauri dependencies
25+
# https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-linux
26+
RUN apt-get install -y \
27+
libwebkit2gtk-4.0-dev \
28+
build-essential \
29+
curl \
30+
wget \
31+
libssl-dev \
32+
libgtk-3-dev \
33+
libayatana-appindicator3-dev \
34+
librsvg2-dev
35+
36+
# Install tauri-driver dependencies
37+
RUN apt-get install -y \
38+
dbus-x11 \
39+
webkit2gtk-4.0-dev \
40+
webkit2gtk-driver \
41+
xvfb
42+
43+
# Install tauri-driver
44+
# https://tauri.app/v1/guides/testing/webdriver/introduction#system-dependencies
45+
RUN cargo install tauri-driver
46+
47+
CMD ["/bin/bash"]
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Run `make build-debian-bookworm-18` to build this image
2+
3+
FROM rust:bookworm
4+
5+
# Install base utils
6+
RUN apt-get update
7+
RUN apt-get install -y \
8+
curl \
9+
psmisc
10+
11+
# Install Node.js
12+
RUN curl -fsSL "https://deb.nodesource.com/setup_20.x" | bash -
13+
RUN apt-get install -y nodejs
14+
15+
# Install Yarn
16+
RUN corepack enable
17+
18+
# Install Tarpaulin
19+
RUN cargo install cargo-tarpaulin
20+
21+
# Install Tauri dependencies
22+
# https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-linux
23+
RUN apt-get install -y \
24+
libwebkit2gtk-4.0-dev \
25+
build-essential \
26+
curl \
27+
wget \
28+
libssl-dev \
29+
libgtk-3-dev \
30+
libayatana-appindicator3-dev \
31+
librsvg2-dev
32+
33+
# Install tauri-driver dependencies
34+
RUN apt-get install -y \
35+
dbus-x11 \
36+
webkit2gtk-4.0-dev \
37+
webkit2gtk-driver \
38+
xvfb
39+
40+
# Install tauri-driver
41+
# https://tauri.app/v1/guides/testing/webdriver/introduction#system-dependencies
42+
RUN cargo install tauri-driver
43+
44+
CMD ["/bin/bash"]
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Run `make build-debian-bullseye-18-nightly` to build this image
2+
3+
FROM rust:bullseye
4+
5+
# Install base utils
6+
RUN apt-get update
7+
RUN apt-get install -y \
8+
curl \
9+
psmisc
10+
11+
# Intsall Rust nightly
12+
RUN rustup default nightly
13+
14+
# Install Node.js
15+
RUN apt-get update
16+
RUN apt-get install -y curl
17+
RUN curl -fsSL "https://deb.nodesource.com/setup_20.x" | bash -
18+
RUN apt-get install -y nodejs
19+
20+
# Install Yarn
21+
RUN corepack enable
22+
23+
# Install Tarpaulin
24+
RUN cargo install cargo-tarpaulin
25+
26+
# Install Tauri dependencies
27+
# https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-linux
28+
RUN apt-get install -y \
29+
libwebkit2gtk-4.0-dev \
30+
build-essential \
31+
curl \
32+
wget \
33+
libssl-dev \
34+
libgtk-3-dev \
35+
libayatana-appindicator3-dev \
36+
librsvg2-dev
37+
38+
# Install tauri-driver dependencies
39+
RUN apt-get install -y \
40+
dbus-x11 \
41+
webkit2gtk-4.0-dev \
42+
webkit2gtk-driver \
43+
xvfb
44+
45+
# Install tauri-driver
46+
# https://tauri.app/v1/guides/testing/webdriver/introduction#system-dependencies
47+
RUN cargo install tauri-driver
48+
49+
CMD ["/bin/bash"]
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Run `make build-debian-bullseye-18` to build this image
2+
3+
FROM rust:bullseye
4+
5+
# Install base utils
6+
RUN apt-get update
7+
RUN apt-get install -y \
8+
curl \
9+
psmisc
10+
11+
# Install Node.js
12+
RUN curl -fsSL "https://deb.nodesource.com/setup_20.x" | bash -
13+
RUN apt-get install -y nodejs
14+
15+
# Install Yarn
16+
RUN corepack enable
17+
18+
# Install Tarpaulin
19+
RUN cargo install cargo-tarpaulin
20+
21+
# Install Tauri dependencies
22+
# https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-linux
23+
RUN apt-get install -y \
24+
libwebkit2gtk-4.0-dev \
25+
build-essential \
26+
curl \
27+
wget \
28+
libssl-dev \
29+
libgtk-3-dev \
30+
libayatana-appindicator3-dev \
31+
librsvg2-dev
32+
33+
# Install tauri-driver dependencies
34+
RUN apt-get install -y \
35+
dbus-x11 \
36+
webkit2gtk-4.0-dev \
37+
webkit2gtk-driver \
38+
xvfb
39+
40+
# Install tauri-driver
41+
# https://tauri.app/v1/guides/testing/webdriver/introduction#system-dependencies
42+
RUN cargo install tauri-driver
43+
44+
CMD ["/bin/bash"]

0 commit comments

Comments
 (0)