diff --git a/.github/workflows/image.yml b/.github/workflows/build.yml similarity index 59% rename from .github/workflows/image.yml rename to .github/workflows/build.yml index 5827146..fab409a 100644 --- a/.github/workflows/image.yml +++ b/.github/workflows/build.yml @@ -1,34 +1,14 @@ + name: build docker image on: - workflow_dispatch: push: - branches: - - "**" tags: - "**" jobs: - test: - runs-on: ubuntu-22.04 - steps: - - name: Checkout the code - uses: actions/checkout@v4 - - name: Test Bash scripts - run: sudo apt-get -qq update && sudo apt-get install -y devscripts shellcheck && make test - - name: Test image - env: - VOLUME_PATH: /tmp/mariadb - DATABASE_NAME: foo - MARIADB_ROOT_PASSWORD: abcd - run: | - docker compose up -d mariadb - docker compose run backup /backup.sh - docker compose run backup /restore.sh /backup/latest.foo.sql.gz - docker compose stop build: runs-on: ubuntu-22.04 - needs: test steps: - name: Checkout the code uses: actions/checkout@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..4460983 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,26 @@ +name: build docker image + +on: + workflow_dispatch: + push: + branches: + - "**" + +jobs: + test: + runs-on: ubuntu-22.04 + steps: + - name: Checkout the code + uses: actions/checkout@v4 + - name: Test Bash scripts + run: sudo apt-get -qq update && sudo apt-get install -y devscripts shellcheck && make test + - name: Test image + env: + VOLUME_PATH: /tmp/mariadb + DATABASE_NAME: foo + MARIADB_ROOT_PASSWORD: abcd + run: | + docker compose up -d mariadb + docker compose run backup /backup.sh + docker compose run backup /restore.sh /backup/latest.foo.sql.gz + docker compose stop diff --git a/backup.sh b/backup.sh index ead820e..499575d 100755 --- a/backup.sh +++ b/backup.sh @@ -32,8 +32,7 @@ do BASIC_OPTS="--single-transaction" if [ -n "$REMOVE_DUPLICATES" ] then - echo "WARNING: disabling comments in backup to remove deuplicate backups. Automatic database name detection won't work so set MYSQL_DATABASE on restore" - BASIC_OPTS="$BASIC_OPTS" --skip-comments + BASIC_OPTS="$BASIC_OPTS --skip-dump-date" fi if mysqldump $BASIC_OPTS $MYSQLDUMP_OPTS -h "$MYSQL_HOST" -P "$MYSQL_PORT" -u "$MYSQL_USER" -p"$MYSQL_PASS" $MYSQL_SSL_OPTS "$db" > "$FILENAME" then @@ -52,7 +51,7 @@ do cd /backup || exit && ln -s "$BASENAME" "$(basename "$LATEST")" if [ -n "$REMOVE_DUPLICATES" ] then - echo "=> Removing duplicate database dumps" + echo "==> Removing duplicate database dumps" fdupes -idN /backup/ fi if [ -n "$MAX_BACKUPS" ] diff --git a/docker-compose.yaml b/docker-compose.yaml index 64dcef0..5ac0e9d 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -30,7 +30,6 @@ services: environment: - MYSQL_HOST=my_mariadb - MYSQL_USER=root - - MYSQL_DATABASE=${DATABASE_NAME} - MYSQL_PASS=${MARIADB_ROOT_PASSWORD} - MAX_BACKUPS=1 - INIT_BACKUP=1