This action allows caching dependencies to s3 compatible storage, e.g. minio
It also has github's actions/cache@v2 fallback if s3 save & restore fails
name: dev cion:
push:
branches: [main]pull_request:
branches: [main]jobs:
build_test:
runs-on: [ubuntu-latest]steps:
- uses: actions/checkout@v2
- uses: tespkg/actions-cache@v1with:
endpoint: play.min.io # optional, default s3.amazonaws.cominsecure: false # optional, use http instead of https. default falseaccessKey: "Q3AM3UQ867SPQQA43P2F"# requiredsecretKey: "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"# requiredbucket: actions-cache # requireduse-fallback: true # optional, use github actions cache fallback, default true# actions/cache compatible properties: https://github.com/actions/cachekey: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}path: | node_modules .cacherestore-keys: | ${{ runner.os }}-yarn-restore-keys works similar to how github's @actions/cache@v2 works: It search each item in restore-keys
as prefix in object names and use the latest one
When using this with Amazon S3, the following permissions are necessary:
s3:PutObjects3:GetObjects3:ListBuckets3:GetBucketLocations3:ListBucketMultipartUploadss3:ListMultipartUploadParts