Skip to main content

A script to downloads the contents of the local ccache cache from a Redis remote storage.

Project description

ccache-upload-redis / ccache-download-redis GitHub Action

An GitHub Action for using ccache-upload-redis / ccache-download-redis to uploads / downloads the contents of the local ccache cache from a Redis remote storage.

Usage

name: Test ccache-download-upload-redis
on:
  workflow_dispatch:
jobs:
  # Label of the container job
  container-job:
    # Containers must run in Linux based operating systems
    runs-on: ubuntu-latest
    # Service containers to run with `container-job`
    services:
      # Label used to access the service container
      redis:
        # Docker Hub image
        image: redis:7.0.10-alpine3.17
        # Set health checks to wait until redis has started
        options: >-
          --interactive
          --hostname redis
          --add-host=host.docker.internal:host-gateway
          --health-cmd "redis-cli ping"
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
          --restart always
        ports:
          - 6379/tcp
          # get the rendom port via ${{ job.services.redis.ports['6379'] }}
          # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idservices
          # https://docs.github.com/en/actions/learn-github-actions/contexts#job-context
          # Maps port 6379 on service container to the host
          #- 6379:6379

    steps:
      - name: "Set some redis settings"
        run: |
          docker network ls
          docker network ls --format='{{.ID }} {{.Name}}'
          docker inspect ${{ job.services.redis.id }}
          docker exec ${{ job.services.redis.id }} /bin/sh -c 'echo "cat /etc/redis/redis.conf ||:" '
          docker exec ${{ job.services.redis.id }} /bin/sh -x -c 'mkdir -p /etc/redis ||: '
          docker exec ${{ job.services.redis.id }} /bin/sh -x -c 'echo "save 60 100" >> /etc/redis/redis.conf'
          docker exec ${{ job.services.redis.id }} /bin/sh -x -c 'echo "loglevel verbose" >> /etc/redis/redis.conf'
          docker exec ${{ job.services.redis.id }} /bin/sh -x -c 'echo "# see https://github.community/t/how-do-i-properly-override-a-service-entrypoint/17435/8" >> /etc/redis/redis.conf'
          docker exec ${{ job.services.redis.id }} /bin/sh -x -c 'echo "# https://hub.docker.com/_/redis" >> /etc/redis/redis.conf'
          docker kill --signal=SIGHUP ${{ job.services.redis-y9g98g58d.id }} ||:

      - name: Checkout repository
        uses: actions/checkout@v3

      - upload-test: "upload-test"
        run: |
          ccache-upload-redis
        env: |
          REDIS_CONF='localhost:${{ job.services.redis.ports['6379'] }}'
          CCACHE_DIR='~/.cache/ccache'
          
      - download-test: "download-test"
        run: |
          ccache-download-redis
        env: |
          REDIS_CONF='localhost:${{ job.services.redis.ports['6379'] }}'
          CCACHE_DIR='~/.cache/ccache'

      - name: Connect REDIS
        uses: ./
        with:
          host: ${{ variable.REDIS_SERVER }}
          username: ${{ variable.USERNAME }}
          password: ${{ variable.PASSWORD }}
          ccachedir: ${{ variable.CCACHEDIR }}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ccache_download_redis-0.2.0.tar.gz (4.1 kB view hashes)

Uploaded Source

Built Distribution

ccache_download_redis-0.2.0-py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page