# 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
-
-
```yaml
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 }}
Raw data
{
"_id": null,
"home_page": "https://github.com/berlin4apk/action-ccache-download-upload-redis",
"name": "ccache-upload-redis",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "",
"keywords": "ccache,redis,upload",
"author": "berlin4apk",
"author_email": "83521068+berlin4apk@users.noreply.github.com",
"download_url": "https://files.pythonhosted.org/packages/5a/49/60a8e1b6eab7aec52c7e5366488cacfdf8008aff46be801ca1177f235fc4/ccache_upload_redis-0.2.0.tar.gz",
"platform": null,
"description": "# ccache-upload-redis / ccache-download-redis GitHub Action\n\nAn GitHub Action for using ccache-upload-redis / ccache-download-redis\nto uploads / downloads the contents of the local ccache cache from a Redis remote storage.\n\n## Usage\n\n- \n- \n\n\n```yaml\nname: Test ccache-download-upload-redis\non:\n workflow_dispatch:\njobs:\n # Label of the container job\n container-job:\n # Containers must run in Linux based operating systems\n runs-on: ubuntu-latest\n # Service containers to run with `container-job`\n services:\n # Label used to access the service container\n redis:\n # Docker Hub image\n image: redis:7.0.10-alpine3.17\n # Set health checks to wait until redis has started\n options: >-\n --interactive\n --hostname redis\n --add-host=host.docker.internal:host-gateway\n --health-cmd \"redis-cli ping\"\n --health-interval 10s\n --health-timeout 5s\n --health-retries 5\n --restart always\n ports:\n - 6379/tcp\n # get the rendom port via ${{ job.services.redis.ports['6379'] }}\n # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idservices\n # https://docs.github.com/en/actions/learn-github-actions/contexts#job-context\n # Maps port 6379 on service container to the host\n #- 6379:6379\n\n steps:\n - name: \"Set some redis settings\"\n run: |\n docker network ls\n docker network ls --format='{{.ID }} {{.Name}}'\n docker inspect ${{ job.services.redis.id }}\n docker exec ${{ job.services.redis.id }} /bin/sh -c 'echo \"cat /etc/redis/redis.conf ||:\" '\n docker exec ${{ job.services.redis.id }} /bin/sh -x -c 'mkdir -p /etc/redis ||: '\n docker exec ${{ job.services.redis.id }} /bin/sh -x -c 'echo \"save 60 100\" >> /etc/redis/redis.conf'\n docker exec ${{ job.services.redis.id }} /bin/sh -x -c 'echo \"loglevel verbose\" >> /etc/redis/redis.conf'\n 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'\n docker exec ${{ job.services.redis.id }} /bin/sh -x -c 'echo \"# https://hub.docker.com/_/redis\" >> /etc/redis/redis.conf'\n docker kill --signal=SIGHUP ${{ job.services.redis-y9g98g58d.id }} ||:\n\n - name: Checkout repository\n uses: actions/checkout@v3\n\n - upload-test: \"upload-test\"\n run: |\n ccache-upload-redis\n env: |\n REDIS_CONF='localhost:${{ job.services.redis.ports['6379'] }}'\n CCACHE_DIR='~/.cache/ccache'\n \n - download-test: \"download-test\"\n run: |\n ccache-download-redis\n env: |\n REDIS_CONF='localhost:${{ job.services.redis.ports['6379'] }}'\n CCACHE_DIR='~/.cache/ccache'\n\n - name: Connect REDIS\n uses: ./\n with:\n host: ${{ variable.REDIS_SERVER }}\n username: ${{ variable.USERNAME }}\n password: ${{ variable.PASSWORD }}\n ccachedir: ${{ variable.CCACHEDIR }}\n\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "A script to uploads the contents of the local ccache cache from a Redis remote storage.",
"version": "0.2.0",
"split_keywords": [
"ccache",
"redis",
"upload"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7c975496284c8e935dafc8911800963fc5fb10cb1ed4c94d729773890aad0565",
"md5": "c5d8451350d86bb9610a526a7b06f35f",
"sha256": "8d03ed068fce2d94d19d030e564b2c12d18fe2622418fef4f798daabf48c78a8"
},
"downloads": -1,
"filename": "ccache_upload_redis-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c5d8451350d86bb9610a526a7b06f35f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 5889,
"upload_time": "2023-04-24T11:11:42",
"upload_time_iso_8601": "2023-04-24T11:11:42.940818Z",
"url": "https://files.pythonhosted.org/packages/7c/97/5496284c8e935dafc8911800963fc5fb10cb1ed4c94d729773890aad0565/ccache_upload_redis-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5a4960a8e1b6eab7aec52c7e5366488cacfdf8008aff46be801ca1177f235fc4",
"md5": "7359146d626b74da321da6286bf0bf62",
"sha256": "ef79c3eda890cb3431dcd290bb62fc6cd0270c210db82a2bc203bc6d2ef50905"
},
"downloads": -1,
"filename": "ccache_upload_redis-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "7359146d626b74da321da6286bf0bf62",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 4156,
"upload_time": "2023-04-24T11:11:44",
"upload_time_iso_8601": "2023-04-24T11:11:44.297114Z",
"url": "https://files.pythonhosted.org/packages/5a/49/60a8e1b6eab7aec52c7e5366488cacfdf8008aff46be801ca1177f235fc4/ccache_upload_redis-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-24 11:11:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "berlin4apk",
"github_project": "action-ccache-download-upload-redis",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "ccache-upload-redis"
}