diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8e8f9a3..49edcc5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,28 +10,38 @@ jobs: build: name: Build runs-on: ubuntu-latest + strategy: + matrix: + ubuntu-version: + - 22.04 + - 24.04 steps: - uses: actions/checkout@v4 - - run: make update - - run: make build + - run: make UBUNTU=${{ matrix.ubuntu-version }} update + - run: make UBUNTU=${{ matrix.ubuntu-version }} build - run: | docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - make push + make UBUNTU=${{ matrix.ubuntu-version }} push if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }} build-minimal: name: Build Minimal runs-on: ubuntu-latest + strategy: + matrix: + ubuntu-version: + - 22.04 + - 24.04 steps: - uses: actions/checkout@v4 - - run: make update - - run: make build/minimal-cross + - run: make UBUNTU=${{ matrix.ubuntu-version }} update + - run: make UBUNTU=${{ matrix.ubuntu-version }} build/minimal-cross - run: | docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - make push/minimal-cross + make UBUNTU=${{ matrix.ubuntu-version }} push/minimal-cross if: ${{ github.repository_owner == 'wpilibsuite' && github.ref == 'refs/heads/main' }} - - run: make save/minimal-cross + - run: make UBUNTU=${{ matrix.ubuntu-version }} save/minimal-cross - uses: actions/upload-artifact@v4 with: name: roborio diff --git a/Makefile b/Makefile index 34624b9..72b4ef8 100644 --- a/Makefile +++ b/Makefile @@ -18,8 +18,6 @@ build: build/base build/cross build/opensdk build/base: cd ubuntu-base && \ docker build -t ${DOCKER_USER}/ubuntu-base:${UBUNTU} -f Dockerfile.${UBUNTU} . - cd gazebo-ubuntu && \ - docker build -t ${DOCKER_USER}/gazebo-ubuntu:${UBUNTU} --build-arg UBUNTU=${UBUNTU} . build/cross: build/base cd roborio-cross-ubuntu && \ @@ -53,7 +51,6 @@ push: $(patsubst %,push/%, base cross opensdk) push/base: docker push ${DOCKER_USER}/ubuntu-base:${UBUNTU} - docker push ${DOCKER_USER}/gazebo-ubuntu:${UBUNTU} push/cross: push/base docker push ${DOCKER_USER}/roborio-cross-ubuntu:2025-${UBUNTU} diff --git a/ubuntu-base/Dockerfile.24.04 b/ubuntu-base/Dockerfile.24.04 new file mode 100644 index 0000000..a78a871 --- /dev/null +++ b/ubuntu-base/Dockerfile.24.04 @@ -0,0 +1,48 @@ +FROM ubuntu:24.04 + +RUN apt-get update && apt-get install -y apt-transport-https \ + ca-certificates \ + gnupg \ + software-properties-common \ + wget && \ + wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ + apt-add-repository 'deb https://apt.kitware.com/ubuntu/ noble main' && \ + add-apt-repository ppa:git-core/ppa && \ + apt-get update && apt-get install -y tzdata && apt-get install -y \ + build-essential \ + ca-certificates \ + clang-format-14 \ + cmake \ + curl \ + fakeroot \ + g++ --no-install-recommends \ + gcc \ + gdb \ + git \ + java-common \ + libc6-dev \ + libgl1-mesa-dev \ + libglu1-mesa-dev \ + libisl-dev \ + libopencv-dev \ + libvulkan-dev \ + libx11-dev \ + libxcursor-dev \ + libxi-dev \ + libxinerama-dev \ + libxrandr-dev \ + make \ + mesa-common-dev \ + openjdk-17-jdk \ + python3-dev \ + python3-pip \ + python3-setuptools \ + sudo \ + unzip \ + wget \ + zip \ + && rm -rf /var/lib/apt/lists/* + +ENV JAVA_HOME /usr/lib/jvm/java-17-openjdk-amd64 + +WORKDIR /