Nightly Dev Shared Assets Sync #751
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
# GITHUB ACTIONS - WORKFLOW | |
# RSync the assets in the shared assets volume | |
name: Nightly Dev Shared Assets Sync | |
# Controls when the workflow will run | |
on: | |
# Run every night | |
schedule: | |
- cron: '0 1 * * *' | |
# Run on app-rsync-extras.sh changes | |
push: | |
branches: | |
- main | |
paths: | |
- 'docker/scripts/app-rsync-extras.sh' | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Build Docker Image | |
runs-on: ubuntu-latest | |
if: ${{ github.event_name != 'schedule' }} | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Docker Build & Push | |
uses: docker/build-push-action@v6 | |
env: | |
DOCKER_BUILD_NO_SUMMARY: true | |
with: | |
context: . | |
file: dev/shared-assets-sync/Dockerfile | |
push: true | |
tags: ghcr.io/ietf-tools/datatracker-rsync-assets:latest | |
sync: | |
name: Run assets rsync | |
if: ${{ always() }} | |
runs-on: [self-hosted, dev-server] | |
needs: [build] | |
steps: | |
- name: Run rsync | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
docker pull ghcr.io/ietf-tools/datatracker-rsync-assets:latest | |
docker run --rm -v dt-assets:/assets ghcr.io/ietf-tools/datatracker-rsync-assets:latest | |
docker image prune -a -f |