-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
118 changed files
with
3,474 additions
and
1,734 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
name: Build docker image and run tests | ||
|
||
on: [push, pull_request] | ||
|
||
env: | ||
REGISTRY: ghcr.io | ||
IMAGE_NAME: ${{ github.repository }} | ||
|
||
jobs: | ||
build-and-push-image: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
|
||
services: | ||
mariadb: | ||
image: mariadb:10.2 | ||
env: | ||
MARIADB_USER: amelie_test | ||
MARIADB_PASSWORD: amelie_test | ||
MYSQL_DATABASE: amelie_test | ||
MYSQL_ROOT_PASSWORD: amelie_test | ||
ports: ['3306:3306'] | ||
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3 | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Log in to the Container registry | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ${{ env.REGISTRY }} | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Extract metadata (tags, labels) for Docker | ||
id: meta | ||
uses: docker/metadata-action@v5 | ||
with: | ||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | ||
|
||
- name: Build and push Docker image | ||
id: push | ||
uses: docker/build-push-action@v5 | ||
with: | ||
context: . | ||
push: true | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} | ||
|
||
- name: Verify MariaDB connection | ||
run: | | ||
while ! mysqladmin ping -h"127.0.0.1" -P"3306" --silent; do | ||
sleep 1 | ||
done | ||
- name: Run Amelie tests | ||
run: | | ||
docker run --rm --entrypoint "/amelie/scripts/run_tests.sh" ghcr.io/inter-actief/amelie@${{ steps.push.outputs.digest }} | ||
- name: Cleanup untagged images older than 1 week | ||
uses: snok/container-retention-policy@v2 | ||
with: | ||
image-names: amelie | ||
cut-off: 1 week ago UTC | ||
account-type: org | ||
org-name: Inter-Actief | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
token-type: github-token | ||
untagged-only: true | ||
dry-run: true | ||
|
||
- name: Cleanup tagged images (except main, production and graphql) older than 1 month | ||
uses: snok/container-retention-policy@v2 | ||
with: | ||
image-names: amelie | ||
cut-off: 1 month ago UTC | ||
account-type: org | ||
org-name: Inter-Actief | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
token-type: github-token | ||
skip-tags: main, production, 741-graphql-api | ||
dry-run: true |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# Build the amelie docker image based on Debian 11 (Bullseye) | ||
FROM debian:bullseye | ||
|
||
# Copy amelie sources | ||
COPY . /amelie | ||
|
||
# Set /amelie as startup working directory | ||
WORKDIR /amelie | ||
|
||
# Install required packages for amelie and prepare the system to run Amelie | ||
RUN echo "Updating repostitories..." && \ | ||
apt-get update -y && \ | ||
echo "Upgrading base debian system..." && \ | ||
apt-get upgrade -y && \ | ||
echo "Installing Amelie required packages..." && \ | ||
apt-get install -y apt-utils git net-tools python3 python3-pip mariadb-client libmariadb-dev xmlsec1 libssl-dev libldap-dev libsasl2-dev libjpeg-dev zlib1g-dev gettext locales acl && \ | ||
echo "Enabling 'nl_NL' and 'en_US' locales..." && \ | ||
sed -i -e 's/# nl_NL.UTF-8 UTF-8/nl_NL.UTF-8 UTF-8/' /etc/locale.gen && \ | ||
sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ | ||
echo "Rebuilding locales..." && \ | ||
dpkg-reconfigure --frontend=noninteractive locales && \ | ||
echo "Creating directories for amelie..." && \ | ||
mkdir -p /amelie /config /static /media /photo_upload /data_exports /homedir_exports /var/log /var/run && \ | ||
echo "Installing python requirements..." && \ | ||
pip3 install -r requirements.txt && \ | ||
echo "Correcting permissions on directories..." && \ | ||
chown -R 1000:1000 /amelie /config /static /media /photo_upload /data_exports /homedir_exports /var/log | ||
|
||
# Switch back to a local user | ||
USER 1000:1000 | ||
|
||
# Check if Django can run | ||
RUN python3 manage.py check | ||
|
||
# Expose volumes | ||
VOLUME ["/config", "/static", "/media", "/photo_upload", "/data_exports", "/homedir_exports"] | ||
|
||
# Expose the web port | ||
EXPOSE 8000 | ||
|
||
# Start the website | ||
CMD ["/amelie/scripts/start_web.sh"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.