Skip to main content

A script to uploads 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_upload_redis-0.2.0.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

ccache_upload_redis-0.2.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file ccache_upload_redis-0.2.0.tar.gz.

File metadata

  • Download URL: ccache_upload_redis-0.2.0.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.2 Linux/5.10.0-21-amd64

File hashes

Hashes for ccache_upload_redis-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ef79c3eda890cb3431dcd290bb62fc6cd0270c210db82a2bc203bc6d2ef50905
MD5 7359146d626b74da321da6286bf0bf62
BLAKE2b-256 5a4960a8e1b6eab7aec52c7e5366488cacfdf8008aff46be801ca1177f235fc4

See more details on using hashes here.

File details

Details for the file ccache_upload_redis-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ccache_upload_redis-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d03ed068fce2d94d19d030e564b2c12d18fe2622418fef4f798daabf48c78a8
MD5 c5d8451350d86bb9610a526a7b06f35f
BLAKE2b-256 7c975496284c8e935dafc8911800963fc5fb10cb1ed4c94d729773890aad0565

See more details on using hashes here.

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