A GitHub Action to cache your workload to a Google Cloud Storage bucket.

Overview

Banner

Google Cloud Storage Cache Action

License GitHub Issues GitHub Stars

GitHub already provides an awesome action to cache your workload to Azure's servers hosted in United States. However, if you are using self-hosted runners hosted far away from the cache location, or if you pay external network way more than internal network, you may want to host your cache elsewhere for better performance and lower costs.

This action does have the same set of inputs as the @actions/cache action from GitHub, in addition to a new bucket input which should contain your target Google Cloud Storage bucket. As simple as that.

Usage

workflow.yml

- name: Authenticate to Google Cloud
  uses: google-github-actions/auth@v0
  with:
    workload_identity_provider: projects/your-project-id/locations/global/workloadIdentityPools/your-identity-pool/providers/your-provider
    service_account: [email protected]

- name: Cache the node_modules
  id: node-modules-cache
  uses: mansagroup/gcs-cache-action@v2
  with:
    bucket: my-ci-cache
    path: node_modules
    key: node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
    restore-keys: |
      node-modules-${{ runner.os }}-

- name: Install dependencies
  if: steps.node-modules-cache.outputs.cache-hit == 'false'
  run: npm ci

Inputs

This GitHub action can take several inputs to configure its behaviors:

Name Type Default Example Description
bucket String ø my-ci-cache The name of the Google Cloud Storage bucket to use
path String[] ø node_modules One or more path to store
key String ø node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }} Key to use as cache name
restore-keys String[] ø node-modules-${{ runner.os }}- Alternative keys to use when looking for the best cache available

Note: the path and restore-keys inputs can contains multiple value separated by a new line.

Outputs

This GitHub action will output the following values:

Name Type Description
cache-hit String A boolean string representing if the cache was successfully restored

Examples

With multiple paths

workflow.yml

- name: Authenticate to Google Cloud
  uses: google-github-actions/auth@v0
  with:
    workload_identity_provider: projects/your-project-id/locations/global/workloadIdentityPools/your-identity-pool/providers/your-provider
    service_account: [email protected]

- name: Cache the node_modules and npm cache
  id: node-modules-cache
  uses: mansagroup/gcs-cache-action@v2
  with:
    bucket: my-ci-cache
    path: |
      node_modules
      ~/.npm
    key: npm-and-node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
    restore-keys: |
      npm-and-node-modules-${{ runner.os }}-

Compression algorithm

When compressing or decompressing the cache archive, the action will lookup for the best compression algorithm to use. If zstd is available, it will be used instead of gzip by default. The compression method will be added to the object's metadata on the Bucket. Thanks to this, when decompressing, the correct algorithm will be used.

Installing zstd on Ubuntu is simple as doing a apt install zstd.

Note that if a cache archive was compressed using one algorithm, this same algorithm should be installed to decompress it after.

Terraform

Here is a little snippet allowing you to create your cache bucket with Terraform (which you should probably use):

resource "google_storage_bucket" "ci_cache" {
  name                        = "your-ci-cache"
  location                    = "your-location" # "EUROPE-WEST1"
  uniform_bucket_level_access = true

  lifecycle_rule {
    action {
      type = "Delete"
    }

    condition {
      age = 7
    }
  }
}

resource "google_storage_bucket_iam_member" "ci_cache_write_github_ci" {
  bucket = google_storage_bucket.ci_cache.name
  role   = "roles/storage.objectCreator"
  member = "serviceAccount:[email protected]"
}

resource "google_storage_bucket_iam_member" "ci_cache_read_github_ci" {
  bucket = google_storage_bucket.ci_cache.name
  role   = "roles/storage.objectViewer"
  member = "serviceAccount:[email protected]"
}

resource "google_storage_bucket_iam_member" "ci_cache_legacy_write_github_ci" {
  bucket = google_storage_bucket.ci_cache.name
  role   = "roles/storage.legacyBucketWriter"
  member = "serviceAccount:[email protected]"
}

Q&A

Could I use this action on multiple repositories with the same bucket?

Yes you can. When storing to the bucket, this action will use the following the following path:

[repository owner]/[repository name]/[cache key].tar.gz

License

This project is MIT licensed.

Contributors

Thanks goes to these wonderful people (emoji key):


Jérémy Levilain

💻 📖 🤔

This project follows the all-contributors specification. Contributions of any kind welcome!

Comments
  • chore(deps): bump minimist from 1.2.5 to 1.2.6

    chore(deps): bump minimist from 1.2.5 to 1.2.6

    Bumps minimist from 1.2.5 to 1.2.6.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    type:dependencies :wrench: 
    opened by dependabot[bot] 1
  • chore(deps): bump node-forge from 1.2.1 to 1.3.0

    chore(deps): bump node-forge from 1.2.1 to 1.3.0

    Bumps node-forge from 1.2.1 to 1.3.0.

    Changelog

    Sourced from node-forge's changelog.

    1.3.0 - 2022-03-17

    Security

    • Three RSA PKCS#1 v1.5 signature verification issues were reported by Moosa Yahyazadeh ([email protected]).
    • HIGH: Leniency in checking digestAlgorithm structure can lead to signature forgery.
    • HIGH: Failing to check tailing garbage bytes can lead to signature forgery.
    • MEDIUM: Leniency in checking type octet.
      • DigestInfo is not properly checked for proper ASN.1 structure. This can lead to successful verification with signatures that contain invalid structures but a valid digest.
      • CVE ID: CVE-2022-24773
      • GHSA ID: GHSA-2r2c-g63r-vccr

    Fixed

    • [asn1] Add fallback to pretty print invalid UTF8 data.
    • [asn1] fromDer is now more strict and will default to ensuring all input bytes are parsed or throw an error. A new option parseAllBytes can disable this behavior.
      • NOTE: The previous behavior is being changed since it can lead to security issues with crafted inputs. It is possible that code doing custom DER parsing may need to adapt to this new behavior and optional flag.
    • [rsa] Add and use a validator to check for proper structure of parsed ASN.1 RSASSA-PKCS-v1_5 DigestInfo data. Additionally check that the hash algorithm identifier is a known value from RFC 8017 PKCS1-v1-5DigestAlgorithms. An invalid DigestInfo or algorithm identifier will now throw an error.
      • NOTE: The previous lenient behavior is being changed to be more strict since it could lead to security issues with crafted inputs. It is possible that code may have to handle the errors from these stricter checks.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    type:dependencies :wrench: 
    opened by dependabot[bot] 1
  • chore(deps): bump path-parse from 1.0.6 to 1.0.7

    chore(deps): bump path-parse from 1.0.6 to 1.0.7

    Bumps path-parse from 1.0.6 to 1.0.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    type:dependencies :wrench: 
    opened by dependabot[bot] 1
  • chore(deps): bump node-fetch from 2.6.1 to 2.6.7

    chore(deps): bump node-fetch from 2.6.1 to 2.6.7

    Bumps node-fetch from 2.6.1 to 2.6.7.

    Release notes

    Sourced from node-fetch's releases.

    v2.6.7

    Security patch release

    Recommended to upgrade, to not leak sensitive cookie and authentication header information to 3th party host while a redirect occurred

    What's Changed

    Full Changelog: https://github.com/node-fetch/node-fetch/compare/v2.6.6...v2.6.7

    v2.6.6

    What's Changed

    Full Changelog: https://github.com/node-fetch/node-fetch/compare/v2.6.5...v2.6.6

    v2.6.2

    fixed main path in package.json

    Commits
    • 1ef4b56 backport of #1449 (#1453)
    • 8fe5c4e 2.x: Specify encoding as an optional peer dependency in package.json (#1310)
    • f56b0c6 fix(URL): prefer built in URL version when available and fallback to whatwg (...
    • b5417ae fix: import whatwg-url in a way compatible with ESM Node (#1303)
    • 18193c5 fix v2.6.3 that did not sending query params (#1301)
    • ace7536 fix: properly encode url with unicode characters (#1291)
    • 152214c Fix(package.json): Corrected main file path in package.json (#1274)
    • See full diff in compare view
    Maintainer changes

    This version was pushed to npm by endless, a new releaser for node-fetch since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    type:dependencies :wrench: 
    opened by dependabot[bot] 1
  • chore(deps): update dependency eslint-plugin-jest to v26 - autoclosed

    chore(deps): update dependency eslint-plugin-jest to v26 - autoclosed

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint-plugin-jest | 25.7.0 -> 26.9.0 | age | adoption | passing | confidence |


    Release Notes

    jest-community/eslint-plugin-jest

    v26.9.0

    Compare Source

    Features

    26.8.7 (2022-08-21)

    Bug Fixes
    • prefer-expect-assertions: report on concise arrow functions (#​1207) (f928747)

    26.8.6 (2022-08-21)

    Bug Fixes
    • max-expect: reset expect counter when entering and exiting test function calls (#​1206) (3908ab8)

    26.8.5 (2022-08-20)

    Bug Fixes
    • prefer-expect-assertions: use scoped based jest fn call parser for expect checks (#​1201) (fd54ca1)

    26.8.4 (2022-08-19)

    Bug Fixes
    • prefer-mock-promise-shorthand: ignore mockImplementation functions that have parameters (#​1199) (78ccbef)

    26.8.3 (2022-08-15)

    Performance Improvements

    26.8.2 (2022-08-09)

    Bug Fixes
    • max-expects: don't count expect.<member>() calls towards max (#​1194) (75a0ff2)

    26.8.1 (2022-08-08)

    Bug Fixes
    • no-standalone-expect: only report on expect.hasAssertions & expect.assertions member calls (#​1191) (4bf9eea)

    v26.8.7

    Compare Source

    Bug Fixes
    • prefer-expect-assertions: report on concise arrow functions (#​1207) (f928747)

    v26.8.6

    Compare Source

    Bug Fixes
    • max-expect: reset expect counter when entering and exiting test function calls (#​1206) (3908ab8)

    v26.8.5

    Compare Source

    Bug Fixes
    • prefer-expect-assertions: use scoped based jest fn call parser for expect checks (#​1201) (fd54ca1)

    v26.8.4

    Compare Source

    Bug Fixes
    • prefer-mock-promise-shorthand: ignore mockImplementation functions that have parameters (#​1199) (78ccbef)

    v26.8.3

    Compare Source

    Performance Improvements

    v26.8.2

    Compare Source

    Bug Fixes
    • max-expects: don't count expect.<member>() calls towards max (#​1194) (75a0ff2)

    v26.8.1

    Compare Source

    Bug Fixes
    • no-standalone-expect: only report on expect.hasAssertions & expect.assertions member calls (#​1191) (4bf9eea)

    v26.8.0

    Compare Source

    Features

    v26.7.0

    Compare Source

    Features

    v26.6.0

    Compare Source

    Features

    26.5.3 (2022-06-06)

    Bug Fixes
    • prefer-equality-matcher: handle resolves and rejects modifiers correctly (#​1146) (0fad4df)

    26.5.2 (2022-06-06)

    Bug Fixes
    • prefer-comparison-matcher: handle resolves and rejects modifiers correctly (#​1145) (b1795ff)

    26.5.1 (2022-06-05)

    Bug Fixes
    • prefer-called-with: handle resolves and rejects modifiers correctly (#​1143) (dff1cb4)

    v26.5.3

    Compare Source

    Bug Fixes
    • prefer-equality-matcher: handle resolves and rejects modifiers correctly (#​1146) (0fad4df)

    v26.5.2

    Compare Source

    Bug Fixes
    • prefer-comparison-matcher: handle resolves and rejects modifiers correctly (#​1145) (b1795ff)

    v26.5.1

    Compare Source

    Bug Fixes
    • prefer-called-with: handle resolves and rejects modifiers correctly (#​1143) (dff1cb4)

    v26.5.0

    Compare Source

    Features

    26.4.7 (2022-06-04)

    Bug Fixes
    • no-restricted-matchers: allow restricting negated resolves and rejects modifiers (#​1142) (0950a96)

    26.4.6 (2022-05-30)

    Bug Fixes
    • no-disabled-tests: don't report on it.todo & test.todo (#​1137) (b651443)

    26.4.5 (2022-05-29)

    Bug Fixes
    • expect-expect: include numbers when matching assert function names with wildcards (#​1134) (2d0ef11)

    26.4.4 (2022-05-29)

    Bug Fixes
    • don't consider template tags in the middle of a possible jest function chain to be valid (#​1133) (430de17)

    26.4.3 (2022-05-29)

    Bug Fixes
    • don't consider method calls on literals or new to be jest functions (#​1132) (379ceb3)
    • produce valid code when when fixing properties accessed with square brackets (#​1131) (6cd600d)

    26.4.2 (2022-05-28)

    Bug Fixes
    • don't consider concurrent.skip and concurrent.only valid test functions (#​1124) (0aa5eb6)
    • no-disabled-tests: use jest function call parser for checking number of args (#​1126) (b67e389)

    26.4.1 (2022-05-28)

    Bug Fixes

    v26.4.7

    Compare Source

    Bug Fixes
    • no-restricted-matchers: allow restricting negated resolves and rejects modifiers (#​1142) (0950a96)

    v26.4.6

    Compare Source

    Bug Fixes
    • no-disabled-tests: don't report on it.todo & test.todo (#​1137) (b651443)

    v26.4.5

    Compare Source

    Bug Fixes
    • expect-expect: include numbers when matching assert function names with wildcards (#​1134) (2d0ef11)

    v26.4.4

    Compare Source

    Bug Fixes
    • don't consider template tags in the middle of a possible jest function chain to be valid (#​1133) (430de17)

    v26.4.3

    Compare Source

    Bug Fixes
    • don't consider method calls on literals or new to be jest functions (#​1132) (379ceb3)
    • produce valid code when when fixing properties accessed with square brackets (#​1131) (6cd600d)

    v26.4.2

    Compare Source

    Bug Fixes
    • don't consider concurrent.skip and concurrent.only valid test functions (#​1124) (0aa5eb6)
    • no-disabled-tests: use jest function call parser for checking number of args (#​1126) (b67e389)

    v26.4.1

    Compare Source

    Bug Fixes

    v26.4.0

    Compare Source

    Features
    • improve how jest function calls are resolved to account for import aliases (#​1122) (781f00e)

    v26.3.0

    Compare Source

    Features

    26.2.2 (2022-05-14)

    Bug Fixes
    • use the last reference definition when checking jest fn scope (#​1109) (1b2b9c1)

    26.2.1 (2022-05-14)

    Bug Fixes

    v26.2.2

    Compare Source

    Bug Fixes
    • use the last reference definition when checking jest fn scope (#​1109) (1b2b9c1)

    v26.2.1

    Compare Source

    Bug Fixes

    v26.2.0

    Compare Source

    Features

    26.1.5 (2022-04-22)

    Bug Fixes
    • prefer-expect-assertions: properly handle checking across multiple tests (#​1089) (8b61b0c)

    26.1.4 (2022-04-08)

    Bug Fixes
    • prefer-snapshot-hint: don't report multi snapshots in different tests within the same describe (#​1078) (98e5166)

    26.1.3 (2022-03-24)

    Bug Fixes

    26.1.2 (2022-03-19)

    Bug Fixes
    • prefer-snapshot-hint: support passing hint to toMatchSnapshot as first argument (#​1070) (97b1f9d)

    26.1.1 (2022-02-15)

    Bug Fixes

    v26.1.5

    Compare Source

    Bug Fixes
    • prefer-expect-assertions: properly handle checking across multiple tests (#​1089) (8b61b0c)

    v26.1.4

    Compare Source

    Bug Fixes
    • prefer-snapshot-hint: don't report multi snapshots in different tests within the same describe (#​1078) (98e5166)

    v26.1.3

    Compare Source

    Bug Fixes

    v26.1.2

    Compare Source

    Bug Fixes
    • prefer-snapshot-hint: support passing hint to toMatchSnapshot as first argument (#​1070) (97b1f9d)

    v26.1.1

    Compare Source

    Bug Fixes

    v26.1.0

    Compare Source

    Features

    v26.0.0

    Compare Source

    Bug Fixes
    BREAKING CHANGES
    • Drop support for @typescript-eslint/eslint-plugin@4

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled due to failing status checks.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

    type:dependencies :wrench: 
    opened by renovate[bot] 1
  • chore(deps): update dependency np to v7.6.3

    chore(deps): update dependency np to v7.6.3

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | np | 7.6.2 -> 7.6.3 | age | adoption | passing | confidence |


    Release Notes

    sindresorhus/np

    v7.6.3

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type:dependencies :wrench: 
    opened by renovate[bot] 0
  • chore(deps): update dependency prettier to v2.8.1

    chore(deps): update dependency prettier to v2.8.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | prettier (source) | 2.8.0 -> 2.8.1 | age | adoption | passing | confidence |


    Release Notes

    prettier/prettier

    v2.8.1

    Compare Source

    diff

    Fix SCSS map in arguments (#​9184 by @​agamkrbit)
    // Input
    $display-breakpoints: map-deep-merge(
      (
        "print-only": "only print",
        "screen-only": "only screen",
        "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
      ),
      $display-breakpoints
    );
    
    // Prettier 2.8.0
    $display-breakpoints: map-deep-merge(
      (
        "print-only": "only print",
        "screen-only": "only screen",
        "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, " sm
          ")-1})",
      ),
      $display-breakpoints
    );
    
    // Prettier 2.8.1
    $display-breakpoints: map-deep-merge(
      (
        "print-only": "only print",
        "screen-only": "only screen",
        "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
      ),
      $display-breakpoints
    );
    
    Support auto accessors syntax (#​13919 by @​sosukesuzuki)

    Support for Auto Accessors Syntax landed in TypeScript 4.9.

    (Doesn't work well with babel-ts parser)

    class Foo {
      accessor foo: number = 3;
    }
    

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type:dependencies :wrench: 
    opened by renovate[bot] 0
  • fix(deps): update dependency @google-cloud/storage to v6.8.0

    fix(deps): update dependency @google-cloud/storage to v6.8.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @google-cloud/storage | 6.7.0 -> 6.8.0 | age | adoption | passing | confidence |


    Release Notes

    googleapis/nodejs-storage

    v6.8.0

    Compare Source

    Features

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type:dependencies :wrench: 
    opened by renovate[bot] 0
  • chore(deps): update dependency @vercel/ncc to v0.36.0

    chore(deps): update dependency @vercel/ncc to v0.36.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | @vercel/ncc | 0.34.0 -> 0.36.0 | age | adoption | passing | confidence |


    Release Notes

    vercel/ncc

    v0.36.0

    Compare Source

    Bug Fixes
    Features

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type:dependencies :wrench: 
    opened by renovate[bot] 0
  • chore(deps): update dependency eslint-plugin-sonarjs to v0.17.0

    chore(deps): update dependency eslint-plugin-sonarjs to v0.17.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint-plugin-sonarjs | 0.16.0 -> 0.17.0 | age | adoption | passing | confidence |


    Release Notes

    SonarSource/eslint-plugin-sonarjs

    v0.17.0

    Compare Source

    What's Changed

    Full Changelog: https://github.com/SonarSource/eslint-plugin-sonarjs/compare/0.16.0...0.17.0


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type:dependencies :wrench: 
    opened by renovate[bot] 0
  • chore(deps): update dependency lint-staged to v13.1.0

    chore(deps): update dependency lint-staged to v13.1.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | lint-staged | 13.0.4 -> 13.1.0 | age | adoption | passing | confidence |


    Release Notes

    okonet/lint-staged

    v13.1.0

    Compare Source

    Features

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type:dependencies :wrench: 
    opened by renovate[bot] 0
  • chore(deps): update dependency typescript to v4.9.4

    chore(deps): update dependency typescript to v4.9.4

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | typescript (source) | 4.8.4 -> 4.9.4 | age | adoption | passing | confidence |


    Release Notes

    Microsoft/TypeScript

    v4.9.4: TypeScript 4.9.4

    Compare Source

    For release notes, check out the release announcement.

    For the complete list of fixed issues, check out the

    Downloads are available on:

    Changes:

    This list of changes was auto generated.

    v4.9.3: TypeScript 4.9

    Compare Source

    For release notes, check out the release announcement.

    Downloads are available on:

    Changes:

    See More

    This list of changes was auto generated.


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type:dependencies :wrench: 
    opened by renovate[bot] 0
  • chore(deps): update dependency eslint-plugin-jest to v27

    chore(deps): update dependency eslint-plugin-jest to v27

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | eslint-plugin-jest | 25.7.0 -> 27.2.0 | age | adoption | passing | confidence |


    Release Notes

    jest-community/eslint-plugin-jest

    v27.2.0

    Compare Source

    Features

    27.1.7 (2022-12-15)

    Bug Fixes

    27.1.6 (2022-11-24)

    Bug Fixes
    • ensure rule fixes produce valid code when function params and args have trailing commas (#​1282) (8eca0b7)

    27.1.5 (2022-11-10)

    Performance Improvements
    • use Set instead of iterating, and deduplicate a function (#​1278) (0e048f1)

    27.1.4 (2022-11-04)

    Performance Improvements
    • don't collect more info than needed when resolving jest functions (#​1275) (e4a5674)

    27.1.3 (2022-10-18)

    Bug Fixes

    27.1.2 (2022-10-14)

    Bug Fixes
    • valid-expect-in-promise: adjust grammar in rule message (#​1264) (4494ed2)

    27.1.1 (2022-10-05)

    Bug Fixes

    v27.1.7

    Compare Source

    Bug Fixes

    v27.1.6

    Compare Source

    Bug Fixes
    • ensure rule fixes produce valid code when function params and args have trailing commas (#​1282) (8eca0b7)

    v27.1.5

    Compare Source

    Performance Improvements
    • use Set instead of iterating, and deduplicate a function (#​1278) (0e048f1)

    v27.1.4

    Compare Source

    Performance Improvements
    • don't collect more info than needed when resolving jest functions (#​1275) (e4a5674)

    v27.1.3

    Compare Source

    Bug Fixes

    v27.1.2

    Compare Source

    Bug Fixes
    • valid-expect-in-promise: adjust grammar in rule message (#​1264) (4494ed2)

    v27.1.1

    Compare Source

    Bug Fixes

    v27.1.0

    Compare Source

    Features

    27.0.4 (2022-09-10)

    Bug Fixes

    27.0.3 (2022-09-09)

    Bug Fixes

    27.0.2 (2022-09-08)

    Bug Fixes
    • no-restricted-matchers: improve check to not be solely based on the start of the matcher chain (#​1236) (5fe4568), closes #​1235

    27.0.1 (2022-08-28)

    Bug Fixes
    • prefer-expect-assertions: report on concise arrow functions with expect call (#​1225) (64ec9c1)

    v27.0.4

    Compare Source

    Bug Fixes

    v27.0.3

    Compare Source

    Bug Fixes

    v27.0.2

    Compare Source

    Bug Fixes
    • no-restricted-matchers: improve check to not be solely based on the start of the matcher chain (#​1236) (5fe4568), closes #​1235

    v27.0.1

    Compare Source

    Bug Fixes
    • prefer-expect-assertions: report on concise arrow functions with expect call (#​1225) (64ec9c1)

    v27.0.0

    Compare Source

    Bug Fixes
    • unbound-method: don't suppress errors from base rule (#​1219) (7c1389e)
    Features
    BREAKING CHANGES
    • no-alias-methods is now recommended as the methods themselves will be removed in the next major version of Jest
    • no-jest-import: removed no-jest-import rule
    • unbound-method: errors thrown by the unbound-method base rule are no longer suppressed - really this means that if you don't specify project when this rule is enabled and @typescript-eslint/eslint-plugin is present, that error will no longer be suppressed instead of silently doing nothing; it will still not throw if this rule is enabled without the base rule being present
    • no-restricted-matchers: no-restricted-matchers now checks against the start of the expect chain, meaning you have to explicitly list each possible matcher & modifier permutations that you want to restrict
    • Support for ESLint version 6 is removed
    • Node versions 12 and 17 are no longer supported

    v26.9.0

    Compare Source

    Features

    26.8.7 (2022-08-21)

    Bug Fixes
    • prefer-expect-assertions: report on concise arrow functions (#​1207) (f928747)

    26.8.6 (2022-08-21)

    Bug Fixes
    • max-expect: reset expect counter when entering and exiting test function calls (#​1206) (3908ab8)

    26.8.5 (2022-08-20)

    Bug Fixes
    • prefer-expect-assertions: use scoped based jest fn call parser for expect checks (#​1201) (fd54ca1)

    26.8.4 (2022-08-19)

    Bug Fixes
    • prefer-mock-promise-shorthand: ignore mockImplementation functions that have parameters (#​1199) (78ccbef)

    26.8.3 (2022-08-15)

    Performance Improvements

    26.8.2 (2022-08-09)

    Bug Fixes
    • max-expects: don't count expect.<member>() calls towards max (#​1194) (75a0ff2)

    26.8.1 (2022-08-08)

    Bug Fixes
    • no-standalone-expect: only report on expect.hasAssertions & expect.assertions member calls (#​1191) (4bf9eea)

    v26.8.7

    Compare Source

    Bug Fixes
    • prefer-expect-assertions: report on concise arrow functions (#​1207) (f928747)

    v26.8.6

    Compare Source

    Bug Fixes
    • max-expect: reset expect counter when entering and exiting test function calls (#​1206) (3908ab8)

    v26.8.5

    Compare Source

    Bug Fixes
    • prefer-expect-assertions: use scoped based jest fn call parser for expect checks (#​1201) (fd54ca1)

    v26.8.4

    Compare Source

    Bug Fixes
    • prefer-mock-promise-shorthand: ignore mockImplementation functions that have parameters (#​1199) (78ccbef)

    v26.8.3

    Compare Source

    Performance Improvements

    v26.8.2

    Compare Source

    Bug Fixes
    • max-expects: don't count expect.<member>() calls towards max (#​1194) (75a0ff2)

    v26.8.1

    Compare Source

    Bug Fixes
    • no-standalone-expect: only report on expect.hasAssertions & expect.assertions member calls (#​1191) (4bf9eea)

    v26.8.0

    Compare Source

    Features

    v26.7.0

    Compare Source

    Features

    v26.6.0

    Compare Source

    Features

    26.5.3 (2022-06-06)

    Bug Fixes
    • prefer-equality-matcher: handle resolves and rejects modifiers correctly (#​1146) (0fad4df)

    26.5.2 (2022-06-06)

    Bug Fixes
    • prefer-comparison-matcher: handle resolves and rejects modifiers correctly (#​1145) (b1795ff)

    26.5.1 (2022-06-05)

    Bug Fixes
    • prefer-called-with: handle resolves and rejects modifiers correctly (#​1143) (dff1cb4)

    v26.5.3

    Compare Source

    Bug Fixes
    • prefer-equality-matcher: handle resolves and rejects modifiers correctly (#​1146) (0fad4df)

    v26.5.2

    Compare Source

    Bug Fixes
    • prefer-comparison-matcher: handle resolves and rejects modifiers correctly (#​1145) (b1795ff)

    v26.5.1

    Compare Source

    Bug Fixes
    • prefer-called-with: handle resolves and rejects modifiers correctly (#​1143) (dff1cb4)

    v26.5.0

    Compare Source

    Features

    26.4.7 (2022-06-04)

    Bug Fixes
    • no-restricted-matchers: allow restricting negated resolves and rejects modifiers (#​1142) (0950a96)

    26.4.6 (2022-05-30)

    Bug Fixes
    • no-disabled-tests: don't report on it.todo & test.todo (#​1137) (b651443)

    26.4.5 (2022-05-29)

    Bug Fixes
    • expect-expect: include numbers when matching assert function names with wildcards (#​1134) (2d0ef11)

    26.4.4 (2022-05-29)

    Bug Fixes
    • don't consider template tags in the middle of a possible jest function chain to be valid (#​1133) (430de17)

    26.4.3 (2022-05-29)

    Bug Fixes
    • don't consider method calls on literals or new to be jest functions (#​1132) (379ceb3)
    • produce valid code when when fixing properties accessed with square brackets (#​1131) (6cd600d)

    26.4.2 (2022-05-28)

    Bug Fixes
    • don't consider concurrent.skip and concurrent.only valid test functions (#​1124) (0aa5eb6)
    • no-disabled-tests: use jest function call parser for checking number of args (#​1126) (b67e389)

    26.4.1 (2022-05-28)

    Bug Fixes

    v26.4.7

    Compare Source

    Bug Fixes
    • no-restricted-matchers: allow restricting negated resolves and rejects modifiers (#​1142) (0950a96)

    v26.4.6

    Compare Source

    Bug Fixes
    • no-disabled-tests: don't report on it.todo & test.todo (#​1137) (b651443)

    v26.4.5

    Compare Source

    Bug Fixes
    • expect-expect: include numbers when matching assert function names with wildcards (#​1134) (2d0ef11)

    v26.4.4

    Compare Source

    Bug Fixes
    • don't consider template tags in the middle of a possible jest function chain to be valid (#​1133) (430de17)

    v26.4.3

    Compare Source

    Bug Fixes
    • don't consider method calls on literals or new to be jest functions (#​1132) (379ceb3)
    • produce valid code when when fixing properties accessed with square brackets (#​1131) (6cd600d)

    v26.4.2

    Compare Source

    Bug Fixes
    • don't consider concurrent.skip and concurrent.only valid test functions (#​1124) (0aa5eb6)
    • no-disabled-tests: use jest function call parser for checking number of args (#​1126) (b67e389)

    v26.4.1

    Compare Source

    Bug Fixes

    v26.4.0

    Compare Source

    Features
    • improve how jest function calls are resolved to account for import aliases (#​1122) (781f00e)

    v26.3.0

    Compare Source

    Features

    26.2.2 (2022-05-14)

    Bug Fixes
    • use the last reference definition when checking jest fn scope (#​1109) (1b2b9c1)

    26.2.1 (2022-05-14)

    Bug Fixes

    v26.2.2

    Compare Source

    Bug Fixes
    • use the last reference definition when checking jest fn scope (#​1109) (1b2b9c1)

    v26.2.1

    Compare Source

    Bug Fixes

    v26.2.0

    Compare Source

    Features

    26.1.5 (2022-04-22)

    Bug Fixes
    • prefer-expect-assertions: properly handle checking across multiple tests (#​1089) (8b61b0c)

    26.1.4 (2022-04-08)

    Bug Fixes
    • prefer-snapshot-hint: don't report multi snapshots in different tests within the same describe (#​1078) (98e5166)

    26.1.3 (2022-03-24)

    Bug Fixes

    26.1.2 (2022-03-19)

    Bug Fixes
    • prefer-snapshot-hint: support passing hint to toMatchSnapshot as first argument (#​1070) (97b1f9d)

    26.1.1 (2022-02-15)

    Bug Fixes

    v26.1.5

    Compare Source

    Bug Fixes
    • prefer-expect-assertions: properly handle checking across multiple tests (#​1089) (8b61b0c)

    v26.1.4

    Compare Source

    Bug Fixes
    • prefer-snapshot-hint: don't report multi snapshots in different tests within the same describe (#​1078) (98e5166)

    v26.1.3

    Compare Source

    Bug Fixes

    v26.1.2

    Compare Source

    Bug Fixes
    • prefer-snapshot-hint: support passing hint to toMatchSnapshot as first argument (#​1070) (97b1f9d)

    v26.1.1

    Compare Source

    Bug Fixes

    v26.1.0

    Compare Source

    Features

    v26.0.0

    Compare Source

    Bug Fixes
    BREAKING CHANGES
    • Drop support for @typescript-eslint/eslint-plugin@4

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Enabled.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type:dependencies :wrench: 
    opened by renovate[bot] 1
  • Zstd fails with Frame requires too much memory for decoding

    Zstd fails with Frame requires too much memory for decoding

    Bug Report

    Current behavior

    /usr/bin/tar -x --use-compress-program zstd -d -P -f /tmp/tmp-195888-ch6Z2OTlm0qa -C /home/github/actions-runner/_work/foo/foo
      /*stdin*\ : Decoding error (36) : Frame requires too much memory for decoding 
      /*stdin*\ : Window size larger than maximum : 1073741824 > 1342[17](https://github.com/gajus/foo/runs/5548683535?check_suite_focus=true#step:9:17)728 
      /*stdin*\ : Use --long=30 or --memory=1024MB 
      /usr/bin/tar: Child returned status 1
      /usr/bin/tar: Error is not recoverable: exiting now
    

    Expected behavior

    Compress file.

    Possible Solution

    Use --long=30 or --memory=1024MB

    opened by gajus 2
  • Make post cache step optional

    Make post cache step optional

    At the moment, if post action fails, it makes the entire workflow fail too.

    Screen Shot 2022-03-14 at 4 16 09 PM

    While I am unsure what is causing these failures, they are happening often enough for this to be a problem.

    type:bug :beetle: 
    opened by gajus 0
  • Add timing information to logs

    Add timing information to logs

    Feature Request

    Is your feature request related to a problem? Please describe.

    Current logs do not describe how long individual steps are taking.

    Screen Shot 2022-03-09 at 5 35 50 PM

    Describe the solution you'd like

    It would be nice if the logs said how long each step took, e.g.

    🔍 Searching the best cache archive available (25 seconds)
    🌐 Downloading cache archive from bucket (40 seconds)
    🗜️ Extracting cache archive (20 seconds)
    

    Teachability, Documentation, Adoption, Migration Strategy

    What is the motivation/use case for changing the behavior?

    With this information I could seek for opportunities to optimize the process.

    priority:low :snowflake: type:feature :rocket: 
    opened by gajus 1
  • Fails by simply dumping the script

    Fails by simply dumping the script

    Here is how we have it setup:

    - uses: actions/setup-node@v2
      with:
        node-version: '16'
    - name: Cache node_modules
      id: node-modules-cache
      uses: mansagroup/[email protected]
      with:
        bucket: github-action-runner-cache
        path: node_modules
        key: node_modules-${{ hashFiles('**/yarn.lock') }}
        restore-keys: node_modules-${{ hashFiles('**/yarn.lock') }}
    

    Here is how it fails:

    Screen Shot 2022-03-08 at 7 30 55 PM priority:critical :fire: type:bug :beetle: 
    opened by gajus 11
Releases(v1.0.3)
Owner
MansaGroup
MansaGroup
A cloudflare worker based REST API for your R2 bucket.

A cloudflare worker based REST API for your R2 bucket. Usage: Change the bucket_name and preview_bucket_name in wrangler.toml if you want. Set ENCRYPT

Proselog 19 Nov 7, 2022
Google-Drive-Directory-Index | Combining the power of Cloudflare Workers and Google Drive API will allow you to index your Google Drive files on the browser.

?? Google-Drive-Directory-Index Combining the power of Cloudflare Workers and Google Drive will allow you to index your Google Drive files on the brow

Aicirou 127 Jan 2, 2023
A GitHub action to submit your dependency graph from your Mill build to GitHub.

Mill Dependency Submission A GitHub action to submit your dependency graph from your Mill build to GitHub via their Dependency Submission API. The mai

Chris Kipp 6 Dec 15, 2022
🔐 Protect your Smart Contract Proxy from storage collisions upon upgrading, by running this action in a CI on each of your Pull Requests!

?? ??️ Foundry Storage Upgrade Seatbelt Protect your Smart Contract Proxy from storage collisions upon upgrading, by running this action in a CI on ea

Romain Milon 11 Dec 24, 2022
GitHub Action that posts the report in a comment on a GitHub Pull Request from coverage data generated by nyc (istanbul)

GitHub Action: Report NYC coverage GitHub Action that posts the report in a comment on a GitHub Pull Request from coverage data generated by nyc (ista

Sid 16 Nov 23, 2022
A GitHub Action that allows to debug GitHub workflows using VS Code.

VS Code Server Action A GitHub Action that allows to debug GitHub workflows using VS Code. Failing CI builds can be annoying especially since we don't

stateful 18 Dec 23, 2022
Collection of Rowy's templates for cloud functions cod snippets - including for derivative, action columns and extensions.

Rowy Templates Collection of Rowy's backend templates and code snippets for cloud functions - including for derivative, action columns and extensions.

Rowy 4 Nov 16, 2022
The officially supported cloud storage plugin for Payload CMS.

Payload Cloud Storage Plugin This repository contains the officially supported Payload Cloud Storage plugin. It extends Payload to allow you to store

Payload 43 Dec 21, 2022
Exploit chrome's profile sync for free cloud storage

BookmarkFS - the dumbest project i've ever made Exploits the google chrome bookmark sync service to store files for free Installation and usage Go to

CoolElectronics 319 Dec 30, 2022
A shared, encrypted cloud storage using Nostr.

nostr-storage A shared, encrypted cloud data store using Nostr. Installation This package is designed to work in both the browser and nodejs. <!-- Bro

cmd 10 Dec 21, 2022
Github action to collect metrics (CPU, memory, I/O, etc ...) from your workflows to help you debug and optimize your CI/CD pipeline

workflow-telemetry-action A GitHub Action to track and monitor the resource metrics of your GitHub Action workflow runs. If the run is triggered via a

Thundra 32 Dec 30, 2022
Google Cloud Platform Refresh Token

Google Cloud Platform Refresh Token gcp-refresh-token is a cli util from plasmo to retrieve a refresh token as specified in Google's OAuth 2.0 Refresh

Plasmo 3 Jun 7, 2022
Alexa Skill & Google Action code that works on AWS Lambda

Jovo v4 Sample: Alexa Skill & Google Action on AWS Lambda Website - Docs - Marketplace - Template This Jovo v4 sample app showcases the following feat

Jovo 9 Nov 22, 2022
🤖 GitHub Action which creates Issues from comments in your code

todo-issue[action] Disclosure Huge thanks to JasonEtco! After he decided to shut down his todo[bot] I've looked around for alternatives but decided to

Julian 17 Dec 11, 2022
(WIP) A GitHub action that backs up your repo's source code to IPFS.

repo-backup-ipfs A GitHub Action that backs up your repository's source code to IPFS. How to use Create a workflow file in your repository at .github/

Dhaiwat Pandya 4 Oct 9, 2022
🏏 GitHub action to split your Git release tag into SemVer 2.0 parts

?? Git Tag Action GitHub action to split your Git release tag into SemVer 2.0 parts This is a simple action to split your git tag, usually for release

Noel 5 Oct 31, 2022
(WIP) A GitHub action that backs up your repo's source code to Arweave.

repo-backup-arweave A GitHub action that backs up your repo's source code to Arweave. How to use Create a workflow file in your repository at .github/

Dhaiwat Pandya 9 Sep 11, 2022
A GitHub action to generate a stackaid.json file based on your repository's dependency graph

generate-stackaid-json A GitHub action to generate a stackaid.json file based on your repository's dependency graph This action is primarily intended

StackAid 5 Sep 15, 2022
This site compares your GitHub Profile to your friends, and analyses and tells your GitHub profile score too.

GitHub ⚔️ Duel Deployed at ?? : https://githubduel.vercel.app/ Compare your GitHub profiles with your friends It gives score to GitHub profile based o

Anshuman swain 17 Nov 21, 2022