Skip to content

Commit

Permalink
Add github actions build
Browse files Browse the repository at this point in the history
  • Loading branch information
MegaThorx committed Jul 7, 2023
1 parent 5f0225a commit 703c4d5
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 10 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/build-docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Build docker
on:
push:
branches:
- master

env:
IMAGE_ID: "ghcr.io/exo-opensource/mta-gamemode"

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Building script
run: |
sudo apt update && sudo apt install -y python3 git lua5.1
echo "GIT_VERSION=\"$(git rev-parse HEAD)\" ; GIT_BRANCH=\"$GITHUB_REF_NAME\"" >> vrp/buildinfo.lua
python3 build/lint.py
python3 build/buildscript.py --branch $GITHUB_REF_NAME
python3 build/packAssets.py
./build/make_archives.sh
wget -q -O build/workerserver https://github.com/eXo-OpenSource/deploy-workerunit/releases/download/v1.0/workserver
wget -q -O build/ml_gps.so https://github.com/eXo-OpenSource/ml_pathfind/releases/download/v1.0.3/ml_pathfind.so
wget -q -O build/ml_jwt.so https://github.com/eXo-OpenSource/ml_jwt/releases/download/1.0-wip/ml_jwt.so
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push Docker image
uses: docker/build-push-action@v4.0.0
with:
context: .
labels: "runnumber=${GITHUB_RUN_ID}"
platforms: "linux/amd64"
push: true
tags: "${{ env.IMAGE_ID }}:latest"
21 changes: 11 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM debian:buster
FROM debian:bookworm

# Prerequisites
RUN apt-get -y update && apt-get install -y --no-install-recommends ca-certificates wget unzip openssl libncursesw5
Expand All @@ -9,24 +9,26 @@ RUN echo $TZ | tee /etc/timezone && \
dpkg-reconfigure --frontend noninteractive tzdata

# Setup user and change to its home
RUN useradd -u 5000 -m -d /var/lib/mtasa/ mtasa && \
cd /var/lib/mtasa && \
RUN useradd -u 5000 -m -d /var/lib/mtasa/ mtasa

WORKDIR /var/lib/mtasa

# Download and install MTA Server
wget -q -O mta.tar.gz https://nightly.mtasa.com/multitheftauto_linux_x64-1.5.8-rc-20985.tar.gz && \
RUN wget -q -O mta.tar.gz https://nightly.multitheftauto.com/multitheftauto_linux_x64-1.6.0-rc-21884.tar.gz && \
tar xfz mta.tar.gz && mv multitheftauto*/* ./ && \
ls -ls && \
rm -Rf multitheftauto* && \
rm mta.tar.gz && \
rm mta.tar.gz

# Download default resources
mkdir /var/lib/mtasa/mods/deathmatch/resources && \
RUN mkdir /var/lib/mtasa/mods/deathmatch/resources && \
cd /var/lib/mtasa/mods/deathmatch/resources && \
wget -q -O res.zip https://mirror.mtasa.com/mtasa/resources/mtasa-resources-latest.zip && \
wget -O res.zip https://mirror.mtasa.com/mtasa/resources/mtasa-resources-latest.zip && \
unzip res.zip && \
rm res.zip && \
rm res.zip

# Create modules directory and delete bad shipped libs
mkdir /var/lib/mtasa/x64/modules && \
RUN mkdir /var/lib/mtasa/x64/modules && \
rm -Rf /var/lib/mtasa/x64/linux-libs

# Expose ports (22003/udp, 22126/udp, 22005/tcp are exposed dynamically)
Expand All @@ -36,7 +38,6 @@ EXPOSE 8080/tcp
ADD build/workerserver /var/lib/mtasa/workerserver
ADD build/ml_gps.so /var/lib/mtasa/x64/modules/ml_gps.so
ADD build/ml_jwt.so /var/lib/mtasa/x64/modules/ml_jwt.so
ADD build/ml_redis.so /var/lib/mtasa/x64/modules/ml_redis.so

# Add entrypoint script
ADD build/docker-entrypoint.sh /docker-entrypoint.sh
Expand Down

0 comments on commit 703c4d5

Please sign in to comment.