Skip to content

Commit

Permalink
Run CI in ubuntu 24.04 (#692)
Browse files Browse the repository at this point in the history
* run CI with ubuntu 24.04 because etcd is modern version there

* Build for fedora 40 and ubuntu 24.04, using latest crystal

* Golang 1.22 needed to work with latest cloudamqp/rabbit-hole

---------

Co-authored-by: Magnus Landerblom <magnus@landerblom.se>
  • Loading branch information
carlhoerberg and snichme authored Jun 5, 2024
1 parent 418400e commit 9fc1249
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 17 deletions.
39 changes: 27 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
name: Format check
runs-on: ubuntu-latest
continue-on-error: true
container: 84codes/crystal:latest-ubuntu-20.04
container: 84codes/crystal:latest-ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: crystal tool format --check
Expand All @@ -40,7 +40,7 @@ jobs:
name: Lint check
runs-on: ubuntu-latest
continue-on-error: true
container: 84codes/crystal:latest-ubuntu-20.04
container: 84codes/crystal:latest-ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Checkout ameba
Expand Down Expand Up @@ -80,7 +80,7 @@ jobs:
spec:
name: Spec
runs-on: ubuntu-latest
container: 84codes/crystal:latest-ubuntu-20.04
container: 84codes/crystal:latest-ubuntu-24.04
steps:
- name: Print Crystal version
run: crystal -v
Expand Down Expand Up @@ -114,7 +114,7 @@ jobs:
compile:
name: Compile LavinMQ
runs-on: ubuntu-latest
container: 84codes/crystal:latest-ubuntu-20.04
container: 84codes/crystal:latest-ubuntu-24.04

steps:
- name: Install dependencies
Expand Down Expand Up @@ -191,15 +191,15 @@ jobs:

java-client-test:
name: RabbitMQ java client test
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs: compile
continue-on-error: true

steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y make libevent-2.1-7 openjdk-13-jre-headless liblz4-1
sudo apt-get install -y make libevent-2.1-7 openjdk-21-jre-headless liblz4-1
- uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -227,14 +227,14 @@ jobs:
bunny-test:
name: Bunny client test
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs: compile

steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libevent-dev liblz4-1
sudo apt-get install -y libevent-2.1-7 liblz4-1
- name: Checkout LavinMQ for bunny_definitions.json
uses: actions/checkout@v4
Expand Down Expand Up @@ -278,11 +278,16 @@ jobs:
ruby-http-api-test:
name: RabbitMQ HTTP API Ruby client test
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs: compile
continue-on-error: true

steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libevent-2.1-7 liblz4-1
- uses: actions/download-artifact@v4
with:
name: bin
Expand Down Expand Up @@ -314,11 +319,16 @@ jobs:
go-http-api-test:
name: RabbitMQ HTTP API Go client test
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs: compile
continue-on-error: true

steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libevent-2.1-7 liblz4-1
- uses: actions/download-artifact@v4
with:
name: bin
Expand All @@ -332,7 +342,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: 1.15.2
go-version: 1.22.3

- name: Clone http client
uses: actions/checkout@v4
Expand All @@ -348,11 +358,16 @@ jobs:
release-mode-test:
name: Test in release mode
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
needs: compile
continue-on-error: true

steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libevent-2.1-7 liblz4-1
- name: Checkout
uses: actions/checkout@v4

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-20.04, debian-12, debian-11]
os: [ubuntu-24.04, ubuntu-22.04, ubuntu-20.04, debian-12, debian-11]
runs-on: ubuntu-latest
permissions:
contents: read
Expand All @@ -60,7 +60,7 @@ jobs:
platforms: linux/amd64,linux/arm64
pull: true
build-args: |
build_image=84codes/crystal:1.11.2-${{ matrix.os }}
build_image=84codes/crystal:1.12.2-${{ matrix.os }}
version=${{ env.version }}
DEB_BUILD_OPTIONS="parallel=1"
outputs: builds
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/rpm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
name: Build RPM
strategy:
matrix:
os: ['fedora-39', 'fedora-38', 'el-9']
os: ['fedora-39', 'fedora-40', 'el-9']
runs-on: ubuntu-latest
# Set permissions if you're using OIDC token authentication
permissions:
Expand Down Expand Up @@ -72,7 +72,7 @@ jobs:
platforms: linux/amd64,linux/arm64
pull: true
build-args: |
build_image=84codes/crystal:1.11.2-${{ matrix.os }}
build_image=84codes/crystal:1.12.2-${{ matrix.os }}
version=${{ env.version }}
MAKEFLAGS=-j1
outputs: RPMS
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Base layer
FROM 84codes/crystal:1.12.1-ubuntu-24.04 AS base
FROM 84codes/crystal:1.12.2-ubuntu-24.04 AS base
RUN apt-get update && apt-get install liblz4-dev
WORKDIR /tmp
COPY shard.yml shard.lock .
Expand Down

0 comments on commit 9fc1249

Please sign in to comment.