Skip to content

Automatic Updates #1571

Automatic Updates

Automatic Updates #1571

Workflow file for this run

name: Automatic Updates
on:
schedule:
- cron: 0 0 * * *
workflow_dispatch:
defaults:
run:
shell: 'bash -Eeuo pipefail -x {0}'
jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.REPO_GHA_PAT }}
- uses: actions/setup-python@v4
with:
python-version: '3.8'
- name: Update docker-entrypoint
uses: nick-fields/retry@v2
with:
timeout_seconds: 20
max_attempts: 3
command: |
echo "Updating Debian docker-entrypoint"
curl -fsSo ./Debian/src/root/usr/local/bin/docker-entrypoint.sh https://raw.githubusercontent.com/docker-library/postgres/master/docker-entrypoint.sh
echo "Updating UBI docker-entrypoint"
cp ./Debian/src/root/usr/local/bin/docker-entrypoint.sh ./UBI/src/root/usr/local/bin/docker-entrypoint.sh
cp ./Debian/src/root/usr/local/bin/docker-entrypoint.sh ./IronBank/src/root/scripts/docker-entrypoint.sh
- name: Run update script
uses: nick-fields/retry@v2
env:
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
BASE_REGISTRY: "registry.access.redhat.com"
BASE_IMAGE: "ubi8"
with:
timeout_minutes: 15
max_attempts: 3
command: |
# pip-tools provides pip-compile used by update.sh
export PATH=$HOME/.local/bin:$PATH
pip3 install --upgrade pip-tools cloudsmith-cli pip pyyaml
echo "Updating UBI images"
./UBI/update.sh
echo "Updating Debian images"
./Debian/update.sh
echo "Updating IronBank images"
./IronBank/update.sh
- name: Diff
run: |
git status
git diff
- name: Temporarily disable "include administrators" branch protection
if: ${{ always() && github.ref == 'refs/heads/main' }}
id: disable_include_admins
uses: benjefferies/[email protected]
with:
access_token: ${{ secrets.REPO_GHA_PAT }}
branch: main
enforce_admins: false
- uses: EndBug/add-and-commit@v9
with:
author_name: EnterpriseDB Automated Updates
author_email: [email protected]
message: 'Daily automatic update'
- name: Enable "include administrators" branch protection
uses: benjefferies/[email protected]
if: ${{ always() && github.ref == 'refs/heads/main' }}
with:
access_token: ${{ secrets.REPO_GHA_PAT }}
branch: main
enforce_admins: ${{ steps.disable_include_admins.outputs.initial_status }}
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
if: ${{ failure() && github.ref == 'refs/heads/main' }}
env:
SLACK_COLOR: ${{ job.status }}
SLACK_ICON: https://avatars.githubusercontent.com/u/44036562?size=48
SLACK_USERNAME: ghBot
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_MESSAGE: Failure updating PostgreSQL images