From ebaf822435f14853b2bbed111b83d745951e6590 Mon Sep 17 00:00:00 2001 From: khalyomede Date: Tue, 21 Nov 2023 18:46:23 +0100 Subject: [PATCH 1/9] #6045 add Ubuntu 22.04 Dockerfile --- .github/workflows/docker.yml | 24 +++++++++++++++++++ docker/ubuntu-2204-nightly/Dockerfile | 16 +++++++++++++ .../docker-compose.example.yml | 8 +++++++ 3 files changed, 48 insertions(+) create mode 100644 .github/workflows/docker.yml create mode 100644 docker/ubuntu-2204-nightly/Dockerfile create mode 100644 docker/ubuntu-2204-nightly/docker-compose.example.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000000..e94234acec --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,24 @@ +on: + pull_request: + +name: Docker images tests + +jobs: + ubuntu-2204-nightly: + name: ubuntu-2204-nightly + runs-on: [ubuntu-20.04] + timeout-minutes: 120 + steps: + - uses: actions/checkout@v3 + + - name: Copy example docker file + run: cp docker/ubuntu-2204-nightly/docker-compose.example.yml docker/ubuntu-2204-nightly/docker-compose.yml + + - name: Build image + run: docker-compose -f docker/ubuntu-2204-nightly/docker-compose.yml build + + - name: Run hello world test + run: docker-compose -f docker/ubuntu-2204-nightly/docker-compose.yml run roc examples/helloWorld.roc + + - name: Run C platform test + run: docker-compose -f docker/ubuntu-2204-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc diff --git a/docker/ubuntu-2204-nightly/Dockerfile b/docker/ubuntu-2204-nightly/Dockerfile new file mode 100644 index 0000000000..70349434da --- /dev/null +++ b/docker/ubuntu-2204-nightly/Dockerfile @@ -0,0 +1,16 @@ +FROM ubuntu:22.04 + +RUN apt-get update --fix-missing +RUN apt-get upgrade --yes +RUN apt-get install --yes \ + wget \ + libc-dev \ + binutils \ + build-essential \ + clang +RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz +RUN mkdir /usr/lib/roc +# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. +RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 + +ENV PATH="$PATH:/usr/lib/roc" diff --git a/docker/ubuntu-2204-nightly/docker-compose.example.yml b/docker/ubuntu-2204-nightly/docker-compose.example.yml new file mode 100644 index 0000000000..d33c7ff31f --- /dev/null +++ b/docker/ubuntu-2204-nightly/docker-compose.example.yml @@ -0,0 +1,8 @@ +version: "3" +services: + roc: + build: . + entrypoint: roc + working_dir: /home/ubuntu/app + volumes: + - ../../:/home/ubuntu/app From a134484853e1cbd3dd3a0add519f22906ef06a1f Mon Sep 17 00:00:00 2001 From: khalyomede Date: Wed, 22 Nov 2023 15:39:36 +0100 Subject: [PATCH 2/9] #6045 add Ubuntu 20.04 compatible Docker image --- .github/workflows/docker.yml | 19 +++++++++++++++++++ docker/ubuntu-2004-nightly/Dockerfile | 16 ++++++++++++++++ .../docker-compose.example.yml | 8 ++++++++ 3 files changed, 43 insertions(+) create mode 100644 docker/ubuntu-2004-nightly/Dockerfile create mode 100644 docker/ubuntu-2004-nightly/docker-compose.example.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index e94234acec..cfc1c6f00a 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -22,3 +22,22 @@ jobs: - name: Run C platform test run: docker-compose -f docker/ubuntu-2204-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + + ubuntu-2004-nightly: + name: ubuntu-2004-nightly + runs-on: [ubuntu-20.04] + timeout-minutes: 120 + steps: + - uses: actions/checkout@v3 + + - name: Copy example docker file + run: cp docker/ubuntu-2004-nightly/docker-compose.example.yml docker/ubuntu-2004-nightly/docker-compose.yml + + - name: Build image + run: docker-compose -f docker/ubuntu-2004-nightly/docker-compose.yml build + + - name: Run hello world test + run: docker-compose -f docker/ubuntu-2004-nightly/docker-compose.yml run roc examples/helloWorld.roc + + - name: Run C platform test + run: docker-compose -f docker/ubuntu-2004-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc diff --git a/docker/ubuntu-2004-nightly/Dockerfile b/docker/ubuntu-2004-nightly/Dockerfile new file mode 100644 index 0000000000..483afc2d5c --- /dev/null +++ b/docker/ubuntu-2004-nightly/Dockerfile @@ -0,0 +1,16 @@ +FROM ubuntu:20.04 + +RUN apt-get update --fix-missing +RUN apt-get upgrade --yes +RUN apt-get install --yes \ + wget \ + libc-dev \ + binutils \ + build-essential \ + clang +RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz +RUN mkdir /usr/lib/roc +# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. +RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 + +ENV PATH="$PATH:/usr/lib/roc" diff --git a/docker/ubuntu-2004-nightly/docker-compose.example.yml b/docker/ubuntu-2004-nightly/docker-compose.example.yml new file mode 100644 index 0000000000..d33c7ff31f --- /dev/null +++ b/docker/ubuntu-2004-nightly/docker-compose.example.yml @@ -0,0 +1,8 @@ +version: "3" +services: + roc: + build: . + entrypoint: roc + working_dir: /home/ubuntu/app + volumes: + - ../../:/home/ubuntu/app From 3b1cf62ad21d6f1bf04a03f9ecf80200d5d60068 Mon Sep 17 00:00:00 2001 From: khalyomede Date: Wed, 22 Nov 2023 15:44:32 +0100 Subject: [PATCH 3/9] #6045 add Ubuntu latest compatible Docker image --- .github/workflows/docker.yml | 19 +++++++++++++++++++ docker/ubuntu-latest-nightly/Dockerfile | 16 ++++++++++++++++ .../docker-compose.example.yml | 8 ++++++++ 3 files changed, 43 insertions(+) create mode 100644 docker/ubuntu-latest-nightly/Dockerfile create mode 100644 docker/ubuntu-latest-nightly/docker-compose.example.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index cfc1c6f00a..d9031adb6f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -4,6 +4,25 @@ on: name: Docker images tests jobs: + ubuntu-latest-nightly: + name: ubuntu-latest-nightly + runs-on: [ubuntu-20.04] + timeout-minutes: 120 + steps: + - uses: actions/checkout@v3 + + - name: Copy example docker file + run: cp docker/ubuntu-latest-nightly/docker-compose.example.yml docker/ubuntu-latest-nightly/docker-compose.yml + + - name: Build image + run: docker-compose -f docker/ubuntu-latest-nightly/docker-compose.yml build + + - name: Run hello world test + run: docker-compose -f docker/ubuntu-latest-nightly/docker-compose.yml run roc examples/helloWorld.roc + + - name: Run C platform test + run: docker-compose -f docker/ubuntu-latest-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + ubuntu-2204-nightly: name: ubuntu-2204-nightly runs-on: [ubuntu-20.04] diff --git a/docker/ubuntu-latest-nightly/Dockerfile b/docker/ubuntu-latest-nightly/Dockerfile new file mode 100644 index 0000000000..3a8a59bf47 --- /dev/null +++ b/docker/ubuntu-latest-nightly/Dockerfile @@ -0,0 +1,16 @@ +FROM ubuntu:latest + +RUN apt-get update --fix-missing +RUN apt-get upgrade --yes +RUN apt-get install --yes \ + wget \ + libc-dev \ + binutils \ + build-essential \ + clang +RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz +RUN mkdir /usr/lib/roc +# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. +RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 + +ENV PATH="$PATH:/usr/lib/roc" diff --git a/docker/ubuntu-latest-nightly/docker-compose.example.yml b/docker/ubuntu-latest-nightly/docker-compose.example.yml new file mode 100644 index 0000000000..d33c7ff31f --- /dev/null +++ b/docker/ubuntu-latest-nightly/docker-compose.example.yml @@ -0,0 +1,8 @@ +version: "3" +services: + roc: + build: . + entrypoint: roc + working_dir: /home/ubuntu/app + volumes: + - ../../:/home/ubuntu/app From b3fd2a9c5bfbf2c9f304bc514c9cbe49a973683d Mon Sep 17 00:00:00 2001 From: khalyomede Date: Wed, 22 Nov 2023 16:22:18 +0100 Subject: [PATCH 4/9] #6045 add Debian 12 (Bookworm) compatible Docker image --- .github/workflows/docker.yml | 19 +++++++++++++++++++ docker/debian-bookworm-nightly/Dockerfile | 16 ++++++++++++++++ .../docker-compose.example.yml | 8 ++++++++ 3 files changed, 43 insertions(+) create mode 100644 docker/debian-bookworm-nightly/Dockerfile create mode 100644 docker/debian-bookworm-nightly/docker-compose.example.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index d9031adb6f..1d73cc4cee 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -60,3 +60,22 @@ jobs: - name: Run C platform test run: docker-compose -f docker/ubuntu-2004-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + + debian-bookworm-nightly: + name: debian-bookworm-nightly + runs-on: [ubuntu-20.04] + timeout-minutes: 120 + steps: + - uses: actions/checkout@v3 + + - name: Copy example docker file + run: cp docker/debian-bookworm-nightly/docker-compose.example.yml docker/debian-bookworm-nightly/docker-compose.yml + + - name: Build image + run: docker-compose -f docker/debian-bookworm-nightly/docker-compose.yml build + + - name: Run hello world test + run: docker-compose -f docker/debian-bookworm-nightly/docker-compose.yml run roc examples/helloWorld.roc + + - name: Run C platform test + run: docker-compose -f docker/debian-bookworm-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc diff --git a/docker/debian-bookworm-nightly/Dockerfile b/docker/debian-bookworm-nightly/Dockerfile new file mode 100644 index 0000000000..60008b39b0 --- /dev/null +++ b/docker/debian-bookworm-nightly/Dockerfile @@ -0,0 +1,16 @@ +FROM debian:bookworm + +RUN apt-get update --fix-missing +RUN apt-get upgrade --yes +RUN apt-get install --yes \ + wget \ + libc-dev \ + binutils \ + build-essential \ + clang +RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz +RUN mkdir /usr/lib/roc +# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. +RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 + +ENV PATH="$PATH:/usr/lib/roc" diff --git a/docker/debian-bookworm-nightly/docker-compose.example.yml b/docker/debian-bookworm-nightly/docker-compose.example.yml new file mode 100644 index 0000000000..d33c7ff31f --- /dev/null +++ b/docker/debian-bookworm-nightly/docker-compose.example.yml @@ -0,0 +1,8 @@ +version: "3" +services: + roc: + build: . + entrypoint: roc + working_dir: /home/ubuntu/app + volumes: + - ../../:/home/ubuntu/app From 61bbb4c4e3b08d6cca2580050469534be0e61a16 Mon Sep 17 00:00:00 2001 From: khalyomede Date: Wed, 22 Nov 2023 16:25:58 +0100 Subject: [PATCH 5/9] #6045 add Debian (latest) Docker image --- .github/workflows/docker.yml | 19 +++++++++++++++++++ docker/debian-latest-nightly/Dockerfile | 16 ++++++++++++++++ .../docker-compose.example.yml | 8 ++++++++ 3 files changed, 43 insertions(+) create mode 100644 docker/debian-latest-nightly/Dockerfile create mode 100644 docker/debian-latest-nightly/docker-compose.example.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 1d73cc4cee..7ee1cc5b3f 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -61,6 +61,25 @@ jobs: - name: Run C platform test run: docker-compose -f docker/ubuntu-2004-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + debian-latest-nightly: + name: debian-latest-nightly + runs-on: [ubuntu-20.04] + timeout-minutes: 120 + steps: + - uses: actions/checkout@v3 + + - name: Copy example docker file + run: cp docker/debian-latest-nightly/docker-compose.example.yml docker/debian-latest-nightly/docker-compose.yml + + - name: Build image + run: docker-compose -f docker/debian-latest-nightly/docker-compose.yml build + + - name: Run hello world test + run: docker-compose -f docker/debian-latest-nightly/docker-compose.yml run roc examples/helloWorld.roc + + - name: Run C platform test + run: docker-compose -f docker/debian-latest-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + debian-bookworm-nightly: name: debian-bookworm-nightly runs-on: [ubuntu-20.04] diff --git a/docker/debian-latest-nightly/Dockerfile b/docker/debian-latest-nightly/Dockerfile new file mode 100644 index 0000000000..368f53b8df --- /dev/null +++ b/docker/debian-latest-nightly/Dockerfile @@ -0,0 +1,16 @@ +FROM debian:latest + +RUN apt-get update --fix-missing +RUN apt-get upgrade --yes +RUN apt-get install --yes \ + wget \ + libc-dev \ + binutils \ + build-essential \ + clang +RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz +RUN mkdir /usr/lib/roc +# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. +RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 + +ENV PATH="$PATH:/usr/lib/roc" diff --git a/docker/debian-latest-nightly/docker-compose.example.yml b/docker/debian-latest-nightly/docker-compose.example.yml new file mode 100644 index 0000000000..d33c7ff31f --- /dev/null +++ b/docker/debian-latest-nightly/docker-compose.example.yml @@ -0,0 +1,8 @@ +version: "3" +services: + roc: + build: . + entrypoint: roc + working_dir: /home/ubuntu/app + volumes: + - ../../:/home/ubuntu/app From 6a18626b82bcfec1e883a935ff03a49ac87141a7 Mon Sep 17 00:00:00 2001 From: khalyomede Date: Wed, 22 Nov 2023 16:29:32 +0100 Subject: [PATCH 6/9] #6045 add put roc version first (before os name/version) --- .github/workflows/docker.yml | 60 +++++++++---------- .../Dockerfile | 0 .../docker-compose.example.yml | 0 .../Dockerfile | 0 .../docker-compose.example.yml | 0 .../Dockerfile | 0 .../docker-compose.example.yml | 0 .../Dockerfile | 0 .../docker-compose.example.yml | 0 .../Dockerfile | 0 .../docker-compose.example.yml | 0 11 files changed, 30 insertions(+), 30 deletions(-) rename docker/{debian-bookworm-nightly => nightly-debian-bookworm}/Dockerfile (100%) rename docker/{debian-bookworm-nightly => nightly-debian-bookworm}/docker-compose.example.yml (100%) rename docker/{debian-latest-nightly => nightly-debian-latest}/Dockerfile (100%) rename docker/{debian-latest-nightly => nightly-debian-latest}/docker-compose.example.yml (100%) rename docker/{ubuntu-2004-nightly => nightly-ubuntu-2004}/Dockerfile (100%) rename docker/{ubuntu-2004-nightly => nightly-ubuntu-2004}/docker-compose.example.yml (100%) rename docker/{ubuntu-2204-nightly => nightly-ubuntu-2204}/Dockerfile (100%) rename docker/{ubuntu-2204-nightly => nightly-ubuntu-2204}/docker-compose.example.yml (100%) rename docker/{ubuntu-latest-nightly => nightly-ubuntu-latest}/Dockerfile (100%) rename docker/{ubuntu-latest-nightly => nightly-ubuntu-latest}/docker-compose.example.yml (100%) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 7ee1cc5b3f..1036b1a202 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -4,97 +4,97 @@ on: name: Docker images tests jobs: - ubuntu-latest-nightly: - name: ubuntu-latest-nightly + nightly-ubuntu-latest: + name: nightly-ubuntu-latest runs-on: [ubuntu-20.04] timeout-minutes: 120 steps: - uses: actions/checkout@v3 - name: Copy example docker file - run: cp docker/ubuntu-latest-nightly/docker-compose.example.yml docker/ubuntu-latest-nightly/docker-compose.yml + run: cp docker/nightly-ubuntu-latest/docker-compose.example.yml docker/nightly-ubuntu-latest/docker-compose.yml - name: Build image - run: docker-compose -f docker/ubuntu-latest-nightly/docker-compose.yml build + run: docker-compose -f docker/nightly-ubuntu-latest/docker-compose.yml build - name: Run hello world test - run: docker-compose -f docker/ubuntu-latest-nightly/docker-compose.yml run roc examples/helloWorld.roc + run: docker-compose -f docker/nightly-ubuntu-latest/docker-compose.yml run roc examples/helloWorld.roc - name: Run C platform test - run: docker-compose -f docker/ubuntu-latest-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + run: docker-compose -f docker/nightly-ubuntu-latest/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc - ubuntu-2204-nightly: - name: ubuntu-2204-nightly + nightly-ubuntu-2204: + name: nightly-ubuntu-2204 runs-on: [ubuntu-20.04] timeout-minutes: 120 steps: - uses: actions/checkout@v3 - name: Copy example docker file - run: cp docker/ubuntu-2204-nightly/docker-compose.example.yml docker/ubuntu-2204-nightly/docker-compose.yml + run: cp docker/nightly-ubuntu-2204/docker-compose.example.yml docker/nightly-ubuntu-2204/docker-compose.yml - name: Build image - run: docker-compose -f docker/ubuntu-2204-nightly/docker-compose.yml build + run: docker-compose -f docker/nightly-ubuntu-2204/docker-compose.yml build - name: Run hello world test - run: docker-compose -f docker/ubuntu-2204-nightly/docker-compose.yml run roc examples/helloWorld.roc + run: docker-compose -f docker/nightly-ubuntu-2204/docker-compose.yml run roc examples/helloWorld.roc - name: Run C platform test - run: docker-compose -f docker/ubuntu-2204-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + run: docker-compose -f docker/nightly-ubuntu-2204/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc - ubuntu-2004-nightly: - name: ubuntu-2004-nightly + nightly-ubuntu-2004: + name: nightly-ubuntu-2004 runs-on: [ubuntu-20.04] timeout-minutes: 120 steps: - uses: actions/checkout@v3 - name: Copy example docker file - run: cp docker/ubuntu-2004-nightly/docker-compose.example.yml docker/ubuntu-2004-nightly/docker-compose.yml + run: cp docker/nightly-ubuntu-2004/docker-compose.example.yml docker/nightly-ubuntu-2004/docker-compose.yml - name: Build image - run: docker-compose -f docker/ubuntu-2004-nightly/docker-compose.yml build + run: docker-compose -f docker/nightly-ubuntu-2004/docker-compose.yml build - name: Run hello world test - run: docker-compose -f docker/ubuntu-2004-nightly/docker-compose.yml run roc examples/helloWorld.roc + run: docker-compose -f docker/nightly-ubuntu-2004/docker-compose.yml run roc examples/helloWorld.roc - name: Run C platform test - run: docker-compose -f docker/ubuntu-2004-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + run: docker-compose -f docker/nightly-ubuntu-2004/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc - debian-latest-nightly: - name: debian-latest-nightly + nightly-debian-latest: + name: nightly-debian-latest runs-on: [ubuntu-20.04] timeout-minutes: 120 steps: - uses: actions/checkout@v3 - name: Copy example docker file - run: cp docker/debian-latest-nightly/docker-compose.example.yml docker/debian-latest-nightly/docker-compose.yml + run: cp docker/nightly-debian-latest/docker-compose.example.yml docker/nightly-debian-latest/docker-compose.yml - name: Build image - run: docker-compose -f docker/debian-latest-nightly/docker-compose.yml build + run: docker-compose -f docker/nightly-debian-latest/docker-compose.yml build - name: Run hello world test - run: docker-compose -f docker/debian-latest-nightly/docker-compose.yml run roc examples/helloWorld.roc + run: docker-compose -f docker/nightly-debian-latest/docker-compose.yml run roc examples/helloWorld.roc - name: Run C platform test - run: docker-compose -f docker/debian-latest-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + run: docker-compose -f docker/nightly-debian-latest/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc - debian-bookworm-nightly: - name: debian-bookworm-nightly + nightly-debian-bookworm: + name: nightly-debian-bookworm runs-on: [ubuntu-20.04] timeout-minutes: 120 steps: - uses: actions/checkout@v3 - name: Copy example docker file - run: cp docker/debian-bookworm-nightly/docker-compose.example.yml docker/debian-bookworm-nightly/docker-compose.yml + run: cp docker/nightly-debian-bookworm/docker-compose.example.yml docker/nightly-debian-bookworm/docker-compose.yml - name: Build image - run: docker-compose -f docker/debian-bookworm-nightly/docker-compose.yml build + run: docker-compose -f docker/nightly-debian-bookworm/docker-compose.yml build - name: Run hello world test - run: docker-compose -f docker/debian-bookworm-nightly/docker-compose.yml run roc examples/helloWorld.roc + run: docker-compose -f docker/nightly-debian-bookworm/docker-compose.yml run roc examples/helloWorld.roc - name: Run C platform test - run: docker-compose -f docker/debian-bookworm-nightly/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + run: docker-compose -f docker/nightly-debian-bookworm/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc diff --git a/docker/debian-bookworm-nightly/Dockerfile b/docker/nightly-debian-bookworm/Dockerfile similarity index 100% rename from docker/debian-bookworm-nightly/Dockerfile rename to docker/nightly-debian-bookworm/Dockerfile diff --git a/docker/debian-bookworm-nightly/docker-compose.example.yml b/docker/nightly-debian-bookworm/docker-compose.example.yml similarity index 100% rename from docker/debian-bookworm-nightly/docker-compose.example.yml rename to docker/nightly-debian-bookworm/docker-compose.example.yml diff --git a/docker/debian-latest-nightly/Dockerfile b/docker/nightly-debian-latest/Dockerfile similarity index 100% rename from docker/debian-latest-nightly/Dockerfile rename to docker/nightly-debian-latest/Dockerfile diff --git a/docker/debian-latest-nightly/docker-compose.example.yml b/docker/nightly-debian-latest/docker-compose.example.yml similarity index 100% rename from docker/debian-latest-nightly/docker-compose.example.yml rename to docker/nightly-debian-latest/docker-compose.example.yml diff --git a/docker/ubuntu-2004-nightly/Dockerfile b/docker/nightly-ubuntu-2004/Dockerfile similarity index 100% rename from docker/ubuntu-2004-nightly/Dockerfile rename to docker/nightly-ubuntu-2004/Dockerfile diff --git a/docker/ubuntu-2004-nightly/docker-compose.example.yml b/docker/nightly-ubuntu-2004/docker-compose.example.yml similarity index 100% rename from docker/ubuntu-2004-nightly/docker-compose.example.yml rename to docker/nightly-ubuntu-2004/docker-compose.example.yml diff --git a/docker/ubuntu-2204-nightly/Dockerfile b/docker/nightly-ubuntu-2204/Dockerfile similarity index 100% rename from docker/ubuntu-2204-nightly/Dockerfile rename to docker/nightly-ubuntu-2204/Dockerfile diff --git a/docker/ubuntu-2204-nightly/docker-compose.example.yml b/docker/nightly-ubuntu-2204/docker-compose.example.yml similarity index 100% rename from docker/ubuntu-2204-nightly/docker-compose.example.yml rename to docker/nightly-ubuntu-2204/docker-compose.example.yml diff --git a/docker/ubuntu-latest-nightly/Dockerfile b/docker/nightly-ubuntu-latest/Dockerfile similarity index 100% rename from docker/ubuntu-latest-nightly/Dockerfile rename to docker/nightly-ubuntu-latest/Dockerfile diff --git a/docker/ubuntu-latest-nightly/docker-compose.example.yml b/docker/nightly-ubuntu-latest/docker-compose.example.yml similarity index 100% rename from docker/ubuntu-latest-nightly/docker-compose.example.yml rename to docker/nightly-ubuntu-latest/docker-compose.example.yml From 98b988ad42271d3e1a7e4401d05a5428ee42ea12 Mon Sep 17 00:00:00 2001 From: khalyomede Date: Wed, 22 Nov 2023 16:54:15 +0100 Subject: [PATCH 7/9] #6045 add Debian 10 (Buster) compatible Docker image --- .github/workflows/docker.yml | 19 +++++++++++++++++++ docker/nightly-debian-buster/Dockerfile | 16 ++++++++++++++++ .../docker-compose.example.yml | 8 ++++++++ 3 files changed, 43 insertions(+) create mode 100644 docker/nightly-debian-buster/Dockerfile create mode 100644 docker/nightly-debian-buster/docker-compose.example.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 1036b1a202..cdd6ab0106 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -98,3 +98,22 @@ jobs: - name: Run C platform test run: docker-compose -f docker/nightly-debian-bookworm/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc + + nightly-debian-buster: + name: nightly-debian-buster + runs-on: [ubuntu-20.04] + timeout-minutes: 120 + steps: + - uses: actions/checkout@v3 + + - name: Copy example docker file + run: cp docker/nightly-debian-buster/docker-compose.example.yml docker/nightly-debian-buster/docker-compose.yml + + - name: Build image + run: docker-compose -f docker/nightly-debian-buster/docker-compose.yml build + + - name: Run hello world test + run: docker-compose -f docker/nightly-debian-buster/docker-compose.yml run roc examples/helloWorld.roc + + - name: Run C platform test + run: docker-compose -f docker/nightly-debian-buster/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc diff --git a/docker/nightly-debian-buster/Dockerfile b/docker/nightly-debian-buster/Dockerfile new file mode 100644 index 0000000000..0dae4167f6 --- /dev/null +++ b/docker/nightly-debian-buster/Dockerfile @@ -0,0 +1,16 @@ +FROM debian:buster + +RUN apt-get update --fix-missing +RUN apt-get upgrade --yes +RUN apt-get install --yes \ + wget \ + libc-dev \ + binutils \ + build-essential \ + clang +RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-old_linux_x86_64-latest.tar.gz +RUN mkdir /usr/lib/roc +# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. +RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 + +ENV PATH="$PATH:/usr/lib/roc" diff --git a/docker/nightly-debian-buster/docker-compose.example.yml b/docker/nightly-debian-buster/docker-compose.example.yml new file mode 100644 index 0000000000..d33c7ff31f --- /dev/null +++ b/docker/nightly-debian-buster/docker-compose.example.yml @@ -0,0 +1,8 @@ +version: "3" +services: + roc: + build: . + entrypoint: roc + working_dir: /home/ubuntu/app + volumes: + - ../../:/home/ubuntu/app From 6033733e49a97e2bb7e2d2b38e1ba40526edb8ea Mon Sep 17 00:00:00 2001 From: Anton-4 <17049058+Anton-4@users.noreply.github.com> Date: Wed, 22 Nov 2023 19:37:49 +0100 Subject: [PATCH 8/9] ditch C platform deps --- .github/workflows/docker.yml | 14 -------------- docker/nightly-debian-bookworm/Dockerfile | 15 ++++++++------- docker/nightly-debian-latest/Dockerfile | 15 ++++++++------- docker/nightly-ubuntu-2004/Dockerfile | 15 ++++++++------- docker/nightly-ubuntu-2204/Dockerfile | 15 ++++++++------- docker/nightly-ubuntu-latest/Dockerfile | 15 ++++++++------- 6 files changed, 40 insertions(+), 49 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 1036b1a202..64858aadae 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -20,8 +20,6 @@ jobs: - name: Run hello world test run: docker-compose -f docker/nightly-ubuntu-latest/docker-compose.yml run roc examples/helloWorld.roc - - name: Run C platform test - run: docker-compose -f docker/nightly-ubuntu-latest/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc nightly-ubuntu-2204: name: nightly-ubuntu-2204 @@ -39,9 +37,6 @@ jobs: - name: Run hello world test run: docker-compose -f docker/nightly-ubuntu-2204/docker-compose.yml run roc examples/helloWorld.roc - - name: Run C platform test - run: docker-compose -f docker/nightly-ubuntu-2204/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc - nightly-ubuntu-2004: name: nightly-ubuntu-2004 runs-on: [ubuntu-20.04] @@ -58,9 +53,6 @@ jobs: - name: Run hello world test run: docker-compose -f docker/nightly-ubuntu-2004/docker-compose.yml run roc examples/helloWorld.roc - - name: Run C platform test - run: docker-compose -f docker/nightly-ubuntu-2004/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc - nightly-debian-latest: name: nightly-debian-latest runs-on: [ubuntu-20.04] @@ -77,9 +69,6 @@ jobs: - name: Run hello world test run: docker-compose -f docker/nightly-debian-latest/docker-compose.yml run roc examples/helloWorld.roc - - name: Run C platform test - run: docker-compose -f docker/nightly-debian-latest/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc - nightly-debian-bookworm: name: nightly-debian-bookworm runs-on: [ubuntu-20.04] @@ -95,6 +84,3 @@ jobs: - name: Run hello world test run: docker-compose -f docker/nightly-debian-bookworm/docker-compose.yml run roc examples/helloWorld.roc - - - name: Run C platform test - run: docker-compose -f docker/nightly-debian-bookworm/docker-compose.yml run roc examples/platform-switching/rocLovesC.roc diff --git a/docker/nightly-debian-bookworm/Dockerfile b/docker/nightly-debian-bookworm/Dockerfile index 60008b39b0..1e5ad905f0 100644 --- a/docker/nightly-debian-bookworm/Dockerfile +++ b/docker/nightly-debian-bookworm/Dockerfile @@ -2,15 +2,16 @@ FROM debian:bookworm RUN apt-get update --fix-missing RUN apt-get upgrade --yes -RUN apt-get install --yes \ - wget \ - libc-dev \ - binutils \ - build-essential \ - clang + +RUN apt-get install --yes wget + +# you can leave out libc-dev and binutils if you don't need the REPL +RUN apt-get install --yes libc-dev binutils + RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz + RUN mkdir /usr/lib/roc -# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. + RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 ENV PATH="$PATH:/usr/lib/roc" diff --git a/docker/nightly-debian-latest/Dockerfile b/docker/nightly-debian-latest/Dockerfile index 368f53b8df..d2bab43987 100644 --- a/docker/nightly-debian-latest/Dockerfile +++ b/docker/nightly-debian-latest/Dockerfile @@ -2,15 +2,16 @@ FROM debian:latest RUN apt-get update --fix-missing RUN apt-get upgrade --yes -RUN apt-get install --yes \ - wget \ - libc-dev \ - binutils \ - build-essential \ - clang + +RUN apt-get install --yes wget + +# you can leave out libc-dev and binutils if you don't need the REPL +RUN apt-get install --yes libc-dev binutils + RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz + RUN mkdir /usr/lib/roc -# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. + RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 ENV PATH="$PATH:/usr/lib/roc" diff --git a/docker/nightly-ubuntu-2004/Dockerfile b/docker/nightly-ubuntu-2004/Dockerfile index 483afc2d5c..81a047e860 100644 --- a/docker/nightly-ubuntu-2004/Dockerfile +++ b/docker/nightly-ubuntu-2004/Dockerfile @@ -2,15 +2,16 @@ FROM ubuntu:20.04 RUN apt-get update --fix-missing RUN apt-get upgrade --yes -RUN apt-get install --yes \ - wget \ - libc-dev \ - binutils \ - build-essential \ - clang + +RUN apt-get install --yes wget + +# you can leave out libc-dev and binutils if you don't need the REPL +RUN apt-get install --yes libc-dev binutils + RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz + RUN mkdir /usr/lib/roc -# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. + RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 ENV PATH="$PATH:/usr/lib/roc" diff --git a/docker/nightly-ubuntu-2204/Dockerfile b/docker/nightly-ubuntu-2204/Dockerfile index 70349434da..fab49301bc 100644 --- a/docker/nightly-ubuntu-2204/Dockerfile +++ b/docker/nightly-ubuntu-2204/Dockerfile @@ -2,15 +2,16 @@ FROM ubuntu:22.04 RUN apt-get update --fix-missing RUN apt-get upgrade --yes -RUN apt-get install --yes \ - wget \ - libc-dev \ - binutils \ - build-essential \ - clang + +RUN apt-get install --yes wget + +# you can leave out libc-dev and binutils if you don't need the REPL +RUN apt-get install --yes libc-dev binutils + RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz + RUN mkdir /usr/lib/roc -# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. + RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 ENV PATH="$PATH:/usr/lib/roc" diff --git a/docker/nightly-ubuntu-latest/Dockerfile b/docker/nightly-ubuntu-latest/Dockerfile index 3a8a59bf47..fa65a87928 100644 --- a/docker/nightly-ubuntu-latest/Dockerfile +++ b/docker/nightly-ubuntu-latest/Dockerfile @@ -2,15 +2,16 @@ FROM ubuntu:latest RUN apt-get update --fix-missing RUN apt-get upgrade --yes -RUN apt-get install --yes \ - wget \ - libc-dev \ - binutils \ - build-essential \ - clang + +RUN apt-get install --yes wget + +# you can leave out libc-dev and binutils if you don't need the REPL +RUN apt-get install --yes libc-dev binutils + RUN wget -q -O roc.tar.gz https://github.com/roc-lang/roc/releases/download/nightly/roc_nightly-linux_x86_64-latest.tar.gz + RUN mkdir /usr/lib/roc -# --strip-components=1 not needed once https://github.com/roc-lang/roc/issues/4118 is solved. + RUN tar -xvz -f roc.tar.gz --directory /usr/lib/roc --strip-components=1 ENV PATH="$PATH:/usr/lib/roc" From 9e1b649438952e31991b23d28dca0aa24874435f Mon Sep 17 00:00:00 2001 From: Anton-4 <17049058+Anton-4@users.noreply.github.com> Date: Wed, 22 Nov 2023 19:46:47 +0100 Subject: [PATCH 9/9] PR trigger -> manual No need to test the nightlies every PR, they only change once a day :p --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ebc3cf2164..d543aaf905 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,5 +1,5 @@ on: - pull_request: + workflow_dispatch: name: Docker images tests