Skip to content

Commit

Permalink
Add prebuilt ponyc binaries for Ubuntu 24.04
Browse files Browse the repository at this point in the history
  • Loading branch information
SeanTAllen committed Apr 25, 2024
1 parent be1000c commit dd6b876
Show file tree
Hide file tree
Showing 13 changed files with 89 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
FROM ubuntu:24.04

# Keep annoying tzdata prompt from coming up
# Thanks cmake!
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true

RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-transport-https \
build-essential \
clang \
cmake \
git \
lldb \
make \
xz-utils \
zlib1g-dev \
curl \
python3-pip \
wget \
systemtap-sdt-dev \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get -y autoremove --purge \
&& apt-get -y clean \
&& pip3 install --break-system-packages cloudsmith-cli

# needed for GitHub actions
RUN git config --global --add safe.directory /__w/ponyc/ponyc

# add user pony in order to not run tests as root
RUN useradd -u 1001 -ms /bin/bash -d /home/pony -g root pony
USER pony
WORKDIR /home/pony
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash

set -o errexit
set -o nounset

#
# *** You should already be logged in to GHCR when you run this ***
#

NAME="ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder"
TODAY=$(date +%Y%m%d)
DOCKERFILE_DIR="$(dirname "$0")"

docker build --pull -t "${NAME}:${TODAY}" "${DOCKERFILE_DIR}"
docker push "${NAME}:${TODAY}"
4 changes: 2 additions & 2 deletions .dockerfiles/latest/x86-64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:22.04
FROM ubuntu:24.04

ENV PATH "/root/.local/share/ponyup/bin:$PATH"

Expand All @@ -9,7 +9,7 @@ RUN apt-get update \
curl \
g++ \
git \
lsb-core \
lsb-release \
make \
&& rm -rf /var/lib/apt/lists/*

Expand Down
4 changes: 2 additions & 2 deletions .dockerfiles/release/x86-64-unknown-linux-gnu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:22.04
FROM ubuntu:24.04

ENV PATH "/root/.local/share/ponyup/bin:$PATH"

Expand All @@ -9,7 +9,7 @@ RUN apt-get update \
curl \
g++ \
git \
lsb-core \
lsb-release \
make \
&& rm -rf /var/lib/apt/lists/*

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cloudsmith-package-sychronised.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
build-latest-gnu-docker-image:
if: |
github.event.client_payload.data.repository == 'nightlies' &&
github.event.client_payload.data.name == 'ponyc-x86-64-unknown-linux-ubuntu22.04.tar.gz'
github.event.client_payload.data.name == 'ponyc-x86-64-unknown-linux-ubuntu24.04.tar.gz'
name: Build latest GNU Docker image
runs-on: ubuntu-latest
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
build-release-gnu-docker-image:
if: |
github.event.client_payload.data.repository == 'releases' &&
github.event.client_payload.data.name == 'ponyc-x86-64-unknown-linux-ubuntu22.04.tar.gz'
github.event.client_payload.data.name == 'ponyc-x86-64-unknown-linux-ubuntu24.04.tar.gz'
name: Build release GNU Docker image
runs-on: ubuntu-latest
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/nightlies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ jobs:
fail-fast: false
matrix:
include:
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20240425
name: x86-64-unknown-linux-ubuntu24.04
triple-os: linux-ubuntu24.04
triple-vendor: unknown
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230924
name: x86-64-unknown-linux-ubuntu22.04
triple-os: linux-ubuntu22.04
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ jobs:
fail-fast: false
matrix:
include:
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230924
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20240425
name: x86-64 Linux glibc
debugger: lldb
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20231003
Expand Down Expand Up @@ -444,10 +444,10 @@ jobs:
fail-fast: false
matrix:
include:
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230924
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20240425
debugger: lldb
directives: dtrace
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230924
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20240425
debugger: lldb
directives: pool_memalign

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ jobs:
fail-fast: false
matrix:
include:
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20240425
name: x86-64-unknown-linux-ubuntu24.04
triple-os: linux-ubuntu24.04
triple-vendor: unknown
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230924
name: x86-64-unknown-linux-ubuntu22.04
triple-os: linux-ubuntu22.04
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/stress-test-runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@ jobs:
fail-fast: false
matrix:
include:
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230924
name: x86-64-unknown-linux-ubuntu22.04 [release]
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20240425
name: x86-64-unknown-linux-ubuntu24.04 [release]
target: test-stress-release
debugger: lldb
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230924
name: x86-64-unknown-linux-ubuntu22.04 [debug]
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20240425
name: x86-64-unknown-linux-ubuntu24.04 [debug]
target: test-stress-debug
debugger: lldb
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230924
name: x86-64-unknown-linux-ubuntu22.04 [cd] [release]
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20240425
name: x86-64-unknown-linux-ubuntu24.04 [cd] [release]
target: test-stress-with-cd-release
debugger: lldb
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230924
name: x86-64-unknown-linux-ubuntu22.04 [cd] [debug]
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20240425
name: x86-64-unknown-linux-ubuntu24.04 [cd] [debug]
target: test-stress-with-cd-debug
debugger: lldb
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20231003
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/update-lib-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
fail-fast: false
matrix:
include:
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu24.04-builder:20240425
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230924
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20230830
- image: ghcr.io/ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20231003
Expand Down
9 changes: 9 additions & 0 deletions .release-notes/ubuntu24.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Add prebuilt ponyc binaries for Ubuntu 24.04

We've added prebuilt ponyc binaries specifically made to work on Ubuntu 24.04.

You can opt into using the Ubuntu binaries when using ponyup by running:

```bash
ponyup default ubuntu24.04
```
6 changes: 4 additions & 2 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ Currently, we have packages for the following Glibc based distributions:

- Fedora 39
- Linux Mint 19, 20, 21
- Pop!_OS 20.04, 22.04
- Ubuntu 20.04, 22.04
- Pop!_OS 20.04, 22.04, 24.04
- Ubuntu 20.04, 22.04, 24.04

### Supported Alpine versions

Expand All @@ -47,8 +47,10 @@ Linux Mint 20.x | x86_64-linux-ubuntu20.04
Linux Mint 21.x | x86_64-linux-ubuntu22.04
Pop!_OS 20.04 | x86_64-linux-ubuntu20.04
Pop!_OS 22.04 | x86_64-linux-ubuntu22.04
Pop!_OS 24.04 | x86_64-linux-ubuntu24.04
Ubuntu 20.04 | x86_64-linux-ubuntu20.04
Ubuntu 22.04 | x86_64-linux-ubuntu22.04
Ubuntu 24.04 | x86_64-linux-ubuntu24.04

### Install the latest release

Expand Down
1 change: 1 addition & 0 deletions RELEASE_PROCESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ Package names will be:
* ponyc-x86-64-unknown-linux-musl.tar.gz
* ponyc-x86-64-unknown-linux-ubuntu20.04.tar.gz
* ponyc-x86-64-unknown-linux-ubuntu22.04.tar.gz
* ponyc-x86-64-unknown-linux-ubuntu24.04.tar.gz

and should have a version field listing that matches the current release e.g. `0.3.1`.

Expand Down

0 comments on commit dd6b876

Please sign in to comment.