From 35988621d548dd66fba55fe9348f5a2cc4bf714f Mon Sep 17 00:00:00 2001 From: James Bristow Date: Wed, 1 Jan 2025 00:07:57 +1300 Subject: [PATCH] Adding Docker build --- .env | 1 + .github/workflows/docker-build.yaml | 38 +++++++++++++++++++++++++++++ .gitignore | 1 - Dockerfile.v2.7.3 | 20 +++++++++++++++ docker-compose.yaml | 11 +++++++++ 5 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 .env create mode 100644 .github/workflows/docker-build.yaml create mode 100644 Dockerfile.v2.7.3 create mode 100644 docker-compose.yaml diff --git a/.env b/.env new file mode 100644 index 0000000..a9c7ff4 --- /dev/null +++ b/.env @@ -0,0 +1 @@ +APP_VERSION=v2.7.3 \ No newline at end of file diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml new file mode 100644 index 0000000..6ed2f7d --- /dev/null +++ b/.github/workflows/docker-build.yaml @@ -0,0 +1,38 @@ +name: Docker Build + +on: + workflow_dispatch: {} + release: + types: + - published + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + actions: write + packages: write + +jobs: + build-docker: + runs-on: ubuntu-latest + + steps: + - name: Docker logout + run: docker logout + - uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Docker build + run: docker compose build beast2 + - name: Login to GitHub Package Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GHCR_TOKEN }} + - name: Docker push + run: docker compose push beast2 diff --git a/.gitignore b/.gitignore index 15201ac..921eeba 100644 --- a/.gitignore +++ b/.gitignore @@ -128,7 +128,6 @@ celerybeat.pid *.sage.py # Environments -.env .venv env/ venv/ diff --git a/Dockerfile.v2.7.3 b/Dockerfile.v2.7.3 new file mode 100644 index 0000000..6372de4 --- /dev/null +++ b/Dockerfile.v2.7.3 @@ -0,0 +1,20 @@ +FROM openjdk:8 + +ARG APP_VERSION + +ARG DEBIAN_FRONTEND=noninteractive + +ENV USER root + +ENV PATH=/root/beast/bin:$PATH + +WORKDIR /root/ + +RUN apt-get update \ + && apt-get install -y --no-install-recommends curl git cmake build-essential autoconf automake libtool pkg-config \ + && curl -fsSLO https://github.com/CompEvol/beast2/releases/download/${APP_VERSION}/BEAST.${APP_VERSION}.Linux.x86.tgz \ + && tar fxz BEAST.${APP_VERSION}.Linux.x86.tgz \ + && git clone --depth=1 https://github.com/beagle-dev/beagle-lib.git \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /tmp/downloaded_packages diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..5a0b60a --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,11 @@ +version: "3.9" + +services: + + beast2: + image: ghcr.io/jbris/beast2:${APP_VERSION} + build: + context: . + dockerfile: Dockerfile.${APP_VERSION} + args: + APP_VERSION: $APP_VERSION